当前位置:刘伯温火凤凰公式网 > 三目运算符 >

java 三目运算符

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部首先,对于a?b:c的运算符,当a为true时,运算结果为b,当a为false时,运算结果为c;

  运算时,必须是处于同一种数据类型进行运算的,所以,true?x:1111111110中,由于x是char型,1111111110是int型,而int型大于char型,所以运算时x将被自动转换成int型数据进行运算,b转换成int后的值等于98,所以,输出98;

  同理,false?i:x中,i为int型、x为char型,所以也一律转换成int型进行运算,即x被转换成了98,由于?左侧的值为false,所以输出x的值,即98.

  展开全部这个问题主要考察的应该不是三目运算符,而是java运算的自动转换。

  第一行计算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。

http://idagoldadv.com/sanmuyunsuanfu/307.html
点击次数:??更新时间2019-07-30??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】