精华内容
下载资源
问答
  • 区别如下:==操作符专门用来比较两个变量的值是否相同,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等只能用==操作符equals方法用来比较两个独立对象的...

    ca2546bded1b6797bedc4c48ffc365dc.png

    区别如下:

    ==操作符专门用来比较两个变量的值是否相同,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等只能用==操作符。

    equals方法用来比较两个独立对象的内容是否相同,就好比去比较两本书是否相同,它比较的两个对象是独立的。

    示例:String a = new String("AA");

    String b = new String("AA");

    System.out.println(a==b);

    System.out.println(a.equals(b));

    两条new语句创建了两个对象,然后用a,b两个变量分别指向其中的一个对象,这是两个不同的对象,ta们的首地址是不同的,即a,b中存储的数值是不同的,所以表达式a==b将返回false,而两个对象中的内容是相同的,所以a,equals(b)返回了true。

    (视频教程推荐:java视频教程)

    注意:字符串的比较基本上都是使用equals方法。

    如果一个类没有自己定义的equals方法,那么它将继承Object类的equals方法,Object类的的实现代码如下:boolean equals(Object o)

    {

    return this==o;

    }

    这说明如果一个类没有自己定义的equals方法,ta默认的equals方法,等同于使用==操作符,也就是比较两个变量指向的对象是同一个对象。这时候使用equals和==。

    会得到相同的结果!!如果希望写的类能够比较两个实例对象的内容是否相同,则需要覆盖equals方法!

    展开全文
  • ==操作符: 比较基本数据类型的时候比较值,只要两个变量的值相等,即为true; 比较引用类型的时候比较引用(是否指向同一个对象),比较是对象的内存地址,只有指向同一个对象时,==才返回true Person p1 = new ...

    ==操作符:
    比较基本数据类型的时候比较值,只要两个变量的值相等,即为true;
    比较引用类型的时候比较引用(是否指向同一个对象),比较是对象的内存地址,只有指向同一个对象时,==才返回true
    Person p1 = new Person();
    Person p2 = p1;这种情况才会返回true
    ==操作符比较对象时,两边的数据类型必须兼容,否则会编译出错

    equals()方法:
    所有类都继承了Object,也就获得了equals()方法
    equals只能用来比较引用类型,作用与==相同,判断是否指向同一个对象
    特例:对于类File,String,Date,以及包装类(WrapperClass)来说,是比较类型及内容而不考虑引用的是否是同一个对象,因为这些类对Object类的equals()方法进行了重写;因此,如果想改变一个类的equals()方法,可以进行重写;
    比如:
    String S1 = new String(“abc”);
    String S2 = new String(“abc”);
    S1 == S2 false
    S1.equals(s2) true
    在这里插入图片描述
    String对象的创建
    注意字面量赋值时,String s = “”,相同字符串的地址是一样的

    展开全文
  • thinking in java第三章(操作符)笔记 #java 在最底层,Java中的数据是通过操作符来操作的。 使用import(静态导入)来减少代码量 在java中一条最常用的打印语句是System.out.println(“内容”); 这条语句我们所...

    thinking in java第三章(操作符)笔记

    #java
    在最底层,Java中的数据是通过操作符来操作的。

    使用import(静态导入)来减少代码量

    在java中一条最常用的打印语句是System.out.println(“内容”);
    这条语句我们所需要使用的println方法却需要经过两个类-System类的out子类中的方法。我们完全可以使用import System.out.*来静态导入
    这之后就可以很快捷的使用println(“内容”);来打印而不必那么繁琐。

    Java操作符

    操作符接受一个或多个值用来生成一个新值

    • +号
    • -号
    • *号
    • /号
    • %号
    • =号
      有些操作符会带来副作用(++,–),这类操作符会改变操作数自身,但它们的意义也正是在此。
      几乎所有的操作符只能操作基本类型,但“=”“!=”和”==”这三种操作符能操作所有的对象
      String类支持+和+=

    优先级

    先乘除后加减,当不确定时应该使用括号明确规定计算顺序。

    赋值

    赋值使用操作符=号,它的意思是“取右值赋值给左值”。
    右值可以为任何常数、变量或表达式(只要其最终代表了一个值)。但左值必须是一个明确的、已命名的变量,也就是说必须要提供一个已存在的物理空间可以存放右值。
    //4 =a; 不行
    a = 4;成立

    对基本类型的赋值十分好理解,基本类型其实是在堆栈中存储了一个实际的数值而非一个引用指向在堆中存储的对象。所以在操作基础类型的赋值时是直接将一个地方的内容复制到了另一个地方上。

    但在为**“对象”**赋值时就要十分当心了,我们在对一个已经声明的对象引用进行赋值时实际上并不是赋值对象而仅仅是赋值对象引用!
    例:

    Integer a = new Integer(4);
    Integer b = a;
    a = a-4;
    print(b)//打印结果为0
    

    这种情况可能十分容易造成混乱,因为他违反了人的第一直觉。在进行赋值最好还是直接操作基本类型避免赋值对象引用(除非有特殊需求)

    一元加减运算符

    一元减号可以用于对数据符号的转变,但一元的加号仅仅是为了与一元减号对应!它无法用于将负数转为正数而仅仅只能将较小类型的数提升为int

    自动递增和递减

    这就是那些带来副作用的操作符的作用(++,—)
    而它们又有一些些小小的区别
    ++i 先自身进行+1值再参与运算
    i++ 先参与运算自身再进行+1值
    –号一样

    关系操作符(逻辑运算符)

    逻辑运算符有:

    • & 与
    • | 或
      关系操作符有
    • ==相等
    • = 大于等于

    • <= 小于等于
    • <小于
    • 大于
      当且仅当逻辑运算式(逻辑运算符和关系操作符组成)成立时返回值为true,否则为false
      一般常用短路与 和 短路或以此来获得潜在的性能提升(短路运算意为前一个条件计算已经确定结果后第二个条件则完全不计算跳过直接得出值)

    对象的等价性

    == 和 != 比较的是对象的引用
    equals的默认行为也是比较引用,除非当类中重写了equals方法否则不会表现出比较内容的行为。例:String类就重写了equals方法

    三元操作符if-else

    格式 boolean?value1:value2;
    当布尔值为true时返回值为value1,否则返回value2值
    三元操作符简洁但易读性差
    不建议大量使用三元操作符

    字符串操作符

    +和+=在字符串类中进行了重载,用来连接不同的字符串
    但java程序员并不能自己实现操作符的重载。
    如果一个表达式以一个字符串起头,那么后面所有的操作数都必须是字符串类型。

    展开全文
  • ==操作符和equals方法 ==操作符: 1.基本类型比较值:只要俩个变量的值相等,则为true 2.引用类型比较引用(是否指的是同一个对象),是同一对象,==才返回true 例: Person p1=new Person(); Person p2=new Person...

    ==操作符和equals方法

    ==操作符:

    1.基本类型比较值:只要俩个变量的值相等,则为true

    2.引用类型比较引用是否指的是同一个对象),是同一对象,==才返回true

    例:

    Person p1=new Person();
    Person p2=new Person();
    System.out.println(p1==p2);
    

    结果为false

    Person p1=new Person();
    Person p2=p1;
    System.out.println(p1==p2);
    

    结果为true
    注意: 用“==”进行比较时,符号俩边数据类型要兼容(可自动转换类型的除外)。 否则,编译出错。

     Person p1=new Person();
    Test t=new Test();
    System.out.println(p1==t);//编译报错
    

    equals
    equal():所有类的继承object,可获得equal()方法,还可以重写。
    只能***做比较引用类型***:作用和“==”相同,比较是否指向同一个对象。

    Person p1=new Person();
    Person p2=new Person();
    //System.out.println(p1==p2);
    System.out.println(p1.equals(p2));
    

    结果都为false

    特例:对特殊的File,String,Date及包装类(Wrapper Class)来说,是比较类型和内容,而不考虑是否为同一对象

    String p1=new String("abc");
    		String p2=new String("abc");
    		System.out.println(p1==p2);//false
    		System.out.println(p1.equals(p2));//比较的内容,true
    

    结论:
    ==是比较对象的内存地址;
    equals,对于String是比较内容值的。

    在这里插入图片描述

    string对象的创建:

    在这里插入图片描述

    展开全文
  • “==”操作符的使用需要分成两种情况 判值类型相等 这一点很好理解,两个值类型代表的数值相等,则“==”表达式返回true “==”可以用与不同值类型的比较,语言会自动进行类型转换 判引用类型相等 对于引用类型,...
  • Java学习-“==“操作符和equals()方法

    千次阅读 2020-08-13 17:26:56
    1、== 操纵 1.1基本类型比较值:只要两个变量的值相等,即为true int a = 5; int b = 6; if(a==b) { System.out.println("a与b相等"); }else{ System.out.println("a与b不相等"); } 1.2引用类型比较引用...
  • 这是String类的equals方法的源码: /** * Compares this string to the specified object. The result is {@code * true} if and only if the argument is not {@code null} and is a {@code * String
  • == equals() 区别 一、== 的使用: == :运算符 1. 可以使用在基本数据类型变量引用数据类型变量中 2. 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同) 如果比较的...
  • Java中==操作符equals方法的区别

    千次阅读 2015-09-07 21:13:16
    刚开始学Java的童鞋一般对equals方法==的区别都比较疑惑,最近找了资料才大致弄清楚的,所以把这两者的区别做了一下整理,也方便自己阅读。 首先,==操作符既可以用于比较基本数据类型(boolean,char, int,float, ...
  • == 如果比较的是基本数据...如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址,,这个==号比较对象或者引用类型是一样的效果 正在上传…重新上传取消 例如String、Date等类对equal...
  • ==操作符 对于8种基本类型(即boolean/char/byte/short/int/long/float/double):比较两个变量的值是否相等; 对于引用类型(即除去8种基本类型外的其他所有类型):比较两个变量的引用内存地址是否相等。 equals()...
  • public class test1 { public static void main(String[] args) { ... //除了特殊的类之外的其他的普通的类的对象,==和equals比较的都是对象(对象的地址) //如果你想改变某一个类的equals,不想用equa
  • java中的==操作符equals方法

    千次阅读 2010-01-03 10:16:00
    ==操作符equals方法的区别: ==是引用类型比较引用(也就是比较内容地址);基本类型比较值; equals()方法只能比较引用类型,"=="可以比较引用类型及基本类型; 特例:当用equals()方法进行比较时,对类File、...
  • equals和==操作符 equals方法 存在于Object类中,因为Object是所有类的直接或者间接父类 所有类的equals方法都继承于Object类,Object类中的equals方法底层依赖的是==操作符 ==操作符: 是比较的地址值 ...
  • java中包含的关系操作符有小于(&lt;)、大于(&gt;)、小于或等于(&lt;=)、大于或等于(&gt;=)、等于(==)以及不等于(!=)。 对象的等价性:  ==!=适用所有对象,但是这两个操作符通常在...
  • Java常见操作符Java操作符自动递增自动递减前缀式:操作符在变量前。先进行运算,再生成值。后缀式:操作符在变量后。先生成值,再进行运算。关系操作符== , != ,equals 默认比较的是对象的引用,不是对象的...
  • Java中的"=="和equals方法究竟有什么区别? 1、==操作符 “==”操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等...
  • 几乎所有操作符都只能操作基本类型,例外的操作符是=、==!=,这几个操作符能操作所有对象。另外String支持++=。将一个对象引用赋值给另一个对象引用,产生别名现象。一元+操作符的作用在于将小类型的操作数提升...
  • string1==string2中的操作符只能检测string1string2是否指向同一个对象,但它不会告诉你它们的内容是否相同.因此不能用==操作符来判断两个字符串变量的内容是否相同.取而代之,应该使用equals方法 string1.equals...
  • 今天突然想到equals和==的...equals方法==操作符用来比较两个数字或者是字符串,equals方法的内部是用==来实现比较操作的,包装类重写equals方法 1、如果是基本数据类型,这个==操作符,比较他们的值,如果是对象的话
  • equals()方法是java中基本类型object类的一个方法,因为java中的包装类(Byte,Integer,Short,Character,Long,Float,Double,Boolean)覆盖了object类的equals()...对于操作符“==”,如果是java基本类型(int...)则...
  • 如果两个原生数据类型不一样,如intdouble,会自动做溢出或截断处理。 对于包装类,同类型的两个对象进行==操作,会自动解包为两个相应的基本数据类型。不同类型的包装类,不能进行==操作。 对于引用类型,同类型...
  • 1、比较的是操作符两端的操作数是否是同一个对象。2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为true,如:int a=10 与 long b=10L ...
  • 关系操作符生成的是一个Boolean结果,它们计算的是操作数之间的关系,如果操作数之间的关系是真实的就会生成TRUE,如果不真实,则生成FALSE。 关系操作符包括(、=、==、!=)。等于不等于适用于所有的基本数据类型...
  • Javaequals () == 操作符的含义

    千次阅读 2015-12-11 17:27:57
    Java中的equals和==  在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 4 System.out.println(str1==str2); 5 System.out....
  • 测试对象的等价性的关系操作符 “==””!=” 关系操作符 == != 适用于所有object对象,但这两个操作符对于刚接触java不久的人经常会感到困惑,先看下面这个例子
  • String使用"=="操作符的作用用于基本数据类型的比较判断引用是否指向堆内存的同一块地址。String的equals方法equals方法在Object类当中,而Object是所有类的父类public boolean equals(Object obj) {return (this ==...
  • 大家好,我是八个爪子的章鱼猫。今天继续我们的面试题,== ...2、==:是操作符。二、比较的对象不同1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等。2、==:用于比较引用比较基本数据类型时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 618
精华内容 247
关键字:

java操作符和equals

java 订阅