请问这个为什么编译不能通过?

img

while(i) 代码有误, 与 C 语言不同,while 括号中只能为 boolean 类型的变量或表达式,i 的类型为 int,因此编译不能通过。

java中while循环条件需要boolean类型

类型不匹配
while()里边得是布尔类型的
不能使用int类型

因为结果是i=1,但是没有选项,所以排除所有的可能性之后,选择D

选D,亲测编译不过。语法问题。搞个eclipse写一下就知道了
(1) while(i) 错误原因:楼上有人说了while接受的参数要是boolean类型,i 不是boolean类型
(2) ++i 后面语法要加语句结束的分号;
(3)类的内容体少了右边花括号 }

img