Java中的数据类型

一、分类

Java中的数据类型_第1张图片

二、站字节数

Java中的数据类型_第2张图片

三、整数类型

  1. byte

    1. 占用存储空间:1 字节
    2. 表数范围:-128 ~ 127
  2. short

    1. 占用存储空间:2 字节
    2. 表数范围:-32768 ~ 32767
  3. int

    1. 占用存储空间:4 字节
    2. 表数范围:-2147483648 ~ 2147483647
  4. long

    1. 占用存储空间:8 字节
    2. 表数范围:-263 ~ 263-1
  5. 表现形式

    1. 十进制:默认

    2. 八进制:以 0 开头,例:051

    3. 十六进制:以 0x 开头,例:0x2A

    4. 二进制:以 0b 开头,例 0b0100

    5. 代码:

      public class Code0 {
               
          public static void main(String[] args) {
               
              int a = 10;
              int b = 051;
              int c = 0x2A;
              int d = 0b0100;
              System.out.println("十进制数:" + a);
              System.out.println("八进制数转十进制数:" + b);
              System.out.println("十六进制数转十进制数:" + c);
              System.out.println("二进制数转十进制数:" + d);
          }
      }
      
    6. 运行结果:

      Java中的数据类型_第3张图片

  6. 注意:

    1. 在声明长整型 long 数据时,默认类型为 int,若数据过大编辑器可能报语法错误,如下图:

      Java中的数据类型_第4张图片

    2. 未解决这样的问题,建议声明长整形数时,在末尾加一个L,来表示长整型数。

      Java中的数据类型_第5张图片

四、浮点类型

  1. float

    1. 占用存储空间:4 字节
    2. 表数范围:-3.403E38 ~ 3.403E38
  2. double

    1. 占用存储空间:8 字节
    2. 表数范围:-1.798E308 ~ 1.798E308
  3. 表现形式

    1. 十进制:3.14、0.314

    2. 科学计数法:3.14E2、0.314E-2

    3. 代码:

      public class Code0 {
               
          public static void main(String[] args) {
               
              double a = 3.14;
              double b = 0.314E2;
              double c = 3.14E-2;
              System.out.println(a);
              System.out.println(b);
              System.out.println(c);
          }
      }
      
    4. 运行结果:

      Java中的数据类型_第6张图片

  4. 数据不精确

    1. 浮点数不精确,尽量不要用于比较。具体看下面的例子

    2. 例 1 代码:

      public class Code0 {
               
          public static void main(String[] args) {
               
              float a = 0.1F;
              double b = 1.0 / 10;
              System.out.println(b);
              System.out.println(a == b);
          }
      }
      
    3. 例 1 运行结果:

      Java中的数据类型_第7张图片

    4. 例 2 代码:

      public class Code0 {
               
          public static void main(String[] args) {
               
              float a = 112312123F;
              float b = a + 1;
              System.out.println(a == b);
          }
      }
      
    5. 例 2 运行结果:

      Java中的数据类型_第8张图片

  5. 引用包

    1. 可以引用 java.math 包里的两个类:BigInteger 和 BigDecimal,这两个类可以处理任何长度的数值。

    2. BigInteger:实现任意精度的整数运算。

    3. BigDecimal:实现任意精度的浮点运算。

    4. 演示:

      1. 代码:

        import java.math.*;
        
        public class Code0 {
                   
            public static void main(String[] args) {
                   
                double a = 1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1;
                
                BigDecimal bd = BigDecimal.valueOf(1.0);
                bd = bd.subtract(BigDecimal.valueOf(0.1));
                bd = bd.subtract(BigDecimal.valueOf(0.1));
                bd = bd.subtract(BigDecimal.valueOf(0.1));
                bd = bd.subtract(BigDecimal.valueOf(0.1));
                bd = bd.subtract(BigDecimal.valueOf(0.1));
                
                System.out.println(a);
                System.out.println(bd);
            }
        }
        
      2. 运行结果:

        Java中的数据类型_第9张图片

      3. 代码的 7 ~ 12 行是借助 BigDecimal 类对一个数值进行减法,每次减 0.1;

五、字符类型

  1. char

    1. 占用存储空间:2 字节
    2. char 类型用来表示在 Unicode 编码表中的字符。
  2. 定义字符:

    char a = 'a';
    char b = '中';
    
  3. 十六进制字符

    1. 在 Unicode 编码表中可以使用十六进制表示一个字符,例:

    2. 代码:

      public class Code0 {
               
          public static void main(String[] args) {
               
              char varName = '\u0070';
              System.out.println(varName);
          }
      }
      
    3. 运行结果:

      Java中的数据类型_第10张图片

    4. 十六进制 0070 表示字母 p。\u 表示转义字符。

  4. 转义字符

    1. 转义字符表:

      Java中的数据类型_第11张图片

    2. 例:

      1. 代码:

        public class Code0 {
                   
            public static void main(String[] args) {
                   
                char a = '\u0061';
                char b = '\u0062';
                System.out.println("第一次输出\n" + a + '\b' + b);
                System.out.println("第二次输出\n" + a + '\n' + b);
                System.out.println("第三次输出\n" + a + '\r' + b);
                System.out.println("第四次输出\n" + a + '\t' + b);
                System.out.println("第五次输出\n" + a + '\"' + b);
                System.out.println("第六次输出\n" + a + '\'' + b);
                System.out.println("第七次输出\n" + a + '\\' + b);
            }
        }
        
      2. 运行结果:

        Java中的数据类型_第12张图片

六、布尔类型

  1. Boolean

    1. 占用存储空间:1 位(不是 1 个字节)
    2. 值:True-真,False-假
    3. Java 中布尔值与数字 1 0 无关
  2. 使用场景

    1. 一般用于条件判断,if 语句。

    2. 关系表达式、条件表达式及逻辑运算最终的运算结果是一个布尔值。

    3. 代码:

      public class Code0 {
               
          public static void main(String[] args) {
               
              if(true) System.out.println(true);
              if(10 > 1) System.out.println(true);
              if(10 > 1 && 1 > 0) System.out.println(true);
          }
      }
      
    4. 运行结果:

      Java中的数据类型_第13张图片

你可能感兴趣的:(Java,java,golang,算法)