zoukankan      html  css  js  c++  java
  • Java基础知识强化23:Java中数据类型转换(面试题)

    1. 以下代码输出结果是( D )。

                        public  class  Test   {

                                         public  static  void  main(String[]  args) {

                                                           int  a=5;

                                                           System.out.println("values is "+((a < 5) ? 10.9 : 9 ) );

                                           }

                             }

    A. 编译错误    B.  10.9    C. 9     D. 以上答案都不对。

    解析:如果你不假思索地直接选C,就恰恰中了题目设置的陷阱。注意到((a<5)? 10.9 : 9)里面有一个10.9,而后面直接跟了一个9。

    这时候Java就会根据运算符的精度类型进行自动类型转换,由于前面有一个10.9,所以后面的9也会自动变成9.0,因此选择D

     

    2. 以下代码的输出结果是( A )。

    import  java.util.*;

                  public  class  Test {

                                  public  static  void   main(String[]  args) {

                                                  char   x = 'x';

                                                   int  i = 10;

                                                   System.out.println(false ?  i : x);

                                                   System.out.println(false ? 10: x);

                                    }

                       }

    A. 120 x             B.120 120            C. x 120               D. 以上答案都不对

    解析:int i =10;中的i是一个变量,因此,第一个输出x被自动提升为int型了,因为i是int类型,x的int值为120,所以第一个输出为120

    至于第2个输出,java编程规范中提到:当后两个表达式有一个是常量表达式(本题中是10)时,另外一个类型是T(本题中是char)时,而常量表达式可以被T表示是(representable in type  T),输出结果是T类型。所以,因为10是常量,可以被char表示。输出结果是char型的

  • 相关阅读:
    瀑布流-03-通过封装的自定义布局快速实现商品展示
    瀑布流-02-手把手教你封装自定义布局
    瀑布流-01-自定义布局实现绚丽的瀑布流
    CoreAnimation-09-模拟时钟
    CoreAnimation-08-CATransition
    CoreAnimation-07-CAAnimationGroup
    CoreAnimation-06-CAKeyframeAnimation
    CoreAnimation-05-CABasicAnimation
    CoreAnimation-04-核心动画必备基础
    logstash+elasticsearch 错误摘记
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4817622.html
Copyright © 2011-2022 走看看