Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解java if子句语法_Java - Fatal编程技术网

理解java if子句语法

理解java if子句语法,java,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

我正在阅读以下代码,我不理解本条款中的
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";
  }      
publicstaticstringarrayadditioni(int[]arr){
//找到max
数组。排序(arr);
int最大值=arr[arr.length-1];
整数和=0;
对于(int i=0;i<(arr.length-1);i++){
总和+=arr[i];
}
java.util.List List=new java.util.ArrayList();
对于(int i=0;i<(arr.length-1);i++){
列表。添加(arr[i]);
}
如果(最大==和)返回“真”;
for(整数在:列表中){
如果(总和==最大值){
返回“真”;
}
}
返回“false”;
}      

它只是一个减号。减法。求和减去。从总和中减去

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

“嘿,我不确定这是怎么回事,也许我应该试着把它打印出来:”


这是一个整合:

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

这是减法。它可以改写为

if ( (sum - in) == largest)

编辑:我意识到这只是Java变量命名规则的结果。如果滚动到此页面底部,您将看到。TL;DR:变量名中唯一允许使用的符号是字母数字字符、下划线“u”和美元符号“$”,它们实际上使用得不多。

中的sum
减去
。这就是为什么我们应该有空格:
如果(sum-in=maximum)
in
是一个整数。你在做一个减号应该有一个很接近的原因…这个问题似乎离题了,因为OP不知道“-”是减号。@Marounnaroun我认为更重要的是,变量在
中被命名为
,这一事实使他无法将其解释为运算符。
if ( (sum - in) == largest)