数据类型

分类

Java 基本语法 - 图1

整数类型

默认为 int 型,声明 long 型常量须后加 ‘l’ 或 ‘L’图片.png

浮点类型

默认为 double 型,声明 float 型常量须后加 ‘f’ 或 ‘F’图片.png

布尔型

  • boolean b = true;
  • boolean b = false;

    字符型

    Java 字符用 Unicode 编码,因此可以进行计算
    三种表现形式:

  • char c = 'c';

  • char c = '\n';
  • char c = '\u000a';,直接使用 Unicode 值表示,\n 后跟一个十六进制整数,\u000a 表示换行符

    类型转换

    不考虑布尔型,只研究其他七种基本类型

自动类型提升

当范围小的数据类型变量与范围大的数据类型变量做运算时,结果自动提升为范围大的数据类型
byte/char/short -> int -> long -> float -> double
byte/char/short之间相互运算,结果都是 int 类型

强制类型转换

  • 自动类型提升运算的逆运算
  • 要使用强转运算符
  • 可能导致精度损失

    几种特殊情况

  • long l1 = 123;,不加 ‘l’ 或 ‘L’ 后缀可以通过编译,默认整数为 int 型,并自动提升为 long 型;
    long l2 = 9223372036854775808;,大于 9223372036854775807 且未加后缀,编译失败

  • float f1 = 12.3;,不加 ‘f’ 或 ‘F’ 后缀不可以通过编译,因为默认浮点数为 double 型

    String

    不是基本数据类型,是引用数据类型
    String 可以定义空字符串,但 char 不能定义空字符:

  • String s = "";,正确用法

  • char c = '';,错误用法

字符串类型可以和基本数据类型做运算,但只能是连接运算:+,且运算结果仍为字符串运算
PS:

  1. String str = 123 + "";
  2. System.out.println(str); // "123"
  3. int num = Integer.parseInt(str);
  4. System.out.println(num); // 123