一、知识点(必做):
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,最小值是0
public 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));
}