//完整格式
//数据类型[] 数组名 = new 数据类型[]{元素1,元素2 ,元素3… };
double[] scores = new double[]{89.9, 99.5, 59.5, 88.0};
int[] ages = new int[]{12, 24, 36};
//简化格式
//数据类型[] 数组名 = { 元素1,元素2 ,元素3,… };
int[] ages = {12, 24, 36};
【注意】:数组变量名中存储的数组在内存中的地址,数组是引用类型。
//数组名称[索引]
// 取值
System.out.println(arr[0]);
// 赋值
arr[2] = 100;
System.out.println(arr[2]); // 100
数组的长度属性:length
//数组.length
System.out.println(arr.length);
int[] ages = ...; //大众写法
int ages[] = ...;
什么类型的数组存放什么类型的数据,否则报错
数组一旦定义出来,程序执行的过程中,长度、类型就已经是固定的。
//动态初始化格式:
//数据类型[] 数组名 = new 数组类型[数组长度];
int[] arr = new int[10];
两种初始化的使用场景、注意说明:
int[] ages = {20, 30, 40, 50};
for (int i = 0; i < ages.length; i++) {
System.out.println(ages[i]);
}
需求:某部门 5 名员工的销售额分别是:16、26、36、6、100,请计算出他们部门的总销售额度。
int[] soles = {16,26,36,6,100};
int sumSole = 0;
for (int i = 0; i < soles.length; i++) {
sumSole += soles[i];
}
System.out.println("总销售额为:"+sumSole);
int[] apperances = {15,9000,10000,20000,9500,-5};
int max = apperances[0];
for (int i = 1; i < apperances.length; i++) {
max = max < apperances[i] ? apperances[i] : max;
}
System.out.println("最大值为:"+max);
需求:游戏后台随机生成1-20之间的5个数字(无所谓重复),然后猜数字
Random random = new Random();
Scanner input = new Scanner(System.in);
int[] randomNumbers = new int[5];
for (int i = 0; i < randomNumbers.length; i++) {
randomNumbers[i] = random.nextInt(20)+1;
}
OUT:
while(true){
System.out.println("请出入猜测的数字:");
int guessNumber = input.nextInt();
for (int i = 0; i < randomNumbers.length; i++) {
if(guessNumber==randomNumbers[i]){
System.out.println("恭喜猜对!,该数字的索引为:"+i);
break OUT;
}
}
System.out.println("没有猜中,请继续");
}
for (int i = 0; i < randomNumbers.length; i++) {
System.out.println(randomNumbers[i]);
}
需求:某供词开发部 5 名开发人员,要进行项目进展汇报,现在采取随机排名后进行汇报。请先一次录入 5 名开发人员的工号,然后展示出一组随机的排名顺序。
public class Test10 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] staffNumbers = new int[5];
for (int i = 0; i < staffNumbers.length; i++) {
System.out.println("请出入第"+(i+1)+"名员工的工号");
staffNumbers[i] = input.nextInt();
}
Random random = new Random();
for (int i = 0; i < staffNumbers.length; i++) {
int randomIndex = random.nextInt(staffNumbers.length);
int temporary = staffNumbers[randomIndex];
staffNumbers[randomIndex] = staffNumbers[i];
staffNumbers[i] = temporary;
}
for (int i = 0; i < staffNumbers.length; i++) {
System.out.print(staffNumbers[i]+"\t");
}
}
}