“合抱之木,生于毫末;九层之台,起于累土。” 很多人对基础知识的巩固不够重视。Java 基础就如同大厦的基石,没有稳固的基石,再宏伟的架构也只是空中楼阁。
检验知识是否学得牢固,有一个比较好的办法,假设现在有个面试官问你这个问题,你是否脑瓜子嗡嗡的呢?
今天咱们探讨的是:"Java 里基本数据类型有哪几种?它们各自所占的字节数是多少?"
试想一下,如果不往下看,你是否能够完整地回答出这个问题呢? 如果答案是肯定的,那恭喜你,你可以节约些时间去学习别的知识了! 当然,“温故而知新”,如果您不忙的话,接着往下看也无妨。
在 Java 中,基本数据类型分为四大类,共八种。下面为你详细介绍每种基本数据类型及其所占字节数:
整数类型
整数类型用于表示整数数值,根据取值范围和所占字节数不同分为以下几种:
数据类型 | 字节数 | 取值范围 | 示例 |
byte | 1 字节(8 位) | -128(-2^7) 到 127(2^7 - 1) | byte num = 10; |
short | 2 字节(16 位) | -32768(-2^15) 到 32767(2^15 - 1) | short num = 1000; |
int | 4 字节(32 位) | -2147483648(-2^31) 到 2147483647(2^31 - 1) | int num = 100000; |
long | 8 字节(64 位) | -9223372036854775808(-2^63) 到 9223372036854775807(2^63 - 1) | long num = 10000000000L; 注意:定义 long 类型变量时,需要在数值后面加 L 或 l,建议使用大写 L 以避免与数字 1 混淆。 |
浮点类型
浮点类型用于表示带小数部分的数值,分为单精度和双精度两种:
数据类型 | 字节数 | 取值范围 | 示例 |
float | 4 字节(32 位) | 大约 ±3.40282347E+38F(有效位数大约为 6 - 7 位) | float num = 3.14F; 注意:定义 float 类型变量时,需要在数值后面加 F 或 f。 |
double | 8 字节(64 位) | 大约 ±1.79769313486231570E+308(有效位数大约为 15 位) | double num = 3.14159; Java 中默认的浮点型字面量为 double 类型。 |
字符类型
字符类型用于表示单个字符,采用 Unicode 编码:
数据类型 | 字节数 | 取值范围 | 示例 |
char | 2 字节(16 位) | 0 到 65535 | char ch = 'A'; 可以使用单引号来表示字符,也可以使用 Unicode 编码值来表示字符,如 char ch = '\u0041'; 表示字符 A。 |
布尔类型
布尔类型用于表示逻辑值,只有两个取值:true 和 false。
数据类型 | 字节数 | 取值范围 | 示例 |
boolean | 规范未明确规定具体字节数,不同 JVM 实现可能不同,一般认为占 1 位,但在内存中通常以 1 字节存储 | true 或 false | boolean isTrue = true; |
以下是一个包含所有基本数据类型定义的 Java 代码示例:
public class BasicDataTypes {
public static void main(String[] args) {
// 整数类型
byte byteNum = 10;
short shortNum = 1000;
int intNum = 100000;
long longNum = 10000000000L;
// 浮点类型
float floatNum = 3.14F;
double doubleNum = 3.14159;
// 字符类型
char charCh = 'A';
// 布尔类型
boolean boolValue = true;
System.out.println("byte: " + byteNum);
System.out.println("short: " + shortNum);
System.out.println("int: " + intNum);
System.out.println("long: " + longNum);
System.out.println("float: " + floatNum);
System.out.println("double: " + doubleNum);
System.out.println("char: " + charCh);
System.out.println("boolean: " + boolValue);
}
}
上述代码定义了各种基本数据类型的变量,并将它们的值输出到控制台。