数组是相同类型的有序集合。
数组是一种特殊的变量,一次性向计算机申请"一片"连续的空间。
通过长度来控制要开辟多少个练习的空间;通过数据类型来控制每个空间的大小。
声明:数据类型[]数组名= new 数据类型[长度];
数组的元素:数组中保存的具体的值.
数组的长度:数组中能容纳最大的元素的个数。
数据下标:数组是通过下标表示保存位置的,数组的下标从0开始,最大下标为长度-1
注意:数组中的元素类型必须与声明数组时的数据类型相匹配。
数组的存取:
赋值:数组名[下标]=值;
取值:数组名[下标];
public class TestArray{
public static void test1(){
//数据类型[] 数组名=new 数据类型[长度];
int[] nums = new int[5];
//为数组赋值: 数组名[下标]=值;
nums[0]=10;
nums[1]=20;
nums[2]=30;
nums[3]=40;
nums[4]=50;
//nums[5]=60;//错误:下标越界java.lang.ArrayIndexOutOfBoundsException
System.out.println("nums[0]="+nums[0]);
System.out.println("nums[1]="+nums[1]);
System.out.println("nums[2]="+nums[2]);
System.out.println("nums[3]="+nums[3]);
System.out.println("nums[4]="+nums[4]);
}
//使用循环简化
public static void test2(){
int[] nums = new int[5];
for(int i=0;i<5;i++){
nums[i]=(i+1)*10;
}
//遍历并输出
for(int i=0;i<5;i++){
System.out.println("nums["+i+"]="+nums[i]);
}
}
public static void main(String[] args){
test2();
}
}
数组的声明和使用
数组声明时计算机未分配空间。
数组的声明:数据类型[]数组名; 数据类型 数组名[];
eg: int nums[]; int [] nums;
为数组分配空间:数组名=new 数据类型[长度];
int[] nums=new int[4];===>
int[]nums;
nums = new int[4];
初始化:动态初始化和静态初始化
动态初始化:声明,初始化和赋值分开写.
int[] nums;
nums = new int[5];
nums[0]=10;
静态初始化并赋值: 数据类型[] 数组名={值1,值2....}
eg:int[]nums={1,2,3,4,5};未指定数组的长度,数组的长度为元素的个数。
int[] nums = new int[]{1,2,3,4,5};//正确
//int nums[8]={1,2,3,4,5,6,7,8};//错误,不能指定长度
如果使用静态初始化,必须声明,初始化和赋值放在一行
int[] nums;
nums={1,2,3,4,5}; //错误
如何获取数组长度:数据名.length
*/
public class TestArray2{
//动态初始化
public static void test1(){
// int nums[];
// nums=new int[5];
int nums[] = new int[5];
//赋值
for(int i=0;i<5;i++){
nums[i]=i*2+1;
}
//遍历
for(int i=0;i<5;i++){
System.out.println(nums[i]);
}
}
//静态初始化
public static void test2(){
int[] nums={1,2,3,4,5,6,7,8};
//int[] nums = new int[]{1,2,3,4,5};//正确
//int nums[8]={1,2,3,4,5,6,7,8};//错误
//int[] nums;
//nums={1,2,3,4,5}; //错误
System.out.println("数组的长度为:"+nums.length);
for(int i=0;i<nums.length;i++){
System.out.println(nums[i]);
}
}
public static void main(String[] args){
test2();
}
}