簡體   English   中英

Java數組賦值(多個值)

[英]Java array assignment (multiple values)

我已經定義了一個Java數組,例如

float[] values = new float[3];

我想在代碼中進一步做這樣的事情:

values = {0.1f, 0.2f, 0.3f};

但這給了我一個編譯錯誤。 是否有更好的方法一次定義多個值,而不是這樣做?:

values[0] = 0.1f;
values[1] = 0.2f;
values[2] = 0.3f;

謝謝!

是:

float[] values = {0.1f, 0.2f, 0.3f};

此語法在初始化程序中允許。 您不能在作業中使用它,以下是您可以做的最好的:

values = new float[3];

要么

values = new float[] {0.1f, 0.2f, 0.3f};

試圖在語言規范中找到一個參考,但它一如既往地難以理解。 還有人找到一個嗎?

在聲明時,您可以執行以下操作。

float[] values = {0.1f, 0.2f, 0.3f};

如果已定義該字段,請嘗試此操作。

values = new float[] {0.1f, 0.2f, 0.3f};

請注意,第二個版本也會創建一個新數組。 如果values是對現有字段的唯一引用,則它有資格進行垃圾回收。

Java沒有提供將多個值分配給現有數組元素的構造。 只能在創建新數組對象時使用初始化程序語法。 這可以是聲明點,或稍后。 但無論哪種方式,初始化器都在初始化一個新的數組對象,而不是更新現有的數組對象。

values = new float[] { 0.1f, 0.2f, 0.3f };

如果您在編譯時知道這些值,則可以執行以下操作:

float[] values = {0.1f, 0.2f, 0.3f};

如果值是運行時中的變量,則無法執行此操作。

您可以使用局部變量,例如:

    float[] values = new float[3];
    float[] v = {0.1f, 0.2f, 0.3f};
    float[] values = v;

這應該可行,但速度較慢且感覺不對: System.arraycopy(new float[]{...}, 0, values, 0, 3);

    public class arrayFloats {
      public static void main (String [] args){
        float [] Values = new float[3];
        float Incre = 0.1f;
        int Count = 0;

        for (Count = 0;Count<3 ;Count++ ) {
          Values [Count] = Incre + 0.0f;
          Incre += 0.1f;
          System.out.println("Values [" + Count + "] : " + Values [Count]);
        }


      }
    }

//OUTPUT:
//Values [0] : 0.1
//Values [1] : 0.2
//Values [2] : 0.3

這不是全部,而是為特定數組賦值。 因為我看到樣本是0.1 - 0.3你可以這樣做。 如果您正在設計圖表和圖形,此方法非常有用。 您可以將x值遞增0.1到第n次。

或者你想設計一些某種網格。

例如,我嘗試了所有上面的字符,它失敗,但這對我有用>>保留一個指針,然后分配值

char A[];
A = new char[]{'a', 'b', 'a', 'c', 'd', 'd', 'e', 'f', 'q', 'r'};
int a[] = { 2, 6, 8, 5, 4, 3 }; 
int b[] = { 2, 3, 4, 7 };

如果你拿浮動數字然后你拿浮動,這是你的選擇

這是顯示數組元素的非常好的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM