一、静态初始化数组
完整格式:数据类型[ ] 数组名 = new 数组类型[ ]{元素1, 元素2, 元素3, ...};
如:int [ ] ages = new int[ ]{12,24,36};
简化格式:数组类型[ ] 数组名 = {元素1, 元素2, 元素3, ...};
如:int[ ] ages = {12, 24, 36};
注意:“数组类型[ ] 数组名” 也可以写成 “数据类型 数组名[ ] ”
什么类型的数组只能存放什么类型的数据
数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型
1、数组的访问
int[] arr = {12,24,36};
arr[0] = 12;
数组的长度:arr.length
数组索引的长度: arr.length-1
2、数组的遍历
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
二、动态初始化数组
定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组长度
数组的动态初始化格式:数组类型[ ] 数组名 = new 数组类型[长度];
如:int[ ] arr = new int[3];
三、数组内存的执行原理
四、数组
1、求数组的最大值
public class Main { public static void main(String[] args) { int arr[] = {15, 9000, 2000, 15000, 4569, -5}; int max = arr[0]; for(int i = 0; i < arr.length; i++){ if(arr[i] > max){ max = arr[i]; } } System.out.println("最大值是:"+max); } }
2、数组反转
public class Main { public static void main(String[] args) { int[] arr = {10,20,30,40,50}; for (int i = 0, j = arr.length-1; i < j; i++, j--) { int t = arr[j]; arr[j] = arr[i]; arr[i] = t; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }
3、随机排名
import java.util.Random; import java.util.Scanner; public class Main { public static void main(String[] args) { int[] arr = new int[5]; for (int i = 0; i < arr.length; i++) { Scanner sc = new Scanner(System.in); System.out.println("请输入当前第"+(i+1)+"个员工的工号:"); int code = sc.nextInt(); arr[i] = code; } Random r = new Random(); for (int i = 0; i < arr.length; i++) { int index = r.nextInt(arr.length); int t = arr[index]; arr[index] = arr[i]; arr[i] = t; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }