Java数据类型扩展

数据类型扩展(参考Deom03)

  • 整数拓展:在Java中如何表示 进制,二进制以0b开头,八进制以0开头,十六进制以0x开头 。

    int i1 = 10;
    int i2 = 010;
    int i3 = 0x10;
    System.out.pringtln("i1")
    System.out.pringtln("i2")
    System.out.pringtln("i3")
    run的结果是
       10
       8
       16
  • 浮点数拓展,银行业务怎么表示? 钱

    float f = 0.1f;
    double d = 1.0/10;
    System.out.pringtln(f==d)  // ==是判断两数是否相等的
    run的结果是 false
    float d1 = 12121212123132131121f
    float d2 = d1 + 1

    run的结果是 true

    为什么会出现这种情况呢?因为float它能表现的字长是有限的,但是float又是离散的,有舍入误差,大约,接近但不等于,所有我们最好完全避免使用浮点数进行比较。我们以后会学到 BigDecimal 是用于银行业务的。

  • 字符型拓展

    char c1 = 'a';
    char c2 = '中';
    System.out.pringtln(c1);
    System.out.pringtln((int)c1);
    System.out.pringtln(c2);
    System.out.pringtln((int)c2);
    run的结果是
       a
       97
       
       20013

    为什么会出现这种情况,因为所有的字符本质还是数字,a=97

    A=65,而“中”这个汉字也是有编码的,是Unicode(表),这是一个表,它可以处理任何语言的问题,它占2个字节,它最多可以表示65536个字符,而Excel表格最长有2^16,而2^16=65536

  • 转义字符扩展

    /t制表位

    /n换行

    System.out.pringtln("Hello/tWord");
    System.out.pringtln("Hello/nWord");
    run的结果是:
       Hello    Word        
       Hello
       Word

     

  • 布尔值扩展

    boolean flag = true;
    if (flag==true);{}
    if (flag);{}

    这就是新手和老手的区别,两个if代表的意思完全一样,新手会全写上,而老手会更精简。

    Less is More !代码要精简

posted @ 2021-08-25 16:42  A信徒  阅读(74)  评论(0)    收藏  举报