Abd*_*ahR 1 java arrays methods if-statement
在这段代码中:
public static void main(String []args){
int [] a = {10, 20, 30};
if(m1(a))
m2(a, 0);
else
m2(a, 1);
for(int i = 0; i < a.length; i++)
System.out.println(a[i] + " ");
}
public static boolean m1(int [] a){
return a[0] == a[1] / 2;
}
public static void m2(int [] a, int b){
a[b] = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
在m2什么线后return,这是a[0] == a[1] / 2什么?这是小鸡的声明吗?因为它会让人感到困惑return
我想你的意思是m1.
无论如何,如果您阅读如下代码会有所帮助:
public static boolean m1(int [] a){
return (a[0] == (a[1] / 2));
}
Run Code Online (Sandbox Code Playgroud)
记下运算符优先级:在相等之前计算括号.也就是说,返回a [0]和表达式结果(a [1]/2)之间的相等性.
如果您不知道您的优先规则,您可以选择将代码读取为:
public static boolean m1(int [] a){
int i = a[1] / 2;
boolean foo = (a[0] == i);
return foo;
}
Run Code Online (Sandbox Code Playgroud)
return a[0] == a[1] / 2
Run Code Online (Sandbox Code Playgroud)
如果表达式实际为真,则返回true,即.a [0]等于a [1]除以2,否则为假.