学前体验:关于操作数类型

来源:互联网 发布:下载picsart软件中文版 编辑:程序博客网 时间:2024/04/29 05:43

试题类型: 填空题 分类: Java 出题人: 易文广(Java老师) 积分: 1 (回答正确增加相应积分,回答错误会减去相应积分) 目前回答正确率: / 题目:

public class Test{

  public static void main(String[] args)
  {
   char x='Y';
   int i=1;
   System.out.print(true? x:i);
   System.out.println(false ? 1:x);
  }

 

}



  你的回答: YY 回答结果: 正在处理中... 答案: 89Y 答案详解: 如果第二个和第三个操作数具有相同的类型,那么它就是条件表达式的类型。如果一个操作数的类型是T,T表示byte、short或char,而另一个操作数是一个int类型的常量表达式,它的值是可以用类型T表示的,那么条件表达式的类型就是T。否则,将对操作数类型运用二进制数字提升,而条件表达式的类型就是第二个和第三个操作数被提升之后的类型。

System.out.println(false?i:x);    //line5。表达式1是int类型的变量,表达式2是char类型的变量,没有常量表达式。因此要进行类型提升,把char类型提升为int类型,整个条件运算符结果的类型就是int类型。所以输出结果就是65。

原创粉丝点击