Java三目运算符

System.out.println("输入san个数字:");inta=qwe.nextInt();intb=qwe.nextInt();intc=qwe.nextIn... System.out.println("输入san个数字:");
int a=qwe.nextInt();
int b=qwe.nextInt();
int c=qwe.nextInt();
int g;
g=a>b?a:b;
System.out.print(g);
如果我输入三个数字 在三目运算符里面应该怎么去写
展开
 我来答
一生秋一0ha
2019-09-22 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:702万
展开全部
这个问题主要考察的应该不是三目运算符,而是java运算的自动转换。
i为int类型
x为char类型
第一行计算x和0,此时0可以被看作是char类型,所以x并没有被转换,而是直接输出B
第二行计算x和1111111110,而1111111110是无法保存为char类型的,只能当作int,所以此时x需要被强转成int之后再进行运算,char类型的x在强转成int之后就变成了他的asc码。也就是66。
第三行,计算x和i,i是int类型,所以与第二行同理,x被自动转换成int,结果为66。
如果问题解决,请采纳本答案
怀含灵5r
2014-06-07 · 超过71用户采纳过TA的回答
知道答主
回答量:167
采纳率:71%
帮助的人:60.5万
展开全部
额、有这么麻烦么?
直接
switch(Integer.valueOf(ptype12==null?"-1":ptype12)){
case -1;return ptype;break;
.. .. . .. . .
}
如果非要用三目运算符
得这么写
return "9".equals(ptype12)?ptype12:(其它表达式);
三目运算符是这个样子滴
布尔值?F1:F2
如果布尔值为真,执行F1,否则F2
还涉及到运算符优先级的问题
如果后面太长最好括起来
另外三目运算符不能单独使用,不能完全代替if else
可能会这么出现
value = boolean?v1:v2;
StringBuffer.append(boolean?v1:v2);
return boolean?v1:v2;
反正就是不能直接拿出来用了
以上回答你满意么?
追问
我必须要用三目  因为是作业   你写的我没看明白呀!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式