一、数组
定义:
- 储存一个元素固定且元素类型相同的有序集;
- 减少内存中变量搜索的时间;
- 数组中的第一个元素的索引为0.
数组的意义
- 同时存储多个同类型的变量和对象
创建数组
声明数组
数据类型 [ ] 数组名(Java中推荐用这种)int [] grade;
创建数组的空间大小
grade =new int[31];
或者
int [] grade=new int[31];
- 在内存中开辟了空间,空间大小为:int;
- 对象在堆中,变量在栈中;
- 其他内型同样的道理;
数组的长度
int len =数组名.length
可以求出数组的长度;
数组的初始化
String []str={"张金","金涛","邓敏","戴尚龙","刘翔"};
System.out.println("该数组的长度:"+str.length);
或者
String [] str=new String []{"张金","金涛","邓敏","戴尚龙","刘翔"};
System.out.println("该数组的长度:"+str.length);
同样是数组的初始化;
求出数组的长度为5;
- 如果没有规定数组的长度,那么数组的长度为内容的长度;
实例:
import java.util.Scanner;
//五个学生成绩的最大值
public class grade {
public static void main(String[] args) {
double max=0;
int m=0;
Scanner s=new Scanner(System.in);
for(int i=0;i<5+m;i++){
double [] grade=new double[5+m];
System.out.println("请输入第"+(i+1-m)+"个成绩:");
double temp=s.nextDouble();
if(temp<0||temp>100){
System.out.println("请重新输入该成绩");
m++;
continue;
}
grade[i]=temp;
if(grade[i]>max){
max=grade[i];
}
}
System.out.println("五个学生的最大值为:"+max);
s.close();
}
}
二、二维数组
import java.util.Scanner;
//4位同学的Java、sql、html、js成绩的平均值和每门课程的平均值
public class test2 {
public static void main(String[] args) {
double [][] grade=new double[5][5];
double sum1=0;
double sum2=0;
String [] str=new String[]{"java","sql","html","js"};
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
System.out.print("请输入第"+(i+1)+"位同学的"+str[j]+"成绩");
Scanner s=new Scanner(System.in);
grade[i][j]=s.nextDouble();
sum1+=grade[i][j];
sum2+=grade[j][i];
}
grade[i][4]=sum1/4;
grade[4][i]=sum2/4;
sum1=0;
sum2=0;
}
for(int k=0;k<4;k++){
System.out.println("第"+(k+1)+"位同学的平均成绩"+grade[k][4]);
}
for(int n=0;n<4;n++){
System.out.println(str[n]+"的平均成绩为"+grade[4][n]);
sum2=0;
}
}
}