另一个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都是故意的。我想这个问题是为了测试我对这些事情在滥用时的行为方式的了解。
答案 0 :(得分:2)
好的,编译它。输出确实是k = 7。 Anita:1,书:0。谢谢大家!
答案 1 :(得分:1)
你是完全正确的。它确实编译(以前的答案是错误的),尽管粗略的赋值为值,这就是输出。
答案 2 :(得分:0)
是的,对我来说很好看。它是在正确命名的文件中吗?