java语句的问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:27:26
return n==0?0:n+P(n-1);

一个函数的一句话 传过去 100 传回来5050 这句话什么意思? 分开说清楚点 谢谢

这个是java的条件表达式,可以用来代替if(){}else{}
n==0?0:n+P(n-1);
解释是
如果n等于0就取0值如果n不等于0就取n+P(n-1)的值

n==0 判断条件
? 符号
0 值1
: 符号
n+P(n-1)值2
如果条件为真就取值1,如果条件为假就取值2

这句话对应的java语句为
if(n==0){
return 0;
}else{
return n+p(n-1);
}

如果n等于0 就返回0 否则返回 n+ p(n-1);
你仔细看看,你的函数 p(99) 是不是等于 5050-100;
明白了吧?

这是java的三目运算符 可以减少 在java代码中if语句的出现
习惯了就好了

这个使用了三目运算符它相当于
if(){

}else{

}格式语句块,所以这个你可以把它翻译成
public static void P(int n){
if(n==0){ //如果n等于0时则返回0
return 0;
}else{
return n+P(n-1);//递归调用p方法
}
}
如果传100次就相当于p方法调用了100次相加
也就是1+2+......+100=5050

Java里面最简单的迭代语句

是做1到100的叠加吗?