Java基本数据类型(整形,浮点型、字符型和布尔型)
Java 语言的数据类型分为基本数据类型和引用数据类型,本节我们重点介绍 Java 基本数据类型。
Java 基本数据类型表示简单的数据,基本数据类型分为 4 大类,共 8 种数据类型:
Java 语言的整数类型默认是 int 类型,例如 10 表示为 int 类型整数 10,而不是 short 或 byte,而 10L(或 10l)表示 long 类型的整数 10,就是在 10 后面加上 l(小写英文字母)或 L(大写英文字母)。
整数常量还可以使用二进制数、八进制数和十六进制数表示,它们的表示方式分别如下。
使用整数的示例代码如下:
它们的区别是占用内存空间不同。浮点类型说明如下表所示:
Java 语言的浮点类型默认是 double 类型,例如 0.0 表示 double 类型常量,而不是 float 类型。如果想要表示 float 类型,则需要在数值后面加 f 或 F。
另外,浮点数据可以使用小数表示,也可以使用科学记数法表示,科学记数法中会使用大写英文字母 E 或小写英文字母 e 表示 10 的指数,如 e2 表示 10^2。
浮点类型的示例代码如下:
Java 字符采用双字节 Unicode 编码,占两个字节(16 位),因而可用十六进制(无符号的)编码形式表示,它们的表现形式是
例如:
布尔类型常用于条件判断和循环控制流程中。需要注意的是:
示例代码如下:
Java 基本数据类型表示简单的数据,基本数据类型分为 4 大类,共 8 种数据类型:
- 整数类型:byte、short、int 和 long;
- 浮点类型:float 和 double;
- 字符类型:char;
- 布尔类型:boolean。
Java整数类型
Java 中的整数类型包括 byte、short、int 和 long,它们之间的区别:在计算机内部占用的内存空间不同,如下表所示。整数类型 | 宽度 | 取值范围 |
---|---|---|
byte | 1个字节(8位) | -128~127 |
short | 2个字节(16位) | -2^15~2^15-1 |
int | 4个字节(32位) | -2^31~2^31-1 |
long | 8个字节(64位) | -2^63~2^63-1 |
Java 语言的整数类型默认是 int 类型,例如 10 表示为 int 类型整数 10,而不是 short 或 byte,而 10L(或 10l)表示 long 类型的整数 10,就是在 10 后面加上 l(小写英文字母)或 L(大写英文字母)。
整数常量还可以使用二进制数、八进制数和十六进制数表示,它们的表示方式分别如下。
- 二进制数:以 0b 或 0B 为前缀,注意 0 是阿拉伯数字,不要误认为是英文字母 o。
- 八进制数:以 0 为前缀,注意 0 是阿拉伯数字。
- 十六进制数:以 0x 或 0X 为前缀,注意 0 是阿拉伯数字。
使用整数的示例代码如下:
//整数 public class Main { public static void main(String args[]) { // byte myNum1 = 128; // 编译错误 byte myNum2 = 125; short myNum3 = 5000; int myNum4 = 5000; long myNum5 = 10L; // 声明 long 类型变量 long myNum6 = 101; // 声明 long 类型变量 int decimalInt = 10; byte binaryInt1 = 0b1010; short binaryInt2 = 0B11100; long octalInt = 012; byte hexadecimalInt = 0xA; } }在程序代码中,尽量不用小写英文字母 l,因为它容易与数字 1 混淆,特别是在 Java 中表示 long 类型整数时很少使用小写英文字母 l,而是使用大写英文字母 L。例如,10L 要比 10l 可读性更好。
Java浮点类型
浮点类型主要用来存储小数数值。Java 中的浮点类型有以下两种- 单精度浮点类型(float);
- 双精度浮点类型(double)。
它们的区别是占用内存空间不同。浮点类型说明如下表所示:
浮点类型 | 宽度 |
---|---|
float | 4个字节(32位) |
double | 8个字节(64位) |
Java 语言的浮点类型默认是 double 类型,例如 0.0 表示 double 类型常量,而不是 float 类型。如果想要表示 float 类型,则需要在数值后面加 f 或 F。
另外,浮点数据可以使用小数表示,也可以使用科学记数法表示,科学记数法中会使用大写英文字母 E 或小写英文字母 e 表示 10 的指数,如 e2 表示 10^2。
浮点类型的示例代码如下:
// 浮点类型 public class Main { public static void main(String args[]) { float float1 = 0.0f; // 数值后加 f 表示 float 类型 float float2 = 2F; // 数值后加 F 也表示 float 类型 double float3 = 2.1543276e2; // 科学记计数法表示浮点数 double float4 = 2.1543276e-2; // 科学记计数法表示浮点数 double double1 = 0.0; // 0.0 默认是 double 类型 double double2 = 0.0d; // 数值后加 d 表示 double 类型 double double3 = 0.0D; // 数值后加 D 表示 double 类型 } }
Java字符类型
字符类型表示单个字符,Java 中用 char 声明字符类型,Java 中的字符常量必须包裹在一对单引号' '
中。Java 字符采用双字节 Unicode 编码,占两个字节(16 位),因而可用十六进制(无符号的)编码形式表示,它们的表现形式是
\un
,其中 n 为 16 位十六进制数,所以 'E' 字符也可以用 Unicode 编码 '\u0045' 表示。例如:
public class CharExample { public static void main(String[] args) { char letter1 = 'A'; char letter2 = '\u0042'; // 使用 Unicode 编码表示字符 'B' char letter3 = '汉'; // 汉字字符 int letter4 = 66; // 'B' 对应的 ASCII 码是 66 int int1 = 'A' + 3; // 字符类型可以进行数学计算 System.out.println("letter1:" + letter1); System.out.println("letter2:" + letter2); System.out.println("letter3:" + letter3); System.out.println("letter4:" + (char) letter4); // 将整数格式转换为字符输出 System.out.println("int1:" + (char) int1); } }代码的运行结果如下:
letter1:A
letter2:B
letter3:汉
letter4:B
int1:D
\u0000~\uFFFF
,所以 char 类型的取值范围为 0~2^16-1。Java布尔类型
布尔类型(boolean)用于表示逻辑值,只有两个可能的取值:true(真)和 false(假)。布尔类型常用于条件判断和循环控制流程中。需要注意的是:
- boolean 类型不能与其他基本数据类型进行转换(如 int 类型 0/1 不能替代 boolean 值);
- Java 中的布尔值严格区分大小写,必须写为全小写的 true 或 false;
示例代码如下:
public class SimpleBooleanDemo { public static void main(String[] args) { // 基础赋值 boolean isJavaFun = true; boolean isFishSwim = false; System.out.println("Java有趣吗?" + isJavaFun); // Java有趣吗?true System.out.println("鱼会飞吗?" + isFishSwim); // 鱼会飞吗?false // 条件判断 boolean isRaining = true; if (isRaining) { System.out.println("带伞出门"); // 会执行 } else { System.out.println("不用带伞"); } } }运行结果为:
Java有趣吗?true
鱼会飞吗?false
带伞出门