JAVA的数组
1.回顾变量
1.什么是变量?
一个储存空间的表示。
保存在内存里的数据,可以发生变化。
2.为什么要使用数组?
1.当储存数据量比较多。
2.储存的数据类型相同的类型。
3.什么是数组?
在内存里面保存数据的时候,内存开辟了一串连续的空间。
4.数组的语法
数据类型[] 变量名=new 数据类型[数组的长度];
或
数据类型 变量名[]=new 数据类型[数组的长度];
int[] aaa=new int[5];
或
int aaa[]=new int[5];
5.数组的使用
1.声明数组
int[] nums;
2.分配空间
nums=new int[5];//注意 一定要指定数组的长度
3.给数组赋值
nums[0]=15;
nums[1]=21;
4.使用
System.out.println(nums[0]);
for(int i=0;i<nums.length;i++){
System.out.println(nums[i]);
}
直接给数组赋初始值:
//创建数组时,直接赋初始值
//int[] nums=new int[] {20,30,75,14};//可以先声明,再通过new直接赋值
int[] nums={20,30,75,14};//不能分行实现,必须在同一行实现。
如下则为错误的语法:
int[] nums;
nums={20,30,75,14};//会报错。
6.案例:
int[] nums = new int[5];
for (int i = 0; i < nums.length; i++) {
System.out.println("请输入第" + (i + 1) + "个值:");
nums[i] = Lxit.getInt();
}
System.out.println("----------顺着输出数组里面的值------------");
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
System.out.println("----------倒着输出数组里面的值------------");
for (int i = nums.length - 1; i >= 0; i--) {
System.out.println(nums[i]);
}
7.数组的注意事项:
1.注意数组的下标越界:
int[] nums=new int[3];
nums[1]=20;
nums[3]=15;//会出现运行时错误 ,错误代码如下:下标越界
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at Demo2.main(Demo2.java:16)
2.在创建数组的时候必须要指定长度
int[] nums=new int[]; //未指定数组的长度,编译会出错。应该修改如下:
int[] nums=new int[3];
3.数组的类型必须相同
int[] nums2=new String[3];//声明和创建的类型不相同,编译出错
int[] nums2=new int[3];
nums2[0]=20.5;//赋值时的类型不相同。
8.综合案例:
/*
* 有一个数列:8,4,2,1,23,344,12
* 循环输出数列的值
* 求数列中所有数值的和
* 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
*/
int[] nums = { 8, 4, 2, 1, 23, 344, 12 };
int sum=0;
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
sum+=nums[i];//求和
}
System.out.println("和:"+sum);
System.out.println("请输入一个数字:");
int inputNum=Lxit.getInt();
boolean isFind=false;//是否存在的变量
for (int i = 0; i < nums.length; i++) {
if(inputNum==nums[i]){
isFind=true;
break;
}
}
if(isFind==true){
System.out.println("你输入的数字在数组里面存在!");
}else{
System.out.println("你输入的数字在数组里面不存在!");
}