黑马程序员技术交流社区

标题: 两个if [打印本页]

作者: 昨夜的雨    时间: 2015-10-5 18:53
标题: 两个if
能并列用两个if不,不是嵌套,不是else if。就是并列使用。
if ("赵六".equals(p.getName())) {
                                System.out.println("存在赵六,把他删除!");
                                list.remove(p);
                        }
                        if ("田七".equals(p.getName())) {
                                System.out.println("存在田七,把他更换为孙七");
                                Person p9 = new Person("孙七", 85);
                                list.remove(p);
                                list.add(p9);
为什么第一个成立了就不会执行第二句,求解啊

作者: outxf003    时间: 2015-10-5 19:00
第二个if可以看做else啊
只有第一个条件不成立才会执行第二个
作者: 邬jerry    时间: 2015-10-5 19:14
都会执行,你的判断条件没满足
Scanner sc = new Scanner(System.in);
                int a = sc.nextInt();
                if (a == 1) {
                        System.out.println("哈哈");
                }
                if (a == 1) {
                        System.out.println("呵呵");
                }
这段代码你输入1,哈哈和呵呵都会打出来
作者: wx_HWRW5aF7    时间: 2015-10-5 19:32
P对象的name属性只会有一个值,不可能即使赵六,又是田七,但是第一个成立之后 ,第二个判断语句“ if ("田七".equals(p.getName()))”还是会执行的 只是大括号内的语句不会执行,

建议这样写
if ("赵六".equals(p.getName())) {
        System.out.println("存在赵六,把他删除!");
         list.remove(p);
}else   if ("田七".equals(p.getName())) {
        System.out.println("存在田七,把他更换为孙七");
        list.remove(p);
        list.add(new Person("孙七", 85));
}




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