Java 基本数据类型:清晰指南
变量是存储值的预留内存位置。创建变量即在内存中预留空间。
根据变量数据类型,操作系统分配内存并决定可存储内容。通过赋予不同数据类型,可在变量中存储整数、小数或字符。
Java 有两种数据类型:
- 基本数据类型
- 引用/对象数据类型
基本数据类型
Java 支持八种基本数据类型。基本类型由语言预定义并用关键字命名。详细了解这八种类型:
byte
- 8 位有符号二进制补码整数
- 最小值 -128 (-2^7)
- 最大值 127 (2^7 -1)
- 默认值 0
- 用于大数组节省空间,替代 int,因 byte 是 int 的四分之一大小
- 例:byte a = 100, byte b = -50
short
- 16 位有符号二进制补码整数
- 最小值 -32,768 (-2^15)
- 最大值 32,767 (2^15 -1)
- 可像 byte 一样节省内存,short 是 int 的一半大小
- 默认值 0
- 例:short s = 10000, short r = -20000
int
- 32 位有符号二进制补码整数
- 最小值 -2,147,483,648 (-2^31)
- 最大值 2,147,483,647 (2^31 -1)
- 通常作为整数默认类型,除非担心内存
- 默认值 0
- 例:int a = 100000, int b = -200000
long
- 64 位有符号二进制补码整数
- 最小值 -9,223,372,036,854,775,808 (-2^63)
- 最大值 9,223,372,036,854,775,807 (2^63 -1)
- 需要比 int 更大范围时使用
- 默认值 0L
- 例:long a = 100000L, long b = -200000L
float
- 单精度 32 位 IEEE 754 浮点数
- 主要用于大型浮点数组节省内存
- 默认值 0.0f
- 不用于货币等精确值
- 例:float f1 = 234.5f
double
- 双精度 64 位 IEEE 754 浮点数
- 通常作为小数默认类型,一般首选
- 不用于货币等精确值
- 默认值 0.0d
- 例:double d1 = 123.4
boolean
- 表示一位信息
- 仅两个可能值:true 和 false
- 用于跟踪真/假条件的简单标志
- 默认值 false
- 例:boolean one = true
char
- 单个 16 位 Unicode 字符
- 最小值 '\u0000' (即 0)
- 最大值 '\uffff' (即 65,535)
- 用于存储任意字符
- 例:char letterA = 'A'
引用数据类型
引用变量使用类的定义构造器创建,用于访问对象。声明为特定类型不可更改。例:Employee、Puppy 等。
类对象和各种数组变量属于引用类型。
任何引用变量默认值为 null。
引用变量可引用声明类型的任何对象或兼容类型对象。
例:Animal animal = new Animal("giraffe");
Java 字面量
字面量是固定值在源代码中的表示,直接在代码中书写无需计算。
字面量可赋给任何基本类型变量。例:
byte a = 68; char a = 'A';
byte、int、long、short 可用十进制(基数10)、十六进制(基数16)或八进制(基数8)表示。
前缀 0 表示八进制,前缀 0x 表示十六进制。例:
int decimal = 100; int octal = 0144; int hexa = 0x64;
Java 字符串字面量像大多数语言用双引号括起字符序列。例:
示例
"Hello World" "two\nlines" "\"This is in quotes\""
String 和 char 字面量可包含任何 Unicode 字符。例:
char a = '\u0001'; String a = "\u0001";
Java 支持 String 和 char 字面量的特殊转义序列:
| 符号 | 表示字符 |
|---|---|
| \n | 换行 (0x0a) |
| \r | 回车 (0x0d) |
| \f | 换页 (0x0c) |
| \b | 退格 (0x08) |
| \s | 空格 (0x20) |
| \t | 制表符 |
| \" | 双引号 |
| \' | 单引号 |
| \\ | 反斜杠 |
| \ddd | 八进制字符 (ddd) |
| \uxxxx | 十六进制 UNICODE 字符 (xxxx) |
下一步
本章讲解各数据类型。下一主题讲解不同变量类型及用法,帮助理解在 Java 类、接口中的应用。
java