日期:2014-05-20  浏览次数:20795 次

求高手解释 boolean
boolean flag;
if(flag)
{
 
 }

if(flag==true)
{
 
 }//
 有什么区别啊 我在一程序中用后一种行不通,上网查了查又出了一种if((flag=true)==true),彻底的凌乱了。。。求大牛们解释哈

------解决方案--------------------
第一个,就是你的flag没有初始化,所以不可以。

第二个,就是让你的boolean型变量的逻辑运算,看看是不是相等。

第三个,flag=true,先对变量赋值,然后做比较,相当于
flag = true;
if (flag == true){
......
}
------解决方案--------------------
if(flag==true)
{
  
 }//
你说这种行不通主要是因为你没有给flag赋值,会报空指针异常
------解决方案--------------------
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The local variable flag may not have been initialized

在你未给flag初始化之前使用,这个变量,都会出现如上的异常!
------解决方案--------------------
探讨
第一个,就是你的flag没有初始化,所以不可以。

第二个,就是让你的boolean型变量的逻辑运算,看看是不是相等。

第三个,flag=true,先对变量赋值,然后做比较,相当于
flag = true;
if (flag == true){
......
}