黑马程序员技术交流社区

标题: 哪里错了,告诉一下原因 [打印本页]

作者: TS__likewise    时间: 2014-6-25 20:02
标题: 哪里错了,告诉一下原因
class Tmd {
   byte a = 10;
   int b = 20;
   public void method(int i) {
      byte x;
       x = i=0 ? ++a : ++b;
      System.out.println("x=" + x + " a=" + a + " b=" + b);
   }
}
class TestTmd {
   public static void main(String args[]) {
     Tmd o = new Tmd();
      o.method(0);
      o.method(1);
   }
}

作者: 黎志勇    时间: 2014-6-25 20:13
class Tmd {
   byte a = 10;
   int b = 20;
   public void method(int i) {
      byte x;
       x = (byte)(i==0 ? ++a : ++b);
      System.out.println("x=" + x + " a=" + a + " b=" + b);
   }
}
class TestTmd {
   public static void main(String args[]) {
     Tmd o = new Tmd();
      o.method(0);
      o.method(1);
   }
}
作者: 玉冰竹    时间: 2014-6-25 20:23
三元运算符那里,一个等号是赋值,两个等号才是判断。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2