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);
如果我输入三个数字 在三目运算符里面应该怎么去写 展开
int a=qwe.nextInt();
int b=qwe.nextInt();
int c=qwe.nextInt();
int g;
g=a>b?a:b;
System.out.print(g);
如果我输入三个数字 在三目运算符里面应该怎么去写 展开
2个回答
展开全部
这个问题主要考察的应该不是三目运算符,而是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。
如果问题解决,请采纳本答案
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。
如果问题解决,请采纳本答案
展开全部
额、有这么麻烦么?
直接
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;
反正就是不能直接拿出来用了
以上回答你满意么?
直接
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;
反正就是不能直接拿出来用了
以上回答你满意么?
追问
我必须要用三目 因为是作业 你写的我没看明白呀!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询