bod757
bod757
采纳率100%
2016-05-31 09:46 阅读 3.6k
已采纳

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

2

在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条回答 默认 最新

  • 已采纳
    architect_zero 程xxx 2016-05-31 10:09

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

    点赞 评论 复制链接分享
  • qq423399099 小灸舞 2016-05-31 09:49

    你少些了个=吧?

     if(bl==false)
    
    点赞 评论 复制链接分享
  • danielinbiti danielinbiti 2016-05-31 09:50
     bl=false 这就是一个变量赋值,也就是b1赋值为false,结果等同于if(false){},唯一区别就是这里同时把b1赋值成false了。
     if(b1=false){
     }
     可以成
     b1=false;
     if(b1){
     }
    
    点赞 评论 复制链接分享
  • zhou18yi zhou18yi 2016-05-31 09:55

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:07

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:07

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:07

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:07

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:07

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:08

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:08

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:08

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:08

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:08

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:08

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

    点赞 评论 复制链接分享
  • qq_35179198 韩少_ 2016-05-31 10:08

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

    点赞 评论 复制链接分享
  • NK_test NK_test 2016-05-31 16:09

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

    点赞 评论 复制链接分享

相关推荐