理解java if子句语法

时间:2014-07-03 14:10:43

标签: java

我正在阅读以下代码,我不明白本条款中sum-in的含义:

if (sum-in == largest)

以下是该行的上下文:

public static String ArrayAdditionI(int[] arr) {
    // find max
    Arrays.sort(arr);

    int largest = arr[arr.length - 1];

    int sum = 0;
    for (int i = 0; i < (arr.length - 1); i++) {
        sum += arr[i];
    }

    java.util.List<Integer> list = new java.util.ArrayList<Integer>();

    for (int i = 0; i < (arr.length - 1); i++) {
        list.add(arr[i]);
    }

    if (largest == sum) return "true";

    for (Integer in : list) {
        if (sum-in == largest){
            return "true";
        }
    }
    return "false";
  }      

3 个答案:

答案 0 :(得分:3)

它的减法。它可以改写为

if ( (sum - in) == largest)

编辑:我意识到这只是Java变量命名规则的结果。如果您滚动到此页面底部,您将看到naming rules。 TL; DR:变量名中允许的唯一符号是字母数字字符,下划线&#39; _&#39;和美元sighn&#39; $&#39;这并没有真正用得多。

答案 1 :(得分:1)

这只是一个减号。用于减法。总和减去。总和减去。

更一般地说,当您遇到类似问题时,应该使用print语句或调试器来查找更多信息。

&#34;嘿,我不确定那是做什么的,也许我应该尝试将其打印出来:&#34;

System.out.println(sum);
System.out.println(in);
System.out.println(sum-in);
System.out.println(largest);
System.out.println(sum-in == largest);

答案 2 :(得分:1)

这是对此的巩固:

int temp = sum - in;
if (temp == largest){
...