一、知识点(必做):
ArrayDemo1.java(重点)
需求:定义数组和数组的静态初始化操作
步骤:
(1)先定义后初始化数组(不能使用简写方式)
(2)定义数组,同时初始化
(3)打印数组长度
(4)数组赋值为空,并演示空指针错误
(5)请在纸上画出以上代码的内存分析图
public class ArrayDemo1 {public static void main(String[] args) {int[] a = {1, 2, 3};int[] b = null;System.out.println(a.length);System.out.println(b.length);}}//空指针错误Exception in thread "main" java.lang.NullPointerException: Cannot read the array length because "b" is null
ArrayDemo2java(重点)
需求:数组的动态初始化和内存分析
步骤:
(1)动态初始化数组,并打印数组长度
(2)重新初始化数组,并打印数组长度
(3)请在纸上画出以上代码的内存分析图
public class ArrayDemo2 {public static void main(String[] args) {int[] nums = new int[4];;System.out.println(nums.length);nums = new int[7];System.out.println(nums.length);}}
ArrayDemo3.java(重点)
需求:数组的基本操作
步骤:
(1)定义一个数组nums,并静态初始化该数组
(2)定义一个变量size获取nums的数组长度
(3)获取数组元素
(4)设置数组元素
(5)遍历数组
public class ArrayDemo3{public static void main(String[] args){int[] nums={1,2,3};int size=nums.length;for(int index=1;index<size;index++){System.out.println("当前数是第"+index+"个数是"+nums[index]);}}}
ArrayDemo4.java(预习题)
需求:找出数组值元素22,在数组中第一次出现的索引位置
步骤:
(1)定义一个数组nums,并初始化该数组
(2)定义一个变量key,表示被搜索的元素
(3)遍历数组
(4)判断如果当前元素和key相等,证明找到元素,打印并结束循环
public class ArrayDemo4{public static void main(String[] args){int[] nums = {1, 2, 3, 4, 22, 3, 22};int key = 22;for (int index = 0; index < nums.length; index++) {if (nums[index] == 22) {System.out.println("数组值元素22,在数组中第一次出现的位置" + index);break;}}}}
ArrayDemo5.java(预习题)
需求:求出int类型数组中最大元素值
步骤:
(1)定义并初始化数组nums
(2)定义一个变量max表示最大的元素,并假设nums的第一个元素为最大值
(3)使用foreach循环遍历nums数组
(4)判断如果遍历的元素和max比较,遍历的元素比较大,就将当前元素赋值给max
(5)遍历完成打印max
public class ArrayDemo5 {public static void main(String[] args){int[] nums= {26,1,23,4,5,7};int max=26;for(int index=0;index<nums.length;index++){if(nums[index]>26){nums[index]=max;}System.out.println(max);break;}}}
ArrayDemo6.java(预习题)
需求:按照某种格式来打印出数组中的元素,打印效果为:[11,22,33,44,22,55]
步骤:
(1)定义并初始化数组nums
(2)定义一个字符串类型的变量str,用于拼接字符串
(3)遍历数组并拼接元素到str
(4)判断为最后一个元素拼接“]”,否则拼接“,”
(5)打印str
public class ArrayDemo6 {public static void main(String[] args) {int[] nums = {11, 22, 33, 44, 22, 55};String str = "[ ";//str 结果表示字符串,先拼一个符号"["for (int index = 0; index < nums.length; index++) {//把每一个元素拼接在src后面str = str + nums[index];//如果是最后一个元素,则不拼接,而是"]"if (index == nums.length - 1) {str = str + "]";} else {//如果不是最后一个元素拼接","str = str + ",";}}System.out.println(str);}}
二、综合练习(必做):
LocationDemo.java
需求:定义一个 int 类型数组,求出该数组索引是偶数的元素之和
思路:注意区分索引和元素

// step 1// step 2// step 3// step 4// step ...public class LocationDemo {public static void main(String[] args) {int[] numArr = new int[]{11, 22, 33, 44, 55};int sum = 0;for (int index = 0; index < numArr.length; index++) {if (index % 2 == 0) {System.out.println("是第" + index + "个,元素为" + numArr[index]);sum += numArr[index];}}System.out.println("该数组**索引是偶数**的元素之和" + sum);// item 是数组大括号里面的元素值// index是数组下标,最大值是数组值长度length-1,最小值是0}}
ReversedDemo.java
需求:定义一个元素为String类型数组,按照逆序打印该数组的每个元素,例如
数组内容为:{“A”,”B”,”C”,”D”} , 打印效果为:D C B A
// step 1// step 2// step 3// step 4// step ...// item 是数组大括号里面的元素值// index是数组下标,最大值是数组值长度length-1,最小值是0public class ReversedDemo {public static void main(String[] args) {// 定义一个string数组,数组内容为{"A","B","C","D"};String[] sxx = {"A", "B", "C", "D"};// 数组的遍历for (int index= sxx.length - 1; index>-1 ; index--) {// 打印数组的每个元素System.out.println(sxx[index]);}}}
StatisticsDemo.java
需求:定义一个 int 类型,长度为2的数组,其索引 0 位置存放指定数组索引为偶数的元素之和,索引 1 位置存放指定数组索引为奇数元素之和。
参考图:

// step 1// step 2// step 3// step 4// step ...public class StatisticsDemo {public static void main(String[] args) {//定义一个数组长度为2的int数组//定义一个int数组int[] axx = new int[]{10, 20, 30, 40, 50, 60, 70, 80};int[] axx1 = new int[2];int sum=0;int sum2=0;//数组的遍历for (int i = 0; i < axx.length; i++) {//if判断是否是偶数位if (i % 2 == 0) {//求元素下标是偶数元素之和sum+=axx[i];}else{//求元素下标是奇书元素之和sum2 +=axx[i];}}//打印奇数和,偶数和System.out.println(sum);System.out.println(sum2);axx1[0]=sum;axx1[1]=sum1;System.out.println("结果数组"+Arrays.toString(axx1));}
