java中boolean flag;if(flag)的问题
Booleanflag=flase;if(flag)这个flag,为什么在if()中默认的是true,跟我设定不设定值是没有关系的是么?为什么会这样,只是一个规则吗?Sy...
Boolean flag = flase;
if(flag) 这个flag,为什么在if()中默认的是true ,跟我设定不设定值是没有关系的是么?为什么会这样,只是一个规则吗?
System.out.println("...");
if(!flag)
System.out.println("...");
不好意思,代码大小写可能写错了,我上全一点的代码,但还是不全,字数超限了。
class Res
{
private String name;
private String sex;
private boolean flag = false;
public synchronized void set(String name,String sex)
{
if(flag)
try{this.wait();}catch(Exception e){}
}
public synchronized void out()
{
if(!flag)
try{this.wait();}catch(Exception e){}
}
}
这是多线程中其中的一个类,我现在就是想问一下, private boolean flag = false;这里将flag设置为假,为什么下面的 if(flag)中的flag是真呢 展开
if(flag) 这个flag,为什么在if()中默认的是true ,跟我设定不设定值是没有关系的是么?为什么会这样,只是一个规则吗?
System.out.println("...");
if(!flag)
System.out.println("...");
不好意思,代码大小写可能写错了,我上全一点的代码,但还是不全,字数超限了。
class Res
{
private String name;
private String sex;
private boolean flag = false;
public synchronized void set(String name,String sex)
{
if(flag)
try{this.wait();}catch(Exception e){}
}
public synchronized void out()
{
if(!flag)
try{this.wait();}catch(Exception e){}
}
}
这是多线程中其中的一个类,我现在就是想问一下, private boolean flag = false;这里将flag设置为假,为什么下面的 if(flag)中的flag是真呢 展开
5个回答
展开全部
这个我在一开始也有误解,老是觉得自己在一开始设定了Boolean flag=false;然后if(flag)中的flag就应该按false来判断,就会觉得if(flag)的意思就是“如果为假”。
这样的认为是错误的,if(flag){}.....if(!flag) 是java中的固定语法,你在开始设置的值只是作为这个判断语句判断的依据罢了。你设置的flag=false,在判断语句中一经判断不是真,就直接执行if(!flag){...code...},因为“如果为假”满足已设置的Boolean flag=false;的要求。
这样的认为是错误的,if(flag){}.....if(!flag) 是java中的固定语法,你在开始设置的值只是作为这个判断语句判断的依据罢了。你设置的flag=false,在判断语句中一经判断不是真,就直接执行if(!flag){...code...},因为“如果为假”满足已设置的Boolean flag=false;的要求。
展开全部
1,flase你写错了,应该是false
2,最好不用封装类型Boolean,用基本类型boolean,必竟你只做判断用,不需要.(点)出来其对像的方法来参与之后的操作.
public static void main(String[] args) {
Boolean flg = false;
if (flg) {
System.out.println("OK");
}
if (!flg) {
System.out.println("NG");
}
} }
结果是NG
2,最好不用封装类型Boolean,用基本类型boolean,必竟你只做判断用,不需要.(点)出来其对像的方法来参与之后的操作.
public static void main(String[] args) {
Boolean flg = false;
if (flg) {
System.out.println("OK");
}
if (!flg) {
System.out.println("NG");
}
} }
结果是NG
更多追问追答
追问
我把问题改了一下,您看能帮我再解答一下吗
追答
主要看看你flg在什么时候设值为true了。有代码吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上代码,全一点啊,你这样的什么都看不出来。
boolean flag = flase;
if(flag){
}
这个括号里面的是false的啊
B要小些 大小写敏感
boolean flag = flase;
if(flag){
}
这个括号里面的是false的啊
B要小些 大小写敏感
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Boolean 和 boolean 都可以,区别是前面是类,后面是基本类型,只是你的false写错了,你写成了flase。Boolean flag = false;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有这样的规定!
开始flag的默认值视情况而定!
开始flag的默认值视情况而定!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询