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

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

為什么在這個 if 語句 `if (myList[i] > max) max

為什么在這個 if 語句 `if (myList[i] > max) max

楊__羊羊 2021-07-09 21:12:37
在下面尋找數組中最大數的代碼中,為什么maxput 在代碼之外?為什么max外面是括號?在這一行中,我無法理解if語句的構造。public class TestArray {       public static void main(String[] args) {          double[] myList = {1.9, 2.9, 3.4, 3.5};          // Print all the array elements          for (int i = 0; i < myList.length; i++) {             System.out.println(myList[i] + " ");          }          // Summing all elements          double total = 0;          for (int i = 0; i < myList.length; i++) {             total += myList[i];          }          System.out.println("Total is " + total);          // Finding the largest element          double max = myList[0];          for (int i = 1; i < myList.length; i++) {             if (myList[i] > max) max  = myList[i];           }          System.out.println("Max is " + max);         }    }
查看完整描述

2 回答

?
波斯汪

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

這條線


if (myList[i] > max) max  = myList[i];

可以看作


if (myList[i] > max)

    max  = myList[i];

}

即它有一個條件if,當它滿足時,有一個關于做什么的聲明。即第二個max不是 的邏輯表達式的if一部分,它是有條件執行的代碼的一部分。


總的效果是查看 中的每個條目myList,將其與之前看到的最大值進行比較,并保留較高的值,作為之前看到的最高值。


關于“為什么?”,這是一個品味問題。

優點是輸入的字符更少,閱讀的代碼“更短”。

我總是使用較長版本的原因主要是編碼規則,這些規則對于維護越重要,從事給定項目的不同人員越多。


查看完整回答
反對 回復 2021-07-14
?
臨摹微笑

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

假設如果您在 for 循環中聲明“double max = myList[0];”,對于每個迭代,max 變量將被聲明并初始化為列表中的第一個元素。

例如,如果列表包含 2, 4, 1, 9, 8 我們認為 2 是最大值(因此將 2 存儲在 max 變量中)然后將 2 與列表中的其他值進行比較

如果在 IF 中只有一個語句要執行,那么您可以編寫不帶括號的 IF

喜歡

如果(a>b)

    System.out.println(a + "is greater");

它類似于

如果(a>b)

{

System.out.println(a + "is greater");

}


查看完整回答
反對 回復 2021-07-14
  • 2 回答
  • 0 關注
  • 575 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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