MENU

类型拓展

November 16, 2021 • 编程,JAVA阅读设置

整数拓展

进制符号:

  • 二进制 0b
  • 八进制 0
  • 十六进制 0x
//整数拓展:  进制  二进制0b  十进制  八进制0  十六进制0x
        int i = 10;
        int i2 = 010;//八进制0
        int i3 = 0x10;//十六进制0x

        System.out.println(i);//10
        System.out.println(i2);//8
        System.out.println(i3);//16 0~9 A~F

浮点数拓展

  • float 和 double 是有限的、离散的、有舍入误差,是大约数,表示接近但不等于
  • 最好完全避免使用浮点数进行比较
  • 计算类可以使用 数学工具类——Bigdecimal
//浮点数拓展:float 和 double
        //BigDecimal 数学工具类
        //============================================
        //float/double 有限 离散 舍入误差 大约数 接近但不等于
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较

        float f = 0.1F;
        double d = 1.0/10;
        System.out.println(f);
        System.out.println(d);
        System.out.println(f==d);//false

        float d1 = 2313214658451F;
        float d2 = d1+1;
        System.out.println(d1==d2);//true

字符拓展

  1. 所有的字符本质还是数字
    //字符拓展
    char c1 = 'a';
    char c2 = '中';
    System.out.println(c1);
    System.out.println(c2);

    • 强制转换*:

      System.out.println((int)c1);
      System.out.println((int)c2);//强制转换
  2. 编码 Unicode: 2 字节(16 进制) 0-65536=2^16(旧 Excel 的上限)

    • 表示方法//U0000-UFFFF

      char c3 = '\u0061';
      System.out.println(c3);//a
  3. 转义字符

    • \t 制表符
    • \n 换行

      //转义字符(自己查)
      //\t 制表符
      //\n 换行
      
      System.out.println("Hello\tworld");
      System.out.println("Hello\nworld");
    • \ 双引号 "
    • \\ 反斜杠(两个反斜杠等于一个)

布尔值拓展

  • Less is more

    boolean flag = true;
    
    if(flag==true){}
    if(flag){}
    //Less is more

思考

String sa = new String("Hello World");
String sb = new String("Hello World");
System.out.println(sa==sb);//false

String sc = ("Hello World");
String sd = ("Hello World");
System.out.println(sc==sd);//true
//对象 从内存分析
Last Modified: February 6, 2023