Browse Source

2025年5月17日-授课代码:Java一维数组

WanJL 2 tuần trước cách đây
mục cha
commit
6b7a3ad220

+ 38 - 0
chapter01-javaSE/20250517_Java一维数组/Demo01.java

@@ -0,0 +1,38 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo01
+ * @description 数组的创建和定义
+ * @create 2025/5/17
+ */
+public class Demo01 {
+    public static void main(String[] args) {
+        //声明数组...
+        //数组类型[] 数组名;
+        int[] arr;
+        //数组类型 数组名[];
+        int arr1[];
+        //数组类型 []数组名;
+        int []arr2;
+
+        //对数组进行初始化
+        //1、动态初始化:在初始化的时候先指定数组的长度,让计算机在内存中开辟指定长度的空间。
+        //后续我们再动态的向空间赋值
+        arr=new int[10];
+
+        //2、静态初始化:在初始化的时候先指定数组中要存的数组元素。然计算机自己算内存中存了多少元素。
+        arr=new int[]{6,3,7,81,4,6,9};
+
+        int arr3[]={1,3,6,4,8,4,6,9,1,3};//属于静态初始化的简写方式
+
+
+        //对数组中的元素进行赋值:
+        arr[0]=6;
+
+        //获取数组的元素
+        int t=arr[0];
+        System.out.println(t);
+    }
+}

+ 24 - 0
chapter01-javaSE/20250517_Java一维数组/Demo02.java

@@ -0,0 +1,24 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo02
+ * @description
+ * @create 2025/5/17
+ */
+public class Demo02 {
+    public static void main(String[] args) {
+        int arr[]={1,3,6,4,8,4,6,9,1,3};
+        //数组是在内存中开辟的连续的内存空间
+        //数组中每个元素都对应一个索引值,
+        //数组索引值从0开始到数组长度-1结束。
+
+        //获取数组的长度:数组.length
+
+        //使用for循环遍历数组
+        for (int i = 0; i < arr.length; i++) {
+            System.out.println(arr[i]);
+        }
+    }
+}

+ 21 - 0
chapter01-javaSE/20250517_Java一维数组/Demo03.java

@@ -0,0 +1,21 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo03
+ * @description
+ * @create 2025/5/17
+ */
+public class Demo03 {
+    public static void main(String[] args) {
+        int[] arr=new int[3];
+        arr[0]=16;
+        arr[1]=3;
+        arr[2]=7;
+        System.out.println(arr[0]);
+        System.out.println(arr[1]);
+        System.out.println(arr[2]);
+        System.out.println(arr);
+    }
+}

+ 17 - 0
chapter01-javaSE/20250517_Java一维数组/Demo04.java

@@ -0,0 +1,17 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo04
+ * @description 空指针异常 数组下标越界异常
+ * @create 2025/5/17
+ */
+public class Demo04 {
+    public static void main(String[] args) {
+        int[] arr=null;
+        System.out.println(arr[3]); //空指针异常
+        int[] arr1=new int[2];
+        System.out.println(arr1[3]);    //数组下标越界异常
+    }
+}

+ 21 - 0
chapter01-javaSE/20250517_Java一维数组/Demo05.java

@@ -0,0 +1,21 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo05
+ * @description 数组获取最大值:从数组的所有元素中找到最大值
+ * @create 2025/5/17
+ */
+public class Demo05 {
+    public static void main(String[] args) {
+        int[] arr={15,6,4,163,49,8,1,68,49};
+        int max=0;
+        for (int i = 0; i < arr.length; i++) {  //遍历数组
+            if(arr[i]>max){ //判断如果一个数组元素大于最大值
+                max=arr[i];//就把这个元素赋值给max
+            }
+        }
+        System.out.println("数组中最大的元素是:"+max);
+    }
+}

+ 24 - 0
chapter01-javaSE/20250517_Java一维数组/Demo06.java

@@ -0,0 +1,24 @@
+package com.loveCoding.j20250517_java_array;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo06
+ * @description 数组元素求和:键盘录入5个整数,存储到数组中,并对数组求和
+ * @create 2025/5/17
+ */
+public class Demo06 {
+    public static void main(String[] args) {
+        int[] arr=new int[5];   //定义一个长度为5的数组,动态初始化,不先赋值元素
+        Scanner sc=new Scanner(System.in);  //创建键盘输入对象Scanner
+        int sum=0;//定义一个用来存元素和的变量
+        for (int i = 0; i < arr.length; i++) {  //循环遍历。
+            System.out.println("请输入第"+(i+1)+"个元素:");
+            int v=sc.nextInt();//输入整数
+            sum+=v;//把整数累加到sum中
+        }
+        System.out.println("数组的和为:"+sum);
+    }
+}

+ 27 - 0
chapter01-javaSE/20250517_Java一维数组/Demo07.java

@@ -0,0 +1,27 @@
+package com.loveCoding.j20250517_java_array;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo07
+ * @description 数组的基本查找:
+ * 已知一个数组 arr = {19, 28, 37, 46, 50};
+ * 键盘录入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值。
+ * @create 2025/5/17
+ */
+public class Demo07 {
+    public static void main(String[] args) {
+        int[] arr = {19, 28, 37, 46, 50};
+        Scanner sc=new Scanner(System.in);
+        int in=sc.nextInt();
+        for (int i = 0; i < arr.length; i++) {
+            if(arr[i]==in) {
+                System.out.println(i);
+                return; //结束整个方法--截停整个方法代码的执行
+            }
+        }
+        System.out.println(-1);
+    }
+}

+ 44 - 0
chapter01-javaSE/20250517_Java一维数组/Demo08.java

@@ -0,0 +1,44 @@
+package com.loveCoding.j20250517_java_array;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo08
+ * @description 评委打分
+ * - 需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
+ *       选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
+ * @create 2025/5/17
+ */
+public class Demo08 {
+    public static void main(String[] args) {
+        //创建数组,长度为6
+        int[] arr=new int[6];
+        Scanner sc=new Scanner(System.in);
+        //第1个循环,循环输入
+        for (int i = 0; i < arr.length; i++) {
+            System.out.println("第"+(i+1)+"位评委打分:");
+            int v= sc.nextInt();
+            arr[i]=v;
+        }
+        int max=arr[0],min=arr[0],sum=0,svg=0;
+        //第2个循环,求最大值、最小值、总和、平均分
+        for (int i = 0; i < arr.length; i++) {
+            //求最大值
+            if (arr[i]>max)
+                max=arr[i];
+            //求最小值
+            if(arr[i]<min)
+                min=arr[i];
+            //求累加和
+            sum+=arr[i];
+        }
+        //求平均分
+        svg=sum-max-min/(arr.length-2);
+        System.out.println("总分为:"+sum);
+        System.out.println("最高分为:"+max);
+        System.out.println("最低分为:"+min);
+        System.out.println("平均分为:"+svg);
+    }
+}