为什么在这个if语句中使用if(myList[i]>max)max=myList[i];`“max”放在括号外吗?
在下面查找数组中最大数的代码中,为什么max
放在代码之外?为什么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);
}
}
# 1 楼答案
这条线
可视为
也就是说,它有一个条件
if
,当满足这个条件时,有一个关于该做什么的语句。也就是说,第二个max
不是if
的逻辑表达式的一部分,它是有条件执行的代码的一部分总的效果是查看
myList
中的每个条目,将其与之前看到的最大值进行比较,并将较高的条目与之前看到的最高值保持一致关于“为什么?”,这是品味的问题
这样做的好处是,输入的字符更少,读取的代码“更短”
我之所以总是使用较长的版本,主要是因为编码规则,不同的人数越多,这些规则对维护就越重要 在特定项目上工作的人