数组的概念:用来保存一组具有相同数据类型的数据的一种存储结构。
注意:数组也是一种数据类型,数组类型,属于引用数据类型
数组的定义语法:
1、数据类型[] 数组名=new 数据类型[数组中存储数据个数];-----推荐使用该语法
2、数据类型 数组名[]=new 数据类型[数组中存储数据个数];
3、获取数组的长度:数组名.length
获取数组元素:
3、数据类型[] 数组名={值1,值2,…值n};
4、数据类型[] 数组名=new 数据类型[]{值1,值2,…值n};
例一:某百货商场当日消费积分最高的八名顾客,他们的积分分别是:18,25,7,36,13,2,89,63.编写程序找出最低的积分及它在数组中原始的位置(下标)。
public class Day07_1 {
public static void main(String[] args){
int [] arr = {18,25,7,36,13,2,89,63};
int min = arr[0];
int a = 0;
for(int i = 0;i <arr.length;i++){
if(arr[i] < min){
min = arr[i];
a = i;
}
}
System.out.println("最低积分:" + min +"\n它在数组中原始的位置:" + a);
}
}
例二:从键盘上输入10个整数,合法值为1、2或3,不是这三个数则为非法数字。试编程统计每个整数和非法数字的个数。程序的运行结果如下:
请输入10个数:
1
5
2
3
6
9
5
2
3
1
数字1的个数:2
数字2的个数:2
数字3的个数:2
非法数字的个数:4
import java.util.Scanner;
public class Day07_2 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int[] arr = new int[10];
System.out.println("请输入10个数:");
for(int i = 0;i <arr.length;i++){
arr[i] = input.nextInt();
}
for(int i = 0;i < arr.length;i++){
switch(arr[i]){
case 1:
a += 1;
break;
case 2:
b += 1;
break;
case 3:
c += 1;
break;
default:
d += 1;
break;
}
}
System.out.println("数字1的个数:" + a);
System.out.println("数字2的个数:" + b);
System.out.println("数字3的个数:" + c);
System.out.println("非法数字的个数:" + d);
}
}
例三:假设有一个长度为5的数组,如下所示:
int[] array=new int[]{1,3,-1,5,-2};
现创建一个新数组newArray[],要求新数组中的元素的存放顺序与原数组的元素逆序,并且如果原数组中的元素小于0,在新数组中按0存储。编程输出新数组中的元素,程序运行结果如下:
原数组为: 1 3 -1 5 -2 逆序并处理后的数组为: 0 5 0 3 1 |
public class Day07_3 {
public static void main(String[] args){
int[] array = new int[]{1,3,-1,5,-2};
int[] newArray = new int[5];
System.out.println("原数组为:");
for(int i = 0;i < array.length;i++){
newArray[i] = array[i];
System.out.print(array[i] + "\t");
}
System.out.println("\n" + "逆序并处理后的数组为:");
for(int i = newArray.length - 1;i >= 0;i--){
if(newArray[i] <0 ){
newArray[i] = 0;
}
System.out.print(newArray[i] + "\t");
}
}
}