是一种容器,可以同时存放多个数据值。
1、数组是一种引用数据类型。
2、数组当中的多个数据,类型必须同于。
3、数组的长度在程序运行期间不可改变,
在内存当中创建一个数组,并向其中赋予一些默认值。
格式:
数据类型[] 数组名称 = new 数据类型[数组长度]
数据类型:
数组当中保存的数据类型,全部统一。
代码示例:
public class DemoArray { public static void main(String[] args){ int [] arrayA = new int[6]; String[] arrayB = new String[6]; } }
标准格式:
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3,元素4......};
代码示例:
public class DemoArray { public static void main(String[] args){ int [] arrayA = new int[]{1,2,3,4,5}; String[] arrayB = new String[]{"H","e","l","l","o"}; } }
省略格式:
数据类型[] 数组名称 = {元素1,元素2,元素3,元素4......};
代码示例:
public class DemoArray { public static void main(String[] args){ int [] arrayA = {1,2,3,4,5}; int [] arrayB; arrayB = new int[]{1,2,3,4,5}; int [] arrayC; arrayC = new int[5]; } }注意事项:
1、虽然静态初始化没有直接告知长度,但大括号中的内容也可以自动推算出来。
2、静态初始化标准格式可拆分为两个步骤。
3、动态初始化也可以拆分成两个步骤。
4、静态初始化一旦使用省略格式,就不能拆分成两个步骤。
使用建议:
如果不确定数组当中的具体内容,用动态初始化,反之用静态初始化。
如何获取数组内的元素呢,我们可能直接会想到把数组打印出来,得到的是内存地址哈希值,即如下图所示
public class DemoArray { public static void main(String[] args){ int [] arrayA = {1,2,3,4,5}; //打印数组 System.out.println(arrayA);//输出值:[I@2d98a335 } }那么如果获取数组内的元素呢?
格式:
数组名称[索引值]
索引值:一个int数字,从0开始,长度直到数组的长度 - 1。
获取数组长度:数组名称.length
代码举例:
public class DemoArray { public static void main(String[] args){ int [] arrayA = {1,2,3,4,5}; //打印数组 System.out.println(arrayA[0]);//输出值:1 //循环输出数组 for(int i = 0,leni = arrayA.length;i<leni;i++){ System.out.println(arrayA[i]); } } }格式:
数组名称[索引值] = 数组类型的值
代码举例:
public class DemoArray { public static void main(String[] args){ int [] arrayA = new int[3]; arrayA[0] = 1; System.out.println(arrayA[0]);//输出值:1 } }数组越界异常(ArrayIndexOutOfBoundsException),原因索引编号有误。
空指针异常(NullPointerException),如果赋值了null,没有开辟内存空间new。