数组元素访问
访问数组的内存地址
格式:数组名
访问数组中的具体元素
格式:数组名[索引]
其中索引(下标)是数组容器的编号其特征主要为:
Java中数组的下标一般从0开始,且依次递增。所以数组的索引是连续的。
例如:
public class Test4 {
public static void main(String[] args) {
float arr[] = {72,89,65,58,87,91};
System.out.println(arr);
System.out.println(arr[2]);
}
}
其中的半边的中括号代表这是一个数组,F代表的是float类型,@776ec8df代表着在内存中的地址
数组易出现的两个异常:
数组索引越界异常:
出现原因就是因为使用数组时,其中括号里的值大于数组下标的最大值。
public class Test5 {
public static void main(String[] args) {
float arr[] = {72,89,65,58,87,91};
System.out.println(arr);
System.out.println(arr[9]);
}
}
空指针异常:
出现原因就是因为使用数组时,变量指向保存的内存地址变为null了。
public class Test5 {
public static void main(String[] args) {
float arr[] = {72,89,65,58,87,91};
arr = null;
System.out.println(arr[2]);
}
}
数组遍历:
数组遍历就是把每个数读一遍,数组遍历通常使用普通for循环,但在Java5后可以使用foreach(增强for循环)进行便利。
普通for:
public class Test5 {
public static void main(String[] args) {
float arr[] = {72,89,65,58,87,91};
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
增强for:
public class Test5 {
public static void main(String[] args) {
float arr[] = {72,89,65,58,87,91};
for (float v : arr) {
System.out.print(v + " ");
}
}
}
输出结果:
增强for简化了数组或集合遍历的迭代写法, for each遍历在写法上显得更加 的 简洁和方便;但与普通for循环相比,增强 for无法直接获取索引下标; 增强for一般使用在不关注索引下标 的 数组或集合迭代。



