为什么编译失败的代码?

时间:2010-09-02 00:01:34

标签: java

另一个SCJP问题。我认为输出是K = 7,但本书的答案是“编译失败”。我只是没有看到代码有什么问题。

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 个答案:

答案 0 :(得分:2)

好的,编译它。输出确实是k = 7。 Anita:1,书:0。谢谢大家!

答案 1 :(得分:1)

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

答案 2 :(得分:0)

是的,对我来说很好看。它是在正确命名的文件中吗?

相关问题