进制、数据类型转换

1.进制

     //进制  0b 二进制  十进制  0八进制 0x十六进制
    
    int i = 10;     //10
    int i1 = 010;   //8
    int i3 = 017;   //15
    int i2 = 0x1F;  //16
    int i4 = 0x1F;  //31
    int i5 = 0b10;  //2

2.数据类型比较

float数据类型是有限的、离散的,是个大约数,最好完全避免使用浮点数来进行比价

	float a = 0.1f;
        float b = 1/10;
        System.out.println(a==b); // false

        float c = 123546879456465f;
        float d = c+1;
        System.out.println(c==d); // true

3.类型转换

根据基本类型范围大小,从高到低需要强制转换,从低到高需要强制转换,强制转换时需要注意内存溢出、精度丢失问题

  	int i = 128;
        byte a = (byte) i;
        System.out.println(a); // byte类型范围是 -128~127 这里内存溢出,转换后的值就不正确了

        float b = 52.31F;//使用大写规范
        double c = 62.1;
        System.out.println((int) b);//52 精度丢失
        System.out.println((int) c);//62 精度丢失
posted @ 2022-03-09 22:22  梁小白123  阅读(40)  评论(0)    收藏  举报