今天在群里看到有人发了一个问题,问题出自(一家公司的笔试面试题),当时第一眼看到时还感觉有点意思,随后经过分析琢磨想到了一种解法:
三元操作符也称条件操作符,它显得比较特别,因为它有三个操作数,但它确实不属于操作符的一种,因为它最终也会生成一个值。
boolean-exp?value0 :value1;
如果boolean-exp为true就计算value0否则计算value1
如果你打算频繁使用,还是多考虑下,它容易产生可读性极差的代码
好了,不说了,直接上代码了:
public class TestSum {
//不使用乘除法和if、 while、switch、for等关键字计算
private static int sum(int i) {
return i==1? i:i+sum(i-1);
}
//使用if计算
private static int num(int n){
if(n==1){
return n;
}else{
return n+num(n-1);
}
}
public static void main(String[] args){
int n1=TestSum.sum(100);
System.out.println(n1);
int n2=TestSum.num(100);
System.out.println(n2);
}
}
sum结果:5050
num结果:5050