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("到这儿来");
             }
        }
    }
}

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

你少些了个=吧?

 if(bl==false)
 bl=false 这就是一个变量赋值,也就是b1赋值为false,结果等同于if(false){},唯一区别就是这里同时把b1赋值成false了。
 if(b1=false){
 }
 可以成
 b1=false;
 if(b1){
 }

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("到这儿来"); //你这个位置根本无法执行到
}
}

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("到这儿来"); //你这个位置根本无法执行到
}
}

不是很明白你问的,但是赋值=和==是不一样的