import com.sun.org.apache.bcel.internal.generic.I2F;
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0-9 A-F 16
int i4 = 0x11; //十六进制0x 运行后得17
System.out.println(i); //10
System.out.println(i2);//8
System.out.println(i3);//16
System.out.println(i4);//17
System.out.println("=");
//============================
//浮点数拓展? 银行业务怎么表示? 钱
//==================================================================================
//float 能表现的字长是有限的,有些数是无限的,离散的 会有舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f = 0.1f; //0.1
double d = 1.0 / 10; //0.1
System.out.println(f == d); //都是0.1 为何fasle???
System.out.println(f);
System.out.println(d);
float d1 = 21333333f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //两个值不相等为何true??
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//=================================================================================
//字符拓展
//=================================================================================
char c1 = 'a';
char c2 = '中';
char c3 = 'A';
System.out.println(c1); //a
System.out.println((int) c1); //强制转换位int整数 得a=97
System.out.println(c2);
System.out.println((int) c2); //强制转换位int整数
System.out.println(c1 + 1); //a+1=98
System.out.println(c3);
System.out.println((int) c3); //A=65
//所有的字符本质还是数字
//编码unicode表:(97=a 65=A) 2字节 0 - 65536
//U0000 UFFFF
char c4 ='\u0061';
System.out.println(c4); //a
//转义字符
// \t 制表符
// \n 换行
//还有很多......
System.out.println("Hello\nWorld");
System.out.println("=================================================");
String sa = new String("Hello World");
String sb = new String("Hello World");
System.out.println(sa==sb); //flase
String sc = ("HelloWorld");
String sd = ("HelloWorld");
System.out.println(sc==sd); //true
//对象 从内存分析
//布尔值拓展
boolean flag = true;
if (flag==true) {} //如果flag为真,就执行括号里的内容
if (flag){} //这两行代码是一致的,也是判断flag是否为真
}
}