java语言基础--数组
数组
- 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
- 数组里面既可以存储基本数据类型,也可以存储引用数据类型,但是只能存储同一种数据类型。
- 数组是一种简单的数据结构,线性的结构
- 数组一旦创建其长度是不可变的
- 数组是引用数据类型
静态定义各种类型的数组
//int 类型的一位数组 int [] i = {1024,4555,9999}; // String类型的一维数组 String [] str = {"lala","didi"}; //Object类型的一维数组 Object o1 = new Object(); Object o2 = new Object(); Object o3 = new Object(); Object [] o = {o1,o2,o3};
获得数组中的某个数据
System.out.println(i[1]); //打印下标为1的数据
注:如果我要的下标超过了数组的范围,这时候,会报出这样的错误
java.lang.ArrayIndexOutOfBoundsException
即:数组越界。
打印数组i的长度
System.out.println(i.length);
动态定义一个数组
来个栗子:
public class Main { public static void main(String[] args) { int[] intArray = new int[4]; intArray[0] = 1000; intArray[1] = 1001; intArray[2] = 1002; intArray[3] = 1003; for (int i = 0; i < intArray.length; i++) { System.out.println(intArray[i]); } } }
当我们修改某一个元素时,那我们看一下数组是否还是同一个地址
public class Main { public static void main(String[] args) { int[] intArray = new int[4]; intArray[0] = 1000; intArray[1] = 1001; intArray[2] = 1002; intArray[3] = 1003; System.out.println(intArray); intArray[0] =10000; System.out.println(intArray); } }
执行结果:
[I@7852e922
[I@7852e922
地址值相同,说明是同一个。
一维数组内存图

小练习:
获得数组中最大的数值
public class Main { public static void main(String[] args) { int[] array = { 98, 76, 899, 765 }; System.out.println(findMax(array)); } public static int findMax(int[] array) { int max = array[0]; for (int i = 0; i < array.length; i++) { if (max < array[i]) { max = array[i]; return max; } } return 0; } }
执行结果:
899
浙公网安备 33010602011771号