byte 占1字节 ,范围 -128 —— 127
short 占2字节 ,范围 -32768—— 32767
int 占4字节 ,范围 -21亿 —— 21亿 (最常用)
long 占8字节 ,范围 很懒得数,比int还多
public class Demo4 { public static void main(String[] args) { //面试拓展 二进制0b 八进制0 十进制 十六进制0x int a1 = 0b10; //二进制 2 int a2 = 010; //八进制 8 int a3 = 0x10; //十六进制 16 System.out.println("a1:"+a1); System.out.println("a2:"+a2); System.out.println("a3:"+a3); System.out.println("========================"); System.out.println(+a1+1); System.out.println(+a2+1); System.out.println(+a3+1); System.out.println("================================================"); //浮点数拓展: //面试题:银行业务字母怎么表示钱?BigDecimal //float double 是有问题的,最好要避免使用数比较。 float f1 = 0.1f; //0.1 double d1 = 1.0/10; //0.1 System.out.println(f1==d1); //false //浮点数 位有限,舍入误差,会约等 float f3 =454545454454f; float f4 = f3+1; System.out.println("================================================"); System.out.println(f3==f4);//true } }
public class demo5 { public static void main(String[] args) { //字符拓展:所有字符本身还是数字 char c1 ='a'; char c2 ='中'; System.out.print("c1="); System.out.println((int)c1); //强制转换为int类型 值 97 System.out.print("c2="); System.out.println((int)c2);//强制转换为int类型 值 20013 //编码 Unicode表(97=a,65=A)2字节 0-65536 //U000~UFFFF 十六进制(u0061=a,相当于十进制的97) System.out.print("u0061="); System.out.println("\u0061"); System.out.println("================================================"); //布尔值拓展 boolean flag = true; //这两个表达的意思一样 if (flag){}//新手 if (flag==true){}//老手这样写 Less is More(代码要精简易读) } }