java数组长度是7_java(7)数组

一、什么是数组及其作用?

定义:具有相同数据类型的一个集合

作用:存储连续的具有相同类型的数据

二、java中如何声明和定义数组

2.1 声明和定义的语法:

数据类型[ ] 数组名;( int[ ] nums ; )

或 数据类型 数组名[];  ( int nums[ ] ;)

2.2 为数组分配空间

数组名=new 数据类型[数组的长度]; ( nums=new int[5] ;)

2.3 声明数组,同时分配空间

数据类型[]数组名= new 数据类型[数组的长度];

数据类型 数组名[]=new 数据类型[数组的长度];

( int[ ] nums=new int[5] ;)   ( int nums[ ]=new int[5] ;)

三、 如何读取数组中的元素— 通过下标(索引)来获取

下标(索引)是从0开始,最大下标为数组长度-1

下标越界:ArrayIndexOutOfBoundsException

int类型的数组,每个元素的默认值为0

String类型的数组,每个元素的默认值为null

3.1、获取单个元素的值

数据类型 变量名=数组名[下标];

3.2、循环读取数组中的每个元素

数组的长度:数组名.length属性自动计算

for(int i=0;i

数组名[i];

}

四、如何给数组中的元素赋值

方式1(赋予数组固定值):

声明数组,分配空间,并赋值

(数组的长度由值的个数决定)

数据类型  数组名[]=new 数据类型[]{值1,值2…值n};

数据类型 []数组名={值1,值2…值n};

说明:[]中括号可以放在数组名前面或后面

方式2:动态的给数组赋值(从键盘中输入)

Scanner  input = new Scanner(System.in);

for(int i=0;i

String类型的数组名[i]= input.next ();

int类型的数组名[i]= input.nextInt ();

double类型的数组[i]=input.nextDouble();

}

五、求数组中最值的位置

1、在循环的外面,定义变量k(赋值为0),用于保存最值的下标

2、在循环中,比较找出最值的同时,给变量k赋值

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public classPractice1 {2 public static voidmain(String[] args){3 int[] grade= new int[5];4 int max=0;5 Scanner input = newScanner(System.in);6 System.out.println("请输入5位学员的成绩:");7 for(int i=0;imax){13 max=grade[i];14 }15 }16 System.out.println("考试成绩最高分为:"+max);17 }18 }

示例1

运行结果:如图:

813f588d0e9114ef6133e5b2c92cfc76.png

六、求最大值或最小值

实现思路:将数组中的第1个元素的值,假想成最大(小)值【赋值】;然后数组中的每个元素和假想的这个最大(小)数进行比较,如果数组中的某个元素的值,比最大(小)数要大(小),将该元素的值,保存到假想的最大(小)值对应的变量中【给假想最值变量赋值】

七、数组排序问题

使用Arrays. sort(数组名);

实现对数组中的元素按升序或降序输出

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public classpractice2 {2 public static voidmain(String[] args){3 int[] a={5,4,2,9,1};4 Arrays.sort(a); //进行排序

5 for(inti: a){6 System.out.print(i+"\t");7 }8 }9 }

示例2

运行结果:如图:

a872b7a5e44132a017f389e73f8a522f.png

八、斐波那契数列

1,1,2,3,5,8,13,21,34……求第20个数字的值?(使用循环)

规律:第i个 + 第(i+1)个 = 第(i+2)个

步骤1:定义数组,数组长度为20

int []nums=new int[20];

步骤2:根据规律,获取第0个和第1个数的初值

nums[0]=1;

nums[1]=1;

步骤3:通过循环,给数组中的所有元素赋值

for ( int i=0;i

nums [i+2]=nums[i]+nums[i+1];

}

for(int i=2;i

nums[i]=nums[i-2]+nums[i-1];

}

步骤4:输出nums[19]的值

九、已知1个按升序或降序排列的数组,向该数组中,插入一个新的值,插入成功后,数组仍然按照升序或降序排列?

1、 设置插入位置变量index的初始值为:数组长度-1;

2、 使用第1个循环,让插入的数值和数组中的每个元素进行比较,如果插入的数值比数组中某个元素的值要大或小,把该元素的下标的值, 赋予插入位置变量index,同时终止循环

3、 使用第2个循环,移动位置,从【数组长度-2】到【插入位置变量index】

4、 将插入的值,保存到数组下标为index的位置

5、 使用第3个循环,输出数组所有元素的值,同时输出新值插入的位置

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public classPractice4 {2 public static voidmain(String[] args){3 int[] ming =new int[6];4 ming[0]=98;5 ming[1]=85;6 ming[2]=82;7 ming[3]=63;8 ming[4]=60;9 int index=ming.length;10 System.out.println("请输入新增成绩:");11 Scanner input = newScanner(System.in);12 int num=input.nextInt();13 for(int i =0;iming[i]){15 index =i;16 break;17 }18 }19 for(int j=ming.length-1;j>index;j--){20 ming[j]=ming[j-1];21 }22 ming[index] =num;23 System.out.println("插入成绩的下标是:"+index);24 System.out.println("插入后的成绩信息是:");25 for(int l=0;l

示例3

运行结果:如图:

0cada57afaad6f4ab05d9ed02b41052e.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值