1、为什么需要数组
当我们需要储存的数据过多时,会造成数据储存太繁琐,同时也不利于数据的处理,这个时候就可以利用数组。
数组是一个变量,存储相同数据类型的一组数据。
声明一个变量就是在内存空间划出一块合适的空间。
声明一个数组就是在内存空间划出一串连续的空间。
2、什么是数组
数组是一个变量,存储相同数据类型的一组数据。
数组的基本要素:
1)标识符
2)数组元素
3)元素下标(从0开始)
4)元素类型
注意:数组长度固定不变,避免数组越界。
数组中的所有元素必须属于相同的数据类型。
3、如何使用数组
第一步,声明数组:
数据类型[] 数组名;或者 数据类型 数组名[];
//声明八大基本类型的数组
byte[] num1;
short[] num2;
int[] num3;
long[] num4;
float[] num5;
double[] num6;
char[] chars;
boolean[] bool;
//声明字符串
String[] str;
第二步,分配空间,告诉你声明的数组里可以存储多少个数据
数组名=new 数据类型[数组元素个数];
num1=new byte[2];
num2=new short[2];
num3=new int[2];
num4=new long[2];
num5=new float[2];
num6=new double[2];
chars=new char[2];
bool=new boolean[2];
str=new String[2];
第三步,给数组赋值,将数据存储到数组中
数组名[下标]=数据;
num1[1]=5;
num2[1]=2;
num3[1]=10;
num4[1]=100;
num5[1]=10;
num6[1]=10.2;
chars[1]='a';
bool[1]=true;
//bool[3]=true;错误: java.lang.ArrayIndexOutOfBoundsException: 3,数组下标越界异常
str[1]="hello";
第四步、操作数据,
使用数组名[数组元素下标]来操作数据
System.out.println(num1[0]);//默认值:0
System.out.println(num1[1]);
System.out.println(num2[0]);//默认值:0
System.out.println(num2[1]);
System.out.println(num3[0]);//默认值:0
System.out.println(num3[1]);
System.out.println(num4[0]);//默认值:0
System.out.println(num4[1]);
System.out.println(num5[0]);//默认值:0.0
System.out.println(num5[1]);
System.out.println(num6[0]);//默认值:0.0
System.out.println(num6[1]);
System.out.println(chars[0]);//
System.out.println(chars[1]);
System.out.println(bool[0]);//默认值:flase
System.out.println(bool[1]);
System.out.println(str[0]);//默认值:null
System.out.println(str[1]);
当你操作的数据没有被赋值,就会输出它的默认值
4、数组的几种写法
1)声明数组、分配空间合并写:
数据类型[] 数组名=new 数据类型[数据长度];
或者 数据类型 数组名[]=new 数据类型[数组长度];
2)声明数组、分配空间、赋值合并写:
数据类型[] 数组名=new 数据类型[]{数据1,数据2,....,数据n};
注意,=后面的[]里不要写数组长度,写了会报错
数据类型 数组名[]=new 数据类型[]{数据1,数据2,...,数据n};
3)其中声明数组、分配空间、赋值合并写的简写方式,也是最常用的方式
5、例题
有一个数列:8,4,2,1,23,344,12
循环输出数列的值
求数列中所有数值的和
猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
public class Demo {
public static void main(String[] args) {
//循环输出数列的值
int[] num={8,4,2,1,23,344,12 };
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+" ");
}
System.out.println();
//求数列中所有数值的和
int sum=0;
for (int i = 0; i < num.length; i++) {
sum+=num[i];
}
System.out.println("数列中所有数值的和:"+sum);
System.out.println();
//猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
Scanner sc=new Scanner(System.in);
System.out.println("请输入数字:");
int num1=sc.nextInt();
int j=0;
for (int i = 0; i < num.length; i++) {
if(j<=num.length){
if(num1==num[i]){
System.out.println("恭喜你,输入的数字有相同的");
break;
}else{
j++;
}
if(j==num.length){System.out.println("很遗憾,没有相同的数字"); }
}
}
}
}