JAVA基础数据类型拓展内容(面试笔试常考)
public class demo1 {
public static void main(String[] args) {
//----------进制----------------------
int num0 =10;
int num1 =010; //0开头,八进制
int num2 =0b10; //0b开头,二进制
int num3 =0x10; //0x开头,十六进制
System.out.println(num0);
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println("===============================");
//浮点数拓展,千万别用浮点数比大小,存在舍入,比不准
//若用银行等严谨、大数值情景,请用
// BigDecimal 数学工具类
float f1 = 0.01f;
double f2 = 0.1/10;
float f3 = 0.1f/10;
System.out.println(f1==f2);
System.out.println(f2==f3);
System.out.println(f1 == f3); //很神奇,f1 = f3,但f1 !=f2
System.out.println("=======================================");
//字符拓展 ,所有的字符本质还是数字;为所用字符AB、ab,汉字都做了一张表,每个数字映射到唯一一个字符
//编码 Unicode表 (97=a ,65=A),占2字节 ,2^16,即0-25536
// U0000 UFFF
char s1 = 'A';
char s2 = 'a';
char s3 = '张';
char s4 = '\u0061'; //十六进制 这里输出的是a ,是97的16进制
System.out.println((int)s1); //(int)s1 强制转换s1为整型
System.out.println((int)s2);
System.out.println((int)s3);
System.out.println(s4);
}
}