/* 练习数组的静态初始化; 静态初始化: 在创建数组的时候,直接给数组中的数据写上内容;(不能指定长度,直接指定每一个元素值,由java自动计算长度) 格式: 数据类型[] 数组名 = {数1,数2,....}; */ public class Test01 { public static void main(String[] args) { // 定义一个能装 多个字符串数据的数组 String[] s = {"刘亚","柳岩","杨幂"}; // 直接打印数组的名字,看到的并不是数组中的每一个内容,而是这个数组容器整体的"位置"(地址值) System.out.println(s); double[] arr1 = {1.1,2.2}; System.out.println(arr1); int[] arr2 = {5,6,7}; System.out.println(arr2); // java的输出语句给字符数组开了一个后门,直接打印字符数组的时候,java会自动将内容展示出来,看到的不是地址值 char[] arr3 = {'你','我','他'}; System.out.println(arr3); } }
输出如下图:
/* 练习数组的元素操作; 存值: 数组名[索引号] = 数据值; 取值: 数组名[索引号] 取值后本质上得到的是一个具体的数据,因此可以对这个数据进行任意操作,例如: 打印,给某个变量赋值,运算.... */ public class Test02 { public static void main(String[] args) { double[] arr = {1.1,2.2,3.3,4.4}; // 取出2.2这个元素并打印 System.out.println(arr[1]); // 将3.3修改为6.6 arr[2] = 6.6; // 取出2索引位置的元素并打印 System.out.println(arr[2]); // 打印数组的长度 System.out.println(arr.length); // 获取数组中的5索引位置的元素并打印 System.out.println(arr[5]);// 会发生索引越界异常,需要将索引号修改为合法的值即可 } }
/* 数组的遍历 逐个操作 */ public class Test03 { public static void main(String[] args) { int[] arr = {5,6,7,8,9}; // 对数组arr进行遍历取值并打印 System.out.println(arr);// 看到的是地址值 // 遍历 for (int i = 0; i < arr.length ; i++) { // 使用数组名配合索引号即可获取每一个元素 System.out.println(arr[i]); } System.out.println("--------------------"); // 遍历小数数组 double[] arr2 = {3.3,4.4,5.5,6.6}; for (int i = 0; i < arr2.length ; i++) { // 取值并存到某个变量中 double a = arr2[i]; System.out.println(a); } System.out.println("======================="); for (int i = arr2.length-1; i>=0 ; i--) { System.out.println(arr2[i]); } } }
/* 练习数组的动态初始化入门 概述: 创建数组的时候,仅指定数组的长度,不指定数组的内容;(数组一旦创建成功,长度不可以改变,内容是由java默认的!) 格式: 数据类型[] 数组名 = new 数据类型[长度]; */ public class Test05_1 { public static void main(String[] args) { // 创建一个长度为3的整数数组 int[] arr1 = new int[3]; // arr1表示的是数组的名字,记录的是数组整体的地址值 System.out.println(arr1); // 使用数组名配合索引好,操作数组中的每一个元素 System.out.println(arr1[0]); System.out.println(arr1[1]); System.out.println(arr1[2]); // 修改1索引位置的数据为666 arr1[1] = 666; System.out.println(arr1[1]); } } 输出如下图:
/* 演示多个变量指向同一个数组内存 */ public class Test01 { public static void main(String[] args) { // 创建了一个内容为 1,2,3的数组,将数组的地址值赋值给了 arr1 int[] arr1 = {1,2,3}; // 将变量arr1记录的地址值复制一份,交给了arr2一份 int[] arr2 = arr1; System.out.println(arr1); System.out.println(arr2); // 使用arr2记录的地址值,配合1索引,对堆内存中的数据进行修改 arr2[1] = 666; System.out.println(arr1[1]);// 666 // 使用arr1记录的地址值配合索引1取值 System.out.println(arr2[1]);// 666 // 使用arr2记录的地址值配合索引1取值 // 强行的将arr2变量记录的地址值抹去;(断开关联) arr2 = null; System.out.println(arr2[0]);// null是无法找0索引的,就会出异常 System.out.println(arr2.length);//null是无法找数组的长度的,就会出异常 } }
输出如下图: