Java基础-数据类型拓展

发布时间 2023-12-30 17:49:27作者: 网抑杰

数据类型拓展

public class Demo04 {
  public static void main(String[] args) {
      //整数拓展: 进制 二进制0b   十进制     八进制0   十六进制0x

      int a = 0b10;   //二进制0b
      int a1 = 10;     //十进制
      int a2 = 010;     //八进制0
      int a3 = 0x10;   //十六进制0x   0~9 A~F 16

      System.out.println(a);
      System.out.println(a1);
      System.out.println(a2);
      System.out.println(a3);
      System.out.println("=============================================");
      //==================================================================
      //浮点数拓展?   银行业务怎么表示? 钱
      //BigDecimal     数学工具类
      //==================================================================

      //float   有限 离散 舍入误差 大约 接近但不等于
     //double
     //最好完全避免使用浮点数进行比较!
      //最好完全避免使用浮点数进行比较!
      //最好完全避免使用浮点数进行比较!

      float f = 0.1f;       //0.1
      double d = 1.0/10;   //0.1

      System.out.println(f);
      System.out.println(d);
      System.out.println(f==d);   //false

      float d1 = 123123123123f;
      float d2 = d1 + 1;

      System.out.println(d1==d2); //true

      //==================================================================
      //字符拓展
      //==================================================================
      System.out.println("=============================================");

      char c1 = 'a';
      char c2 = '中';

      System.out.println(c1);
      System.out.println((int)c1);   //强制转换

      System.out.println(c2);
      System.out.println((int)c2);   //强制转换

      //所有的字符本质还是数字
      //编码   Unicode   表:(97 = a 65 = A)   2字节   65536   Excel   2 16 = 6553
     //U0000   UFFFF

      char c3 = '\u0061';

      System.out.println(c3); //a

      //转义字符
     //( \t )     制表符
     //( \n )     换行
      //......

      System.out.println("Hello\tWorld");
      System.out.println("Hello\nWorld");
      System.out.println("=============================================");

      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
      //对象 从内存分析

      //布尔值拓展
      boolean flag = true;
      if(flag==true){} //新手
      if(flag){}       //老手
      //Less is More!   代码要精简易读
  }
}