- T[] 数组名 = new T[N];
- //T:表示数组中存放元素的类型
- //T[]:表示数组的类型
- //N:表示数组的长度
- int[] array1 = new int[10]; // 创建一个可以容纳10个int类型元素的数组
- double[] array2 = new double[5]; // 创建一个可以容纳5个double类型元素的数组
- String[] array3 = new double[3]; // 创建一个可以容纳3个字符串元素的数组
int[] array = new int[10];
- int[] array1 = new int[]{0,1,2,3,4,5,6,7,8,9};
- double[] array2 = new double[]{1.0, 2.0, 3.0, 4.0, 5.0};
- String[] array3 = new String[]{"hell", "Java", "!!!"};
- // 注意:虽然省去了new T[], 但是编译器编译代码时还是会还原
- int[] array1 = {0,1,2,3,4,5,6,7,8,9};
- double[] array2 = {1.0, 2.0, 3.0, 4.0, 5.0};
- String[] array3 = {"hell", "Java", "!!!"};
- /*
- 该种定义方式不太友好,容易造成数组的类型就是int的误解
- []如果在类型之后,就表示数组类型,因此int[]结合在一块写意思更清晰
- */
- int arr[] = {1, 2, 3};
- int[] array1;
- array1 = new int[10];
- int[] array2;
- array2 = new int[]{10, 20, 30};
- // 注意省略格式不可以拆分, 否则编译失败
- // int[] array3;
- // array3 = {1, 2, 3};
注意:在数组中可以通过 数组对象.length 来获取数组的长度
- int[]array = new int[]{10, 20, 30, 40, 50};
- for(int i = 0; i < array.length; i++){
- System.out.println(array[i]);
- }
- int[] array = {1, 2, 3};
- for (int x : array) {
- System.out.println(x);
- }
- public static void func() {
- int a = 10;
- int b = 20;
- int[] arr = new int[]{1,2,3};
- }
- public static void func() {
- int[] array1 = new int[3];
- array1[0] = 10;
- array1[1] = 20;
- array1[2] = 30;
- int[] array2 = new int[]{1,2,3,4,5};
- array2[0] = 100;
- array2[1] = 200;
- array1 = array2;
- array1[2] = 300;
- array1[3] = 400;
- array2[4] = 500;
- for (int i = 0; i < array2.length; i++) {
- System.out.println(array2[i]);
- }


- int[] arr = null;
- System.out.println(arr[0]);
- // 执行结果
- Exception in thread "main" java.lang.NullPointerException
- at Test.main(Test.java:6)
- public static void main(String[] args) {
- int[] arr = {1, 2, 3};
- func(arr);
- System.out.println("arr[0] = " + arr[0]);
- }
- public static void func(int[] a) {
- a[0] = 10;
- System.out.println("a[0] = " + a[0]);
- }
- // 执行结果
- a[0] = 10
- arr[0] = 10
作为函数的返回值
比如:获取斐波那契数列的前N项
- public class TestArray {
- public static int[] fib(int n){
- if(n <= 0){
- return null;
- }
- int[] array = new int[n];
- array[0] = array[1] = 1;
- for(int i = 2; i < n; ++i){
- array[i] = array[i-1] + array[i-2];
- }
- return array;
- }
- public static void main(String[] args) {
- int[] array = fib(10);
- for (int i = 0; i < array.length; i++) {
- System.out.println(array[i]);
- }
- }
- }