数据类型相关问题

数据类型相关问题

整数问题

  • 进制

    二进制0b开头 八进制0开头 十进制 十六进制0x开头

    int i = 10;//i = 10
    int i2 = 0b10;//i2 = 2
    int i3 = 010;//i3 = 8
    int i4 = 0x10;//i4 = 16
    int i5 = 0x1f;//i5 = 31

     

浮点数问题

有限 离散 舍入误差 大约 接近但不等于

最好完全避免使用浮点数进行比较

public class Un {
       public static void main(String[] args) {
           float f = 0.1f;
           double d = 1.0/10;
           System.out.println(f);
           System.out.println(d);
           System.out.println(d == f);
           float f1 = 23476287363234f;
           float f2 = f1 + 1;
           System.out.println(f1 == f2);
      }
}

数据类型相关问题

字符问题

  • 所有字符本质还是数字

public class Un {
       public static void main(String[] args) {
           char a = 'a';
           char b = '啊';
           System.out.println(a);
           System.out.println((int)a);//强制转换
           System.out.println('b');
           System.out.println((int)b);//强制转换
      }
}

数据类型相关问题

  • Unicode编码与ASCII编码

    ASCII 1字节 不支持中文

    Unicode 2字节 支持中文

 

  • Unicode编码

    范围:U0000~UFFFF(16进制)

    public class Un {
           public static void main(String[] args) {
               char c = '\u0061';//'\u'转义字符
               System.out.println(c);//a
          }
    }

     

  • 转义字符

    数据类型相关问题

  •  

 

 

 

 

上一篇:Java:序列化


下一篇:不用MathType, 如何在Mac Word中插入公式