if (a && b)
若a为false,那么不会在执行b,即a && b短路
if (a || b)
若a为true,那么不会在执行b,即a || b短路
leetcode题目链接
求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
递归解法,涉及到if
public class Solution {
public int sumNums(int n) {
if (n == 1) {
return 1;
}
return n += sumNums(n - 1);
}
public static void main(String[] args) {
Solution sol = new Solution();
int res = sol.sumNums(9);
System.out.println(res);
}
}
改成:
public class Solution {
public int sumNums(int n) {
boolean x = n > 1 && (n += sumNums(n - 1)) > 1;
return n;
}
public static void main(String[] args) {
Solution sol = new Solution();
int res = sol.sumNums(9);
System.out.println(res);
}
}