Talk is cheap, show you my code!
先看一段Java代码:
package com.test;
/**
* @author ZhangGuoPing
*/
public class Test {
public static void main(String[] args){
boolean x;
if(x = 0){
System.out.println("平果");
}
}
}
现在我想问个问题,这段代码能不能通过编译?
boolean类型是Java八大基本类型之一,boolean类型只有两个值:false和true,用来判定逻辑条件。
在C/C++中,数值可以代替boolean值,0值相当于false,非0值相当于true,而在Java中整型值和boolean值之间不能进行相互转换。因此对于上面那段代码,在C/C++中,可以通过编译,并且可以运行,其结果总是false。而在Java中,上面那段代码不能通过编译,其原因是整数赋值表达式 x = 0的返回值不能转换为boolean值(注:x = 0是赋值表达式,表达式返回的值是它被赋的那个值)。
小结:
在Java中整型值和boolean值之间不能进行相互转换。
原文:https://www.cnblogs.com/pingGeBeauty/p/14920994.html