java学习_数组

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

27fd9447561c4358a9064e3f7d5fd345.png

ac270d319f2846e7a79bfb55c47987a2.png

 

a2810109453241d1bdff59bb95e72d7b.png

数组的长度eg.

62848208d5ef4f3794a5f809452147b5.png

 

b.应用举例

4cc69a8b068245a08d8ae157ba2a3116.png

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<scores.length;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<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("输出完毕!");

}

}

 

  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<numbers.length;i++){

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

}

}

 

 

 

 

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值