Java数组
Java 语言中提供的数组是用来存储固定大小的同类型元素,这一点和PHP语言的可变数组长度不同。
声明变量数组
首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
dataType[] arrayRefVar; // 首选的方法
或
dataType arrayRefVar[]; // 效果相同,但不是首选方法
例子:
声明一个整形数组:
int[] numbers;
创建数组
方式一:new一个,指定数组长度
Java语言使用new操作符来创建数组,语法如下:
arrayRefVar = new dataType[arraySize];
例子:
// 包含十个元素的订单数组
String[] orderList = new String[10];
方式二:初始化直接给数组赋值
double[] numbers = {2,3,4,566.00};
输出数组信息
一、输出单个元素值
double[] numbers = {2,3,4,566.00};
System.out.println(numbers[0]);// 下标从零开始,输出数组第一个值`在
二、输出整个数组信息
double[] numbers = {2,3,4,566.00};
System.out.print(Arrays.toString(numbers));
程序输出:2,3,4,566.00
数组操作实例:
package wisdom;
import java.util.Arrays;
public class ArrayDemo {
public static void main(String[] args) {
double[] numbers = {2,3,4,566.00};
System.out.println(numbers[0]);
test(10);
int[] ddd = new int[]{1,2,3};
printString(ddd);
int[] array1 = new int[]{1,2,3,4,5};
int[] array2 = array1;
int[] array3 = new int[]{6, 6, 7, 8, 9};
int[] array4 = new int[]{4, 5, 6};
if(Arrays.equals(array1, array2)) {
System.out.println("array1等于array2");
} else {
System.out.println("array1不等于array2");
}
if(Arrays.equals(array1, array3)) {
System.out.println("array1等于array3");
} else {
System.out.println("array1不等于array3");
}
if(Arrays.equals(array1, array4)) {
System.out.println("array1等于array4");
} else {
System.out.println("array1不等于array4");
}
}
public static void test(int x) {
int[] nums = new int[x];
String[][] name = new String[2][];
name[0] = new String[3];
name[1] = new String[3];
name[0][0] = "city";
name[0][1] = "name";
name[0][2] = "birthday";
name[1][0] = "city1";
name[1][1] = "name1";
name[1][2] = "birthday1";
nums[0] = 212;
nums[1] = 13;
nums[2] = 14;
nums[3] = 15;
for (int i = 0;i<nums.length;++i) {
System.out.println(nums[i]);
}
System.out.println(Arrays.toString(name[1]));
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
}
public static void printString(int[] a) {
for (int i =0;i<a.length;i++) {
System.out.print("<hr/>" + a[i]);
}
}
}
输出结果:
多维数组定义
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组,例如:
String[][] name = new String[2][2];
多维数组的动态初始化(以二维数组为例)
type[][] typeName = new type[typeLength1][typeLength2];
type 可以为基本数据类型和复合数据类型,typeLength1 和 typeLength2 必须为正整数,typeLength1 为行数,typeLength2 为列数。
例如:
int[][] a = new int[2][3];
解析:
二维数组 a 可以看成一个两行三列的数组。