代码之家  ›  专栏  ›  技术社区  ›  Bad Request

为什么编译这个代码会失败?

  •  2
  • Bad Request  · 技术社区  · 14 年前

    1. class RevQOne{
    2.   public static void main(String [] args) {
    3.     boolean i = true;
    4.     boolean j = false;
    5.     short k = 10;
    6.    if((k == 10) && (j = true))k--;
    7.    if((i = false) || ( k == 9)) 
    8.        k--;
    9.        k--;
    10.     System.out.println("k=" + k);
    11.   }
    12. }
    

    PS:第6行和第7行中的傻=符号以及第7行中缺少大括号的if都是故意的。我想,这个问题是为了测试我对这些东西在被滥用时的行为的了解。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Bad Request    14 年前

        2
  •  1
  •   Matthew Flaschen    14 年前

    你完全正确。它确实编译了(前面的答案是错误的),尽管赋值很粗略,这就是输出。

        3
  •  0
  •   MStodd    14 年前