美文网首页
java中关于三目运算符的问题

java中关于三目运算符的问题

作者: 浪痕 | 来源:发表于2015-01-23 17:50 被阅读75次

    java中常用的三目运算符,大家都知道

     int a = 10;
     char b = 'x';
     System.out.println(false?10:b);//结果为x
     System.out.println(false?a:b);//结果为120
    

    可是在看IO流源码时发现了这个:

    public synchronized int read() {
            return (pos < count) ? (buf[pos++] & 0xff) : -1;
    }
    

    关于类型转换的时间就成了问题。

    byte a = -1;
    int b;
    int e;
    b = (true)?(a&0xff):-1;// b = 255
    e = (true)?a:-1;  // e = -1
    

    我很奇怪a被转型(int)的时间

    相关文章

      网友评论

          本文标题:java中关于三目运算符的问题

          本文链接:https://www.haomeiwen.com/subject/vtahxttx.html