一维数组
1.为什么需要数组?
当我们需要存储一系列数据的时候,就需要用到了数组,如果不使用数组,我们就需要一个一个的变量去声明,这样浪费内存空间,同时效率也低下。
2.什么是数组?
数组本身就是一个变量,只是教组存储一组数据类型相同的数据;
声明一个变量,就是在内存中划分出一块合适的空间;
声明一个数组,就是在内存中划分出一连串连续的空间。
3.数组的基本要素:
(1)标识符(数组名);
(2)元素下标:(怎么找到里面的元素)从0开始,每个元素都可以通过下标来找到;
(3)元素类型 (数组内存储数据类型,也是数组的类型);
(4)数组的一旦声明长度,就固定不变了。声明长度为4,就只能存放四个数据;
(5)如果存放数据超过了数组长度,就会提示数组越界。
实例:
public static void main(String[] args) {
String[] strings = new String[4];
strings[0]="芒果";
strings[1]="苹果";
strings[2]="橘子";
for (String string : strings) {
System.out.println(string);
}
}
结果是:
在这里强调的是String类型的数组,如果数组没有存满,运行结果则会显示null。
下面举一些比较常用到的例子:
猜数小游戏:
System.out.println("请输入一个数字:");
Scanner scanner = new Scanner(System.in);
int guess = scanner.nextInt();
int[] number={1,2,3,4,5};
int length = number.length;
for (int i : number) {
if(guess==i){
System.out.println("猜测正确!");
break;
}else if (i==number[length-1]){
System.out.println("猜测不正确!");
break;
}else {
continue;
}
}
输入学生人数,并打印出每个学生的成绩以及最高的成绩:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生的人数:");
int number = scanner.nextInt();
int[] sum=new int[number];
for (int i = 1; i <=number ; i++) {
System.out.println("请输入第"+i+"名的成绩:");
int score = scanner.nextInt();
sum[i-1]=score;
}
int max;
max=sum[0];
for (int i : sum) {
if (max<i){
max=i;
}
}
System.out.println("最高的成绩为:"+max);
}
结果:
输出最低价格的手机型号与手机:
public class Test8 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] name = {"iphone12","mate30","小米30pro","三星爆炸"};
int[] money = {1088,6666,5555,6222};
int min = money[0];;
for (int i : money) {
if (min>i){
min=i;
System.out.println(min);
}
}
for (int i = 0; i <= money.length-1 ; i++) {
if (money[i]==min){
System.out.println("最便宜的手机是"+name[i]+":"+money[i]);
}
}
结果: