一:数组的基本用法
(1)什么是数组
数组本质上就是让我们能“批量”创建相同类型的变量。
例如: 如果需要表示两个数据, 那么直接创建两个变量即可 int a; int b 如果需要表示五个数据, 那么可以创建五个变量 int a1; int a2; int a3; int a4; int a5; 但是如果需要表示一万个数据, 那么就不能创建一万个变量了. 这时候就需要使用数组, 帮我们批量 创建.
注意:在Java中,数组中包含的变量必须是相同类型。
(2)基本语法
//动态初始化 数据类型[] 数组名称 = new 数据类型[]{初始化数据}; //在数据元素未知时 数据类型[] 数组名称 = new 数据类型 [(元素个数)] //静态初始化 数据类型[] 数组名称 = {初始化数据};
(3) 代码示例
int[] arr = new int[]{1, 2, 3}; int[] array = new int[4]; String[] array = {"hello","world"};
注意:静态初始化的时候, 数组元素个数和初始化数据的格式是一致的。
二:数组的使用
(1)代码示例:获取长度&访问元素
package Number; public class Test01 { public static void main(String[] args) { int[] arr = {1, 2, 3,4,5}; //获取数组长度:5 System.out.println("length:" + arr.length); //访问数组中的元素 System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[3]); arr[2] = 50; System.out.println(arr[2]); } }
注意: 1. 使用 arr.length 能够获取到数组的长度. . 这个 *** 作为成员访问 *** 作符. 后面在面向对象中 会经 常用到.
2. 使用 [ ] 按下标取数组元素. 需要注意, 下标从 0 开始计数
3. 使用 [ ] *** 作既能读取数据, 也能修改数据.
(2)代码示例:下标越界
int[] arr = {1, 2, 3,4,5}; //获取数组长度:5 System.out.println("length:" + arr.length); //访问数组中的元素 System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[5]);
注意:下标访问 *** 作不能超出有效范围 [0, length - 1] , 如果超出有效范围, 会出现下标越界异常
(3)代码示例:
使用下标遍历数组
int[] arr = {1, 2, 3}; //i-[0,arr.length]合法下标 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } //执行结果 1 2 3
注意:所谓 "遍历" 是指将数组中的所有元素都访问一遍, 不重不漏. 通常需要搭配循环语句.
使用for-each遍历数组
int[] arr = {1, 2, 3}; for (int b : arr) { System.out.println(b); } // 执行结果 1 2 3
注意: or-each 是 for 循环的另外一种使用方式. 能够更方便的完成对数组的遍历. 可以避免循环条 件和更新语句写错.
三:练习
已知(数组: int a[] = {2,4,3,8,7,5,6,1})
1、找到数组中的最大值
package Number; //1、找到数组中的最大值 public class Test02 { public static void main(String[] args) { int[] arr = {2,4,3,8,7,5,6,1}; int aMax = arr[0]; for(int i = 0;i
2、找到数组中的最小值
package Number; //2、找到数组中的最小值 public class Test03 { public static void main(String[] args) { int[] arr = {2,4,3,8,7,5,6,1}; int aMin =arr[0]; for(int i = 0;i < arr.length;i++){ if(aMin > arr[i]){ aMin = arr[i]; } } System.out.println(aMin); } } //输出结果:1
3、计算数组中元素之和
package Number; //3、计算数组中元素之和 public class Test04 { public static void main(String[] args) { int[] arr = {2,4,3,8,7,5,6,1}; int sum = 0; for(int i = 0;i < arr.length;i++ ) { sum += arr[i]; } System.out.println("sum = "+sum); } } //输出结果:36
4、将数组按从小到大排序(进阶)
package Number; import java.util.Arrays; //5、将数组按从小到大排序(进阶) public class Test06 { public static void main(String[] args) { int[] arr = {2,4,3,8,7,5,6,1}; Arrays.sort(arr);//排序 for(int i = 0;i < arr.length;i++ ) { System.out.println(arr[i]+"、"); } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)