有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

为什么在这个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) 个答案

  1. # 1 楼答案

    这条线

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

    可视为

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

    也就是说,它有一个条件if,当满足这个条件时,有一个关于该做什么的语句。也就是说,第二个max不是if的逻辑表达式的一部分,它是有条件执行的代码的一部分

    总的效果是查看myList中的每个条目,将其与之前看到的最大值进行比较,并将较高的条目与之前看到的最高值保持一致

    关于“为什么?”,这是品味的问题
    这样做的好处是,输入的字符更少,读取的代码“更短”
    我之所以总是使用较长的版本,主要是因为编码规则,不同的人数越多,这些规则对维护就越重要 在特定项目上工作的人