其他分享
首页 > 其他分享> > 学习记录——整数、浮点数、字符、转义字符、布尔值的扩展

学习记录——整数、浮点数、字符、转义字符、布尔值的扩展

作者:互联网

public class Demo003{
    public static void main (String[] args){
        //*************************我是分割线*******************************//
        System.out.println("\n//*************************我是分割线*******************************//\n");
        //整数拓展:进制   二进制0b    十进制    八进制0    十六进制0x
        //在十进制为十时,其他进制为满的情况
        int num0 = 10;      //十进制
        int num1 = 0b10;    //二进制0b
        int num2 = 010;     //八进制0
        int num3 = 0x10;    //十六进制0x

        System.out.println(num0);    //num0 = 10
        System.out.println(num1);    //num1 = 2
        System.out.println(num2);    //num2 = 8
        System.out.println(num3);    //num3 = 16


        //*************************我是分割线*******************************//
        System.out.println("\n//*************************我是分割线*******************************//\n");
        //浮点型拓展        //float(浮点型变量);        //double(长浮点型变量);
        //银行业务怎么表示钱多少?

        //千万不能使用float\double去计算现实中数学问题,如果需要请使用BigDceimal的数学工具类进行运算比较
        /*
        原因:精度有限:浮点数只能有限的表达字长,如果超过将进行舍入计算;
             离散:舍入误差、会对值进行舍入导致有误差,结果是接近但不等于的大约数并非精确值;
        注意事项:最好完全避免使用浮点型进行比较;
        注意事项:最好完全避免使用浮点型进行比较;
        注意事项:最好完全避免使用浮点型进行比较。
        */

        //错例:(数值相等,判断结果为否);
        //数值非同一类型。所以判断为假。
        float numa = 0.1f;
        double numb = 1.0f / 10;
        System.out.println(numa);    //numb = 0.1
        System.out.println(numb);    //numb = 0.1
        System.out.println(numa==numb);    //判断为假

        //错例:(数值不相等,判断结果为真);
        //超过浮点计算进度,舍入计算后大约数为相同所以判断为真。
        float numc = 122312132331f;
        float numd = numc + 1;
        System.out.println(numc);    //numb = 1.22312131E11
        System.out.println(numd);    //numb = 1.22312131E11
        System.out.println(numc==numd);    //判断为真


        //*************************我是分割线*******************************//
        System.out.println("\n//*************************我是分割线*******************************//\n");
        //字符型拓展
        char name0 = 'a';
        char name1 = '中';

        System.out.println(name0);         //name0 = a
        System.out.println((int)name0);    //强制转换为整数型:97(UTF-8字符编码,前128字符与ASCII一样)
        System.out.println(name1);         //name0 = 中
        System.out.println((int)name1);    //强制转换为整数型:20013(UTF-8字符编码,前128字符与ASCII一样)
        //所有的字符本质上都是数字;
        //编码Unicode表:2字节 = 2的16次方 = 65535。   输入范围十六进制:U0000 -- UFFFF

        char name3 = '\u0061';             //十六进制:61 == 十进制:97 == 'a'
        System.out.println(name3);


        //*************************我是分割线*******************************//
        System.out.println("\n//*************************我是分割线*******************************//\n");
        //转义字符
        // \t:水平制表(HT) (跳到下一个TAB位置)
        System.out.println("Hello\tWorld");

        // \n:换行(LF) ,将当前位置移到下一行开头
        System.out.println("Hello\nWorld");

        // \.....


        //*************************我是分割线*******************************//
        System.out.println("\n//*************************我是分割线*******************************//\n");
        //布尔值扩展
        Boolean flag = true;

        if ( flag == true){}        //萌新程序员(比如我)
        if (flag){}                 //老手程序员
        //以上第一等效于第二,不写比较默认为true
        //Less is More !!!    代码精简易读
    }
}

 

 

标签:布尔值,浮点数,System,浮点,转义字符,numb,println,分割线,out
来源: https://blog.csdn.net/weixin_42140017/article/details/113956076