摘自《Java核心技术 卷I》P36.C++注释
在C++中,数值甚至指针都可以代替布尔值。值 0 相当于布尔值false,非 0 值相当于布尔值true。
在 JAVA中则不是这样。因此,Java程序员不会遇到下述麻烦:
if ( x=0 ) // 意为 x==0
在C++中上面的程序可以编译运行,但结果总是 False;而在Java中,这个程序将不能通过编译,其原因为:整数表达式 x=0 不能转换为布尔值。
摘自《Java核心技术 卷I》P36.C++注释
在C++中,数值甚至指针都可以代替布尔值。值 0 相当于布尔值false,非 0 值相当于布尔值true。
在 JAVA中则不是这样。因此,Java程序员不会遇到下述麻烦:
if ( x=0 ) // 意为 x==0
在C++中上面的程序可以编译运行,但结果总是 False;而在Java中,这个程序将不能通过编译,其原因为:整数表达式 x=0 不能转换为布尔值。