黑马程序员技术交流社区

标题: 交通管理灯Road类里面if(lighted==true)问题 [打印本页]

作者: 还记得梦想吗    时间: 2013-12-20 01:49
标题: 交通管理灯Road类里面if(lighted==true)问题
if(lighted==true)和if(lighted) 他们之间的区别是什么?不是很理解 大家说下 各种用法的好处
ScheduledExecutorService timer = Executors.newScheduledThreadPool(1);
                timer.scheduleAtFixedRate(
                                new Runnable(){
                                        public void run() {
                                                if(vechicles.size()>0){
                                                        boolean lighted = true;
                                                        //if(lighted==true)
                                                        if(lighted)
                                                        {
                                                                //remove返回值是什么  正在取得的那个值
                                                                System.out.println(vechicles.remove(0) + "is traversing !");
                                                        }
                                                }
                                        }                                       
                                },
                                1, //initialDelay
                                1, //period
                                TimeUnit.SECONDS);//unit


作者: HAnG    时间: 2013-12-20 01:55
if是判定语句,括号中运算的结果不是true就是false,而lighted就是boolean型的变量,直接if(lighted)就能判断真假了,效率当然比if(lighted == true)判断2次来得快。
作者: 弘一    时间: 2013-12-20 09:54
1.如果是if(lighted==true)
首先需要判断lighted == true,当为true的时候则会变成
if(true)然后if再判断()里面的布尔值是true还是false。
总共进行了两次的判断。
2.如果是if(lighted),
则if直接判断()里面的布尔值是true还是false。
总共进行了一次的判断。
在没有对lighted有什么特殊需求是则使用第二种。
但比如当我的lighted是不亮的情况,我才能XX。
if语句只控制我XX,则只有if()没有else那么使用第一种。
作者: 黄伟财    时间: 2013-12-20 20:16
1.如果是if(lighted==true),要判断lighted == true,条件满足才会执行下面的,布尔值的真假,总共进行了两次的判断。
2.如果是if(lighted),if会直接判断()里面的布尔值的真假,进行了一次的判断。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2