数组的概念:存储大量相同的数据类型数据的容器
特点:1.空间连续 2.类型单一 3 .长度固定
数组的定义;
一.静态初始化
使用范围:在数组的值确定的情况下适用静态初始化
数据类型 数组名称[ ] = { 数据列表};
数据类型 数组名称[ ] = new 数据类型[ ]{ 数据列表}
例如:int array[ ] ={1,5,7,6,2,3,9};
int array[ ] = new int[ ]{1,5,7,6,2,3,9};
二.动态初始化
适用范围:数组的值不确定,但数组长度确定
数据类型 数组名称[ ] = new 数据类型[ 数组长度]
例如:double array[ ] = new double[5];
注意:
数组定义后,会对数组进行初始化,如果没有赋值,小数型的是0.0,整数型的是0,布尔类型的的为falise,字符型的为' '
案例1:数组的赋值与取回
import java.util.Scanner; //导入包
..... .........
Scanner input = new Scanner; //创建扫描器
double array[ ] =new double [5]; //定义一个长度为5的数组
for(int i = 0 ; i<5; i++){ //利用 for循环录入数据
System.out.println( "请输入第"+ (i+1)+“个数");
array[ i ] = input.nextDouble( );
}
for(int i = 0; i<5; i++){ //利用for循环遍历数组
System.out.println("第"+(i+1)+"个数为"+array[i] );
}
案例2:数组定值求取
.......
Scanner input = new Scanner;
double chinese[ ] = new double [ 5 ]; //创建一个长度为5的数组
for( int i = 0; i<5; i++){ //用for循环录入成绩
if( ! input.hasNextDouble() ){ //检测输入类型是否正确
System.out.println("输入错误,请重新输入");
i--;
continue; //结束if 循环,返回到for循环
}
chinses[ i ] = input.nextDouble( );
}
for(int i =0 ; i<4; i++){ //利用选择算法对数组进行排序
for(int j = i+1; j<4; j++){
if(array[ i ] > array[ j ]){
double text = array[ i ];
array[ i ] = array[ i];
array[ i ] = text;
}
}
}
System.out.println("最高成绩为:"+ array[4] );
System.out.println("最低成绩为:"+ array[0] );
for( int i = 0; i<5; i++){ //利用循环求平均成绩
double x +=array[ i ];
}
System.out.println("班级平均成绩为:"+(x/5) );