java学习_数组

  • 数组的储存原理
    1. java内存分配
  • 数组名.length
  • 动态初始化
  • 数组的初始化
    1. 静态初始化

java学习_数组_第1张图片

java学习_数组_第2张图片

 

java学习_数组_第3张图片

数组的长度eg.

java学习_数组_第4张图片

 

b.应用举例

java学习_数组_第5张图片

c.在java中多个数组之间是可以相互赋值的。

 eg.   int []arr2 = {1,2,3,4,5,6,7}

int [] arr1=arr2;

 

数组案例:

  1. 数组的初始化
  2. 数组的访问
  3. 数组的遍历

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]);

}

//两个循环其实可以用一个

}

}

 

  1. 示例:评委打分,并计算选手的最终分数。

importjava.util.Scanner;

 

publicclassJavaDemoDay4ArrayText{

publicstaticvoidmain(String[]args){

//需求:歌唱比赛,六名评委对选手打分,计算选手的得分以及最终的平均分

double[]scores=newdouble[6];

Scannersc=newScanner(System.in);

//记录总分然后算平均分

doublesum=0;

for(inti=0;i

System.out.println("请输入第"+(i+1)+"名评委的打分:");

scores[i]=sc.nextDouble();

sum+=scores[i];

}

doublescore_last=sum/6;

System.out.println("最终得分为:"+score_last);

 

}

}

  1. 示例:数组反转

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

inttemp=array[i];

array[i]=array[j];

array[j]=temp;

}

for(inti=0;i<10;i++){

System.out.println(array[i]);

}

System.out.println("输出完毕!");

}

}

 

  1. 示例:找出数组中的最值

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+"的明星!");

}

}

 

  1. 示例:随机排序

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

System.out.println(+numbers[i]);

}

}

 

 

 

 

你可能感兴趣的:(java,学习,java)