java基本型別問題?

下面這兩種寫法差別在哪?

int []a = new int[3];

int a[] = new int[3];

是指一樣的東西嗎?

1 個解答

評分
  • 5 年前
    最佳解答

    基本上最終的定義是一樣的。

    不過還是有稍些不同之處

    int a[] = new int[3];

    直接定義變數a為陣列,給予a陣列容量為3個

    (a[]有三個位置可以儲存)

    a[0] = ?;

    a[1] = ?;

    a[2] = ?;

    多個變數陣列可以定義如下

    int a[],b[],c[] = new int[3];

    變數a,b,c各別都有三個位置可以儲存

    int []a = new int[3];

    宣告變數a再定義變數a為陣列,給予a陣列容量為3個

    ([]a也有三個位置可以儲存)

    a[0] = ?;

    a[1] = ?;

    a[2] = ?;

    多個變數陣列可以定義如下

    int [] a,b,c = new int[3];

    變數a,b,c各別都有三個位置可以儲存

    我覺得用文字敘述好像在鬼打牆,所以用程式碼解釋

    /* package whatever; // don't place package name! */

    import java.util.*;

    import java.lang.*;

    import java.io.*;

    interface array

    {

    public static final int size = 5;//length(大小)

    public static final int cols = 4;//width(寬)

    public static final int rows = 3;//height(高)

    }

    /* Name of the class has to be "Main" only if the class is public. */

    class Ideone

    {

    public static void main (String[] args) throws java.lang.Exception

    {

    // your code goes here

    // TODO Auto-generated method stub

    int[] array1,array2[];

    //原始宣告

    //array1的原始宣告

    //int[] array1;

    //array2的原始宣告

    //int[][] array2;

    //給予變數一個空間容量給它

    array1 = new int[array.size];

    array2 = new int [array.rows][];

    System.out.print("變數array1的大小為(長度):");

    System.out.println(array1.length);

    for(int k=0;k<array.size;k++)

    {

    array1[k] = k;

    //存完質量順便印出

    System.out.printf("%d\t",array1[k]);

    }

    System.out.println();

    System.out.println("內容如上");

    //這裡是換航

    System.out.println();

    System.out.print("變數array2的大小為(長度):");

    System.out.println(array.cols*array2.length);//寬度乘以高度

    for(int k=0;k<array.rows;k++)

    {

    array2[k] = new int [array.cols];

    }

    for(int i=0;i<array.rows;i++)

    {

    for(int j=0;j<array.cols;j++)

    {

    array2[i][j] = i+j;

    //存完質量順便印出

    System.out.printf("%d\t",array2[i][j]);

    }

    System.out.println();

    }

    System.out.println("內容如上");

    }

    }

    ※執行程式碼如下※

    變數array1的大小為(長度):5

    0 1 2 3 4

    內容如上

    變數array2的大小為(長度):12

    0 1 2 3

    1 2 3 4

    2 3 4 5

    內容如上

    ※下載原始碼網址※

    https://ideone.com/plain/jGI99a

    • 阿平
      Lv 4
      5 年前檢舉

      int a[],b[],c[] = new int[3];
      int [] a,b,c = new int[3];
      這兩種寫法a,b都沒有初始化,只初始化c。

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。