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
}
}
?
==:比较基本数据类型的变量,则直接比较 “值”是否相等;
比较引用类型的变量,则比较的是所指向的对象的地址。
2. equals:不能作用于基本数据类型的变量
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。
原文:https://www.cnblogs.com/hahuhuhaha/p/14759897.html