一 求1+2+3+4+...+n(不用乘除、else、if、while等)

本体的关键是运用逻辑符的短路效应
**短路效应:**如&&逻辑符,如前半部分正确,则不会进如后半部分。
再将其与递归结合,即可避免使用if完成递归

class Solution {
    int res = 0;
    public int sumNums(int n) {
        //运用运算符得短路效用
        boolean x = n > 1 && sumNums(n-1) > 0;
        res +=n;
        return res;
    }
}

二、不用加减乘除运算符完成求和运算

此题用递归写比较容易理解,即一直将第二个数转换为0,此时可以不用加法完成求和(+0还是原来的数)

class Solution {
    public int add(int a, int b) {
        if(b==0)
        return a;
        return add(a^b,(a&b)<<1);
    }
}

Q.E.D.