什么是数组呢?
数组是一组具有相同类型的数据集合,也就是说,数组中的每一个元素都具有相同的数据类型。列如:int[ ] array = new int[10]; 此时数组array的10个空间虽然没有赋值,但此时的数组空间已经只能存储int类型的数据了。
废话不多说了,直接敲代码,自己动手,就什么都理解了。
我也把数组常见的问题做了一下总结:
java.lang.ArrayIndexOutOfBoundsException,数组下标越界,也就是说,此时超出了数组的存储空间,数组空间是不可改变的。
int[] num = new int[10]; 实际上的含意,是定义了一个空间大小为10的数组,也就是说,此时数组num可以存放10个整数型的元素。
注意!注意!注意!
java、c语言或者其他语言都是从0开始,也就是说数组num的10个空间是从0~9,刚好是10个,所以我们输出num[10]时会报java.lang.ArrayIndexOutOfBoundsException错误
所以我们以后遇见java.lang.ArrayIndexOutOfBoundsException时,首先就去检查数组下标是否越界。
如下:
数组常见问题之数组下标越界的代码:
package array;
/**
* java.lang.ArrayIndexOutOfBoundsException,数组下标越界,也就是说,此时超出了数组的存储空间,数组空间是不可改变的
* int[] num = new int[10]; 实际上的含意,是定义了一个空间大小为10的数组,也就是说,此时数组num可以存放10个整数型的元素
* 注意!注意!注意!
* java、c语言或者其他语言都是从0开始,也就是说数组num的10个空间是从0~9,刚好是10个,所以我们输出num[10]时会报java.lang.ArrayIndexOutOfBoundsException错误
* 所以我们以后遇见java.lang.ArrayIndexOutOfBoundsException时,首先就去检查数组下标是否越界。
*
*/
public class Demo01 {
public static void main(String[] args) {
int[] num =new int[10];//声明创建一个数组num,并且可以存放十个int类型的数字
num[0]=1;
num[1]=2;
num[2]=3;
num[3]=4;
num[4]=5;
num[5]=6;
num[6]=7;
num[7]=8;
num[8]=9;
num[9]=10;
System.out.println(num[10]);
}
}
数组默认输出值
package array;
/**
* 注意!注意!注意!
* 此时我们没有对num[9]赋值,但输出值为0;
* 这其实就是我上篇文章里说的默认赋值。
* 虽然他是数组,但与此同时他还是int类型,int类型默认值(没有初始化,也就是未赋值)就是0;
*/
public class Demo04 {
public static void main(String[] args) {
int[] num= new int[10];
num[0] = 1;
num[1] = 2;
num[2] = 3;
num[3] = 4;
num[4] = 5;
num[5] = 6;
num[6] = 7;
num[7] = 8;
num[8] = 9;
System.out.println("我没有赋值,但是我现在的输出数值为:"+num[9]);
}
}
数组的简单可运行代码;
package array;
public class Demo02 {
public static void main(String[] args) {
int[] nums = new int[10];//声明并创建一个数组nums,并定义数组的空间大小(此时的数组空间为10,即可以存放10个int类型的整数)
//给数组赋值
nums[0] = 10;
nums[1] = 34;
nums[2] = 23;
nums[3] = 34;
nums[4] = 56;
nums[5] = 67;
nums[6] = 67;
nums[7] = 78;
nums[8] = 345;
nums[9] = 45;
//nus.length获取数组长度
for (int i = 0; i < nums.length; i++) {
System.out.println("遍历数组"+i+":"+"\t"+nums[i]);
}
int sum = 0;
for (int i = 0; i < nums.length; i++) {
sum+=nums[i];
}
System.out.println("数组元素总合:"+sum);
}
}