
java if(a > b ? (a < b ? 0 : 1) : -1)大白话解释一下各个步骤被
如题,大白话,各个步骤的解释,我刚入学,小学生,呵呵~谢谢哥哥姐姐了~!这么的吧,我想实现以下的判断,如何用三元运算符表达一小下:if(a>b){System.out.p...
如题,大白话,各个步骤的解释,我刚入学,小学生,呵呵~谢谢哥哥姐姐了~!
这么的吧,我想实现以下的判断,如何用三元运算符表达一小下:
if( a > b ){ System.out.println("1");}
else if( a == b){ System.out.println("0");}
else if (a < b ){System.out.println("-1");} 展开
这么的吧,我想实现以下的判断,如何用三元运算符表达一小下:
if( a > b ){ System.out.println("1");}
else if( a == b){ System.out.println("0");}
else if (a < b ){System.out.println("-1");} 展开
6个回答
展开全部
例子:
int max=a>b?a:b;
//这个例子相当于
if(a>b){
max=a;
}else{
max=b;
}
而你的if(a>b?(a<b?0:1):-1)
先运行小括号里面的a<b?0:1;
int result=a<b?0:1;
就变成: if(a>b?result:-1)
因此当a>b时,就是true,就执行if里面的语句,否则就是false,就执行else里面的语句
如果a=b的话,你还用判断大小吗?两个值都相等了~排列哪个在前面后面都一样~
要判断a=b可以再写if语句判断的~三元运算符只是判断大小的~~!!
if( a > b ){ System.out.println("1");}
else if( a == b){ System.out.println("0");}
else if (a < b ){System.out.println("-1");}
这个不能用三元运算了~有语句了~!!
你可以
if( a > b ){ System.out.println("1");}
else if (a < b ){System.out.println("-1");}
else{ System.out.println("0");}
int max=a>b?a:b;
//这个例子相当于
if(a>b){
max=a;
}else{
max=b;
}
而你的if(a>b?(a<b?0:1):-1)
先运行小括号里面的a<b?0:1;
int result=a<b?0:1;
就变成: if(a>b?result:-1)
因此当a>b时,就是true,就执行if里面的语句,否则就是false,就执行else里面的语句
如果a=b的话,你还用判断大小吗?两个值都相等了~排列哪个在前面后面都一样~
要判断a=b可以再写if语句判断的~三元运算符只是判断大小的~~!!
if( a > b ){ System.out.println("1");}
else if( a == b){ System.out.println("0");}
else if (a < b ){System.out.println("-1");}
这个不能用三元运算了~有语句了~!!
你可以
if( a > b ){ System.out.println("1");}
else if (a < b ){System.out.println("-1");}
else{ System.out.println("0");}
展开全部
这是一个( ? :) 公式,如:
表达式 ?表达式 :表达式
运算
意思就是问号(?)前面的表达式如果为真就计算问号(?)后面冒号(:)前面的表达式,如果为假,就运算冒号(:)后面的表达式
对于你这个运算的结果就是
1.如果a>b为真则计算a<b?0:1所以得的结果就是 1
2.如果a不大于b意思就是说a小于等于b则运算得到的结果就是 -1
表达式 ?表达式 :表达式
运算
意思就是问号(?)前面的表达式如果为真就计算问号(?)后面冒号(:)前面的表达式,如果为假,就运算冒号(:)后面的表达式
对于你这个运算的结果就是
1.如果a>b为真则计算a<b?0:1所以得的结果就是 1
2.如果a不大于b意思就是说a小于等于b则运算得到的结果就是 -1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的三元表达式写的不对吧?
我觉得直接返回这个就好。一句就可以解决
return a > b ? (a < b ? 1 : 0) : -1;
步骤:1:a>b成立取值冒号前的(a < b ? 1 : 0)
步骤:2:a>b不成立取值冒号后的-1
我觉得直接返回这个就好。一句就可以解决
return a > b ? (a < b ? 1 : 0) : -1;
步骤:1:a>b成立取值冒号前的(a < b ? 1 : 0)
步骤:2:a>b不成立取值冒号后的-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按优先级来(从左到右的顺序),判断a>b是否成立,若成立,则执行(a<b?0:1),否则if里面的值为-1(布尔值为0).而对于(a<b?0:1)的判断与上面类似,若a<b成立,则a<b?0:1)=0,否则a<b?0:1)=1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是三元运算符
意思是说 a如果大于b 就进入 (a < b ? 0 : 1) 否则就是-1 ; 进入里面的也是一样的
a如果大于b 结果就是0 不是的话就是1;
就这样啦
意思是说 a如果大于b 就进入 (a < b ? 0 : 1) 否则就是-1 ; 进入里面的也是一样的
a如果大于b 结果就是0 不是的话就是1;
就这样啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询