定义
数组(Array)是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组
名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量/12713827)。用于
区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若
干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
double[] ds = new double[3];
ds[2]
//String有length方法.length(),Arrays有length属性.length
System.out.println(ds.length);//3
System.out.println(ds[1]); //0.0
//声明字符串数组,并直接初始化。3个元素
String[] ss = new String[]{"java", "hello", "mysql"};
//声明int型的数组,长度为3,并初始化全部数据为0
int[] a = new int[3]; // 0 1 2 三个 0
a[1] = 100;
System.out.println(a[0]);//0
System.out.println(a[1]);//100
System.out.println(a[2]);//0 //a[3] = 20; 错误的,数组在java长度是固定
//下边行是有异常的,
System.out.println(a[3]);//数组下标是0 1 2 没有3
1.声明数组
public class Arr1 {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
System.out.println(nums[2]);
}
}
java中数组是固定长度,数组变量是个对象,.length是属性不能写成.length()
public static void main(String[] args) {
int a[];
int[] c;
String[] ns = {"a", "b", "c"};
String[] s2 = newString[]{"java", "php"};
double[] ds = new double[6];//下标是0 - 5
System.out.println(ds[0]);//0.0
System.out.println(ds[5]);//0.0
System.out.println(ds.length);//6
//System.out.println(ds[6]);//有异常,运行时报错,下标越界
int[] nums = {1, 2, 3};
System.out.println(nums.length); //属性是返回数组元素的个数
System.out.println(nums[1]);
}
2 遍历
public static void main(String[] args) { //数组是固定长度,声明后不能调整大小
int[] a = new int[]{1, 20, 300};
System.out.println(a.length);//3
System.out.println(a[2]);//300
//a[3] = 6; 数组是固定长度,不能调整大小
System.out.println(a.length);
//遍历一
for (var i : a) {
System.out.println(i);
}
//遍历二
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
//遍历三 倒序遍历
for (int i = a.length - 1; i >= 0; i--) {
System.out.println(a[i]);
}
//遍历四 java8 lambda 表达式遍历方式
Arrays.stream(a).forEach(System.out::println);
}
}
二维数组
public static void main(String[] args) {
//一维数组
int[] i;
Date[] ds;
//要求声明一个数组,数组中什么都可以放入,这个数组必须为Object数组
Object[] obj = new Object[5];
obj[0] = 3;
obj[0] = "ok";
obj[1] = 1d;
obj[2] = 3.5f;
obj[3] = new Date();
obj[4] = Calendar.getInstance();
//二维
int[][] ns = new int[3][5];
ns[2][4] = 100;
System.out.println(ns[1][2]);
System.out.println(ns[2][4]);
int[][] ns2 = new int[][]{{1, 2, 3}, {40, 50, 60}, {10, 200, 3000, 10000}};
System.out.println(ns2[2][2]);
System.out.println(ns2[2][3]);
//遍历二维数组
for (int[] a : ns2) {
for (int a2 : a) {
System.out.printf("%d ", a2);
}
System.out.println();
}
}