if里面放boolean变量的用法不懂

在for循环里面设置boolean bl变量,if判断条件,改写bl变量的值。

想不通的是,如果第一个if判断如果不成立,那么bl就为true,执行

//原代码是bl,写成bl=true好理解
  if(bl=true){
                System.out.println("到这儿来");
             }

如果成立,那么bl已经被改写为false了,那么按照我的想法,虚拟机一样会执行,
因为这里是变量,不是固定写死的,bl为true为false应该都能进

//原代码是bl,写成bl=false好理解
  if(bl=false){
                System.out.println("到这儿来");
             }

为什么最后打印的"到这儿来",只在为true时才打印。

 public class test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("c");
        for (int i = 0; i < list.size(); i++) {
            Boolean bl=true;
            if(list.size()>0){
                     bl=false;
                     break;
             }
             if(bl){
                System.out.println("到这儿来");
             }
        }
    }
}

17个回答

Java的出现就是为了弥补C++的不足,很多编程思想都是根据人的行为方式,如果你站在现实生活考虑的话,你觉得这个设计思想是非常合理的,Java会根据每个人的编程习惯,让人体验不同的编程风格,看起来简单明了,你可以根据自己的思维 if(b1==true),也可以选择默认简单的方式if(b1),其实最终的结果都是 if(b1 == true)。

你少些了个=吧?

 if(bl==false)

if(b1)的意思即为if(b1=ture)

for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}

for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}

for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}

for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}

for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}

for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}

for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}

共17条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问