- 数组的储存原理
- java内存分配
- 数组名.length
- 动态初始化
- 数组的初始化
- 静态初始化
数组的长度eg.
b.应用举例
c.在java中多个数组之间是可以相互赋值的。
eg. int []arr2 = {1,2,3,4,5,6,7}
int [] arr1=arr2;
数组案例:
- 数组的初始化
- 数组的访问
- 数组的遍历
importjava.util.Scanner;
publicclassJavaDemoDay3{
publicstaticvoidmain(String[]args){
//数组的初始化,访问以及遍历
//数组的两种初始化方法:静态初始化;动态初始化;两者的区别是:是否在定义数组时对其初始化
//静态初始化,并访问,遍历数组
int[]ages=newint[]{12,24,36};
for(inti=0;i<3;i++){
System.out.println(ages[i]);
}
System.out.println("-------------------------");
//动态初始化,并遍历数组
int[]names=newint[10];
Scannersc=newScanner(System.in);
for(inti=0;i<10;i++){
intr=sc.nextInt();
names[i]=r;
}
for(inti=0;i<10;i++){
System.out.println(names[i]);
}
//两个循环其实可以用一个
}
}
- 示例:评委打分,并计算选手的最终分数。
importjava.util.Scanner;
publicclassJavaDemoDay4ArrayText{
publicstaticvoidmain(String[]args){
//需求:歌唱比赛,六名评委对选手打分,计算选手的得分以及最终的平均分
double[]scores=newdouble[6];
Scannersc=newScanner(System.in);
//记录总分然后算平均分
doublesum=0;
for(inti=0;i<scores.length;i++){
System.out.println("请输入第"+(i+1)+"名评委的打分:");
scores[i]=sc.nextDouble();
sum+=scores[i];
}
doublescore_last=sum/6;
System.out.println("最终得分为:"+score_last);
}
}
- 示例:数组反转
importjava.util.Scanner;
publicclassJavaDemoDay4ArrayText2{
publicstaticvoidmain(String[]args){
//实现数组的反转
int[]array=newint[10];
Scannersc=newScanner(System.in);
for(inti=0;i<10;i++){
System.out.println("请您输入这十个数据,第"+(i+1)+"个为:");
array[i]=sc.nextInt();
if(i==9)
System.out.println("输入完毕,反转后的数组为:");
}
for(inti=0,j=array.length-1;i<j;i++,j--){
inttemp=array[i];
array[i]=array[j];
array[j]=temp;
}
for(inti=0;i<10;i++){
System.out.println(array[i]);
}
System.out.println("输出完毕!");
}
}
- 示例:找出数组中的最值
importjava.util.Scanner;
publicclassJavaDemoDay4ArrayText1{
publicstaticvoidmain(String[]args){
double[]FaceScores=newdouble[6];
Scannersc=newScanner(System.in);
for(inti=0;i<5;i++){
System.out.println("请您输入五位明星的颜值分数,第"+(i+1)+"位的分数为:");
FaceScores[i]=sc.nextDouble();
}
doublemax_scores=FaceScores[0];
for(inti=0;i<5;i++){
if(FaceScores[i]>max_scores)
max_scores=FaceScores[i];
}
System.out.println("您所输入的几人中,颜值最高的是分数为:"+max_scores+"的明星!");
}
}
- 示例:随机排序
importjava.util.Random;
importjava.util.Scanner;
publicclassJavaDemoDay4ArrayText3{
publicstaticvoidmain(String[]args){
//对数组中的元素进行随机排序
//1.利用数组储存几名员工的工号
//2.遍历数组,对遍历到的每一个数组元素都生成一个随机的索引,让当前元素与生成索引处的元素进行交换
int[]numbers=newint[10];
Scannersc=newScanner(System.in);
System.out.println("请您输入十个人的编号:");
for(inti=0;i<10;i++){
numbers[i]=sc.nextInt();
}
Randomr=newRandom();
System.out.println("随机排序后的数组为");
for(inti=0;i<10;i++){
inttemp=numbers[i];
intm=r.nextInt(10);
numbers[i]=numbers[m];
numbers[m]=temp;
}
//3.遍历排好的数组
for(inti=0;i<numbers.length;i++){
System.out.println(+numbers[i]);
}
}