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

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

不是說變量命名不能一樣嗎,為什么這段代碼里面出現了兩個"sum",系統沒有報錯呢

不是說變量命名不能一樣嗎,為什么這段代碼里面出現了兩個"sum",系統沒有報錯呢

690017359 2017-06-18 22:53:06
public class HelloWorld {? ? public static void main(String[] args) { // 保存累加值 int sum = 0; // 從1循環到10 for (int i = 1; i <= 10; i++) { // 每次循環時累加求和 sum = sum + i; // 判斷累加值是否大于20,如果滿足條件則退出循環 if ( sum>=20 ? ? ? ? ? ? ) { System.out.print("當前的累加值為:" + sum); //退出循環 break; } } }}
查看完整描述

3 回答

?
慕村4705583

TA貢獻40條經驗 獲得超14個贊

這是一個變量。 但兩個局部變量是可以相同的

查看完整回答
反對 回復 2017-11-18
?
qq_Dreamy_舊城_0

TA貢獻24條經驗 獲得超2個贊

你是理解錯了,說在一個類中不允許有兩個相同的變量名

查看完整回答
反對 回復 2017-06-20
?
小木木_

TA貢獻2條經驗 獲得超0個贊

第一個sum是你定義的一個變量 下面的那個sum是你調用的sum這個變量 并賦值給這個變量 上面定義了下面就必須要用 否則定義就沒意義了 ?所以這兩個sum其實是一個

查看完整回答
反對 回復 2017-06-19
  • 690017359
    690017359
    但是for循環 里面的sum = sum + i;一個是變量一個是常量啊,兩個量的值不一樣,名字一樣,為什么不能是sum1或者sum2=sum+i; 呢?
  • 小木木_
    小木木_
    你可以試試啊 sum1和sum2 絕對會報錯的 也可以這么說 for循環里面的sum 是局部變量 而你定義的int sum是全局變量 你寫這個程序的意義不就是求1到10 相加的和嗎 在滿足if里的條件是跳出循環 初始化為0 每次加 i 得到數據重新賦值給sum 你int的sum不就重新得到新的數值嗎
?
書旅

TA貢獻238條經驗 獲得超101個贊

一個變量不可以多次定義,可以重復使用。感覺你應該不知道什么是定義吧,變量前邊加了數據類型的時候 ?后邊跟變量明,那就是定義 ?比如 ? int ?sum,a,b ? ? ? float ?sum等....

查看完整回答
反對 回復 2017-06-19
?
Elife漫格局

TA貢獻17條經驗 獲得超13個贊

第一次是定義,第二次不寫int是賦值,并非定義變量

查看完整回答
反對 回復 2017-06-19
?
慕圣0830664

TA貢獻41條經驗 獲得超26個贊

你理解錯了,應該是在同一區域變量名不能重復定義。你這段代碼中只定義了一次int sum=0,后面的不是重定義,只是單純的使用了這個變量而已。如果定義了兩次int sum,那么系統就會報錯。


查看完整回答
反對 回復 2017-06-19
?
產品經理不是經理

TA貢獻481條經驗 獲得超143個贊

變量命名是不能重復,這里雖然sum出現了兩次,但是它是同一個sum變量啊,如果你再int sum;就會出錯了。

查看完整回答
反對 回復 2017-06-19
  • 3 回答
  • 0 關注
  • 3700 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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