一.概念
连续分配相同类型的空间。
现实社会:有顺序性,位置,存储多个相同类型的数据。-----数组
二.定义方式
有别于C语言
public class Array01 {
public static void main(String[] args) {
//第一种:直接给美国空间值
int[] a = {1,2,3,4};
//第二种:动态赋值,空间给定,默认给值:0
int[] b = new int[5];
//第三种:综合式
int[] c = new int[]{1,2,3,4};
}
}
三.访问方式
数组元素的存储
1.循环方式
访问某个元素 a[index],位置是从0开始。
Array index is out of bounds:越界错误
for(int i = 0;i < a.length;i++){}
for(int value:a){}//增强型for循环---foreach循环
a[10] = 1;
a[-1] = 1;
2.初始化值
2.1 int
public class Array02 {
public static void main(String[] args) {
int[] a = new int[10];
for (int i = 0;i < a.length;i++){
System.out.println(a[i]);
}
}
}
0
2.2 double
public class Array02 {
public static void main(String[] args) {
double[] a = new double[10];
for (int i = 0;i < a.length;i++){
System.out.println(a[i]);
}
}
}
0.0
2.3 String
public class Array02 {
public static void main(String[] args) {
String[] a = new String[10];
for (int i = 0;i < a.length;i++){
System.out.println(a[i]);
}
}
}
null
2.4 char
public class Array02 {
public static void main(String[] args) {
char[] a = new char[10];
for (int i = 0;i < a.length;i++){
System.out.println((int)a[i]);
}
}
}
0
2.5 boolean
public class Array02 {
public static void main(String[] args) {
boolean[] a = new boolean[10];
for (int i = 0;i < a.length;i++){
System.out.println(a[i]);
}
}
}
false
3.数组的边界
import java.util.Random;
public class Array02 {
public static void main(String[] args) {
int[] a = new int[10];
Random random = new Random();
//将10个随机数放入数组
for (int i = 0;i < a.length;i++){
a[i] = random.nextInt(100)+1;
}
//取出数组中的值
for (int i = 0;i < a.length;i++){
System.out.print(a[i]+"\t");
}
//System.out.println(a[-99]);
}
}
3.1长度固定
a.length
3.2无负数索引