数组的应用
第一次接触数组。
数组的语法:
1.声明数组:
数据类型 [] 数组名
int []scores; double []height; String[]names;
2.分配空间:虽然上面已经声明了数组,但是并能够使用。因为还没有为数组分配内存空间。分配空间就是告诉计算机在内存中分配一些连续的空间来存储数据。
数组名=new 数据类型[数组长度]就是存放的------(元素个数)
scores=new int[ 3];//长度为30的int类型数组
height=new double [30];//长度为30的double类型的数组
names=new String [30];//长度为30的String类型的数组
将两部合并,即在声明数组的同时,就给他分配空间:
数据类型[]数组名=new 数据类型[];
int scores[]=new int [30];//储存30个学员的成绩
声明了一个数组的大小就不能修改了,比如现在数组的长度为30,若想要加入31个成绩,则需要重新 声明新的数组。
3.赋值。
数组名[下标值]
scores[0]=78;
scores[1]=89;
scores[2]=70;
当然这样的声明赋值,开空间可以简化成一行:
数据类型[]数组名={值1,值2,值3,。。。};
int []scores={10,20,30,40,50};
同时也等价于int []scores=new int []{10,20,30,40,50};
这样数组的简单介绍就结束了,现在我们kan yi kan 数组的常见应用和经典案例。
首先,yong数组求平均分
计算5名学生的 平均分
1 /**
2 * 计算5名学生的 平均分
3 */
4 public class PingJun {
5 public static void main(String[]args){
6 int []score={56,90,78,99,100};//成绩数组
7 for (int i = 0; i < score.length; i++) {
8 System.out.println(score[i]);
9 }
10 int sum=0;
11 for (int i = 0; i < score.length; i++) {
12 sum=sum+score[i];
13 }//for
14 int avg=sum/5;
15 System.out.println("五位同学的平均分为:"+avg);
16 }
17
18 }
数组排序
应用语法: Arrays.sort(数组名)
1 import java.util.Arrays;
2 /*
3 * 五位同学的成绩升序排列
4 * */
5 public class Paixusheng {
6 public static void main (String[]args){
7 int []score={90,45,67,96,35};
8 System.out.println("排序前的成绩:");
9 for (int i = 0; i < score.length; i++) {
10 System.out.println(score[i]+"\t");
11 }
12 System.out.println("排序后的成绩:");
13 Arrays.sort(score);//对数组进行升序排列
14 for (int i=0 ; i < score.length; i++) {
15 System.out.print(score[i]+"\t");
16 }
17
18 }
19 }
利用打擂算法求最大值
import java.util.Scanner;
/*
* 求最大值
* 五名同学
* */
public class ZuiDazhi {
public static void main (String[]args){
int []scores=new int [5];//声明数组
Scanner input=new Scanner(System.in);
System.out.println("请输入五位同学的成绩");
for (int i = 0; i < scores.length; i++) {
scores[i]=input.nextInt();
}
int max=scores[0];
for (int i = 0; i < scores.length; i++) {
if(scores[i]>max){
max=scores[i];
}//if
}//for
System.out.println("最大值"+max);
}
}
向数组中插入元素
import java.util.Scanner;
/*
* 向数组中插入元素
* */
public class ChaRuyuansu {
public static void main(String[]args){
Scanner input=new Scanner(System.in);
int []score={50,40,30,20,10,0};
int index=score.length-1;
System.out.println("请输入插入的成绩");
int num=input.nextInt();
for (int i = 0; i < score.length;i++) {
if (num>score[i]){
index=i;
break;
}//if
}
for (int j = score.length-1; j >index; j--) {
score[j]=score[j-1];
}
score[index]=num;
System.out.println("输出插入的下标"+index);
System.out.println("插入后的成绩");
for (int k = 0; k < score.length; k++) {
System.out.print(score[k]);
}
}
}