黑马程序员技术交流社区

标题: 判断的区别 [打印本页]

作者: 姚伟涛    时间: 2012-4-25 10:27
标题: 判断的区别
!(3==3)
3!=3
equals()
这三个判断的含义和区别?
作者: 高彰谦    时间: 2012-4-25 10:37
1,2没区别,第三个是用于对象的比较,只有对象重载了该方法才能实现特定的比较,如果没有重载则调用Object的equals方法,只是用==去判断而已。
作者: kevindavid    时间: 2012-4-25 10:40
本帖最后由 kevindavid 于 2012-4-25 10:42 编辑

!(3==3)是表示不是3==3
3!=3刚是3不等 于3
equals()则是操作表示的两个变量是否对同一个对象的引用,也就是堆(实体)中的内容是否相同。
作者: 罗旭维    时间: 2012-4-25 10:47
!(3==3),3!=3。
如果两个比较对象不相等值为‘真’。
equals()
如果两个比较对象相等值为‘真’。

区别是形式不一样,目的是一样的就是比较两个对象是否相等。

作者: 邱俊杰    时间: 2012-4-25 10:47
int a=3;
                int b=3;
                if(!(a==b))
                {
                        System.out.println("!(3==3)");
                }else if(a!=b)
                {
                        System.out.println("3!=3");
                }
                else if(3==3)
                {
                        System.out.println("3==3");  //z执行这里
                }  
   
!(3==3)
3!=3  这两个是一样的效果。
equles是继承了Object定义自己的特有的对比方式,比的是内容、
  1. String a="3";
  2.                 String b="3";
  3.                 if(a.equals(b))
  4.                 {
  5.                         System.out.println("!(3==3)");//执行这里
  6.                 }else if(a==b)
  7.                 {
  8.                         System.out.println("3!=3");
  9.                 }
复制代码





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