亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java中使用for(int num:array)更改基本類型int數組的值?

如何在Java中使用for(int num:array)更改基本類型int數組的值?

慕容森 2021-05-07 15:18:44
在Java中,我嘗試使用迭代器更改int(原始類型)數組的值。但是,正如您在下面看到的那樣,迭代器在進行打印時可以正常工作,但不能更改int []的值。雖然一個簡單的使用索引的for循環可以完成這項工作,但我想知道為什么使用迭代器的for循環不用于更改值,但可以用于打印。謝謝public class playGround {        public static void main(String[] args) {            int[] array = new int[5];            System.out.println("using iterable: ---");            for (int num : array) {                System.out.print(" " + num);                num = 2;                System.out.println(" " + num);            }            System.out.println(" after: ---");            for (int num : array) {                System.out.print(" " + num);            }            System.out.println();            System.out.println("using index: ---");            for (int i = 0; i < array.length ; i++) {                array[i] = i;            }            for (int num : array) {                System.out.print(" " + num);            }        }    }輸出:using iterable: --- 0 2 0 2 0 2 0 2 0 2 after: --- 0 0 0 0 0using index: --- 0 1 2 3 4Process finished with exit code 0
查看完整描述

3 回答

?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

您應該檢查一下:每個循環的java如何工作。但是,如果您想對該主題進行深入的說明,則應該查看Oracle Javadoc參考。

無論如何,您都將在名為num的新變量中創建值的副本。因此,對變量的任何修改都不會應用于數組中的值。


查看完整回答
反對 回復 2021-05-26
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

在修改forEach循環中的元素時,實際上是在修改迭代器在中分配的值int num,而不是原始數組的值。您得到的是文字,而不是指向數組中包含的對象的指針。


查看完整回答
反對 回復 2021-05-26
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

int num是局部變量。為其分配值2僅在一次for迭代的范圍內對其進行更改。

更改原始數組的值的正確方法是像在堆中那樣訪問堆中的值array[i] = i


查看完整回答
反對 回復 2021-05-26
  • 3 回答
  • 0 關注
  • 297 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號