首页 > 编程语言 > 详细

Java数据类型拓展及==与equals差别

时间:2021-05-12 20:26:23      阅读:26      评论:0      收藏:0      [点我收藏+]

数据类型拓展

public class Demo1 {
   public static void main(String[] args) {
       //整数拓展:进制 二进制0b     十进制     八进制0   十六进制0x
       int i=10;
       int i2=010;     //八进制0
       int i3=0x10;    //十六进制0x
       int i4=0b10;    //二进制0b
?
       System.out.println(i);//10
       System.out.println(i2);//8
       System.out.println(i3);//16
       System.out.println(i4);//2
       //=========================================
       //浮点数拓展
       //float     表示数据范围有限,舍入误差,损失精度
       //double
       //银行业务:用BigDecimal 数学工具类
       //最好避免浮点数进行比较!!!
       float f=0.1f;
       double d=0.1;
       System.out.println(f==d);//false
?
       float f1=23333333333f;
       float f2=f1+1;
       System.out.println(f1==f2);//true
       //===============================================
       //字符拓展
       char c1=‘a‘;
       System.out.println(c1);//a
       System.out.println((int)c1);//强制转换 //97
       //字符的本质还是数字
?
       //编码 Unicode 2字节 0-65535
       //U0000 UFFFF
       char c2=‘\u0061‘;
       System.out.println(c2);//a
       //=============================================
       //内存 对象
       String s1=new String("Hello World!");
       String s2=new String("Hello World!");
       System.out.println(s1==s2);//false
       System.out.println(s1.equals(s2));//true
?
       String s3="Hello World!";
       String s4="Hello World!";
       System.out.println(s3==s4);//true
       System.out.println(s3.equals(s4));//true
  }
}
?

 

==与equals差别

  1. ==:比较基本数据类型的变量,则直接比较 “值”是否相等;

    比较引用类型的变量,则比较的是所指向的对象的地址。

    2. equals:不能作用于基本数据类型的变量

    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

    诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

 

Java数据类型拓展及==与equals差别

原文:https://www.cnblogs.com/hahuhuhaha/p/14759897.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!