一. 数组基本用法
数组的概念:用来保存一组具有相同数据类型的数据的一种存储结构 是一种数据类型,数组类型,属于引用数据类型。
数组的定义语法:
数据类型[] 数组名={值1,值2,…值n};
数据类型[] 数组名=new 数据类型[数组中存储数据个数];
案例demo1
public class Demo1{
Public static void main(String[] args){
//定义保存10个学生成绩的数组
int[] scores=new int[10];//数值类型的数组默认值每个位置填充0
//任何变量遵循先声明再赋值再使用
//赋值(通过键盘动态赋值)
Scanner input = new Scanner(System.in);
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第"+(i+1)+"个成绩:");
scores[i]=input.nextInt();
}
for (int i = 0; i <scores.length ; i++) {
System.out.println(scores[i]);
}
}
案例demo2
使用数组和循环获取5位学员的成绩,使用int max;变量存储最大值。以课上讲解的“打擂台”的思路使用循环求出数组的最大值
Public class Demo2{
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];//默认第一个学生成绩最高
int idx=0;//保存最高分同学所在的位置
for (int i = 1; i < scores.length; i++) {
if(max<scores[i]){
max=scores[i];
idx=i;
}
}
System.out.println("第"+(idx+1)+"位同学成绩最高,分数是:"+max);
}}
案例demo3冒泡排序
Public class Demo1{
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();
}
System.out.println("排序前的成绩:");
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i]+"\t");
}
//排序(冒泡排序)
//原理:
for (int i = 0; i < scores.length-1; i++) {
for (int j = 0; j < scores.length-1-i; j++) {
if(scores[j] > scores[j+1]){
int temp =scores[j];
scores[j]=scores[j+1];
scores[j+1]=temp;
}
}
}
System.out.println();
System.out.println("排序后");
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i]+"\t");
}
}
}