Java 变量与数据类型完全指南(含示例)
什么是 Java 变量?
变量 是程序运行期间存放数据的命名内存区域。每个变量都有 数据类型,规定可存储的值类型及所需内存大小。
Java 变量分三大类:
- 局部变量 —— 在方法或代码块内声明。
- 实例变量 —— 在类中但方法外声明;属于各个对象实例。
- 静态变量 —— 用
static关键字声明;属于类本身,程序启动时初始化一次。
变量的使用:声明与初始化
使用变量需两步:
- 声明:指定类型和名称。
- 初始化:赋予初始值。
变量声明
声明时给出类型和唯一名称。

合法声明示例:
int a, b, c; float pi; double d; char a;
变量初始化
初始化给变量赋初值。

合法初始化示例:
pi = 3.14f; do = 20.22d; a = 'v';
可合并声明与初始化:

示例:
int a = 2, b = 4, c = 6; float pi = 3.14f; double do = 20.22d; char a = 'v';
变量的种类
Java 区分三种变量:
- 局部变量
- 实例变量
- 静态变量
1) 局部变量
声明在方法或代码块内,仅在该方法执行期间存在。
2) 实例变量
无 static 关键字,绑定到类的各个对象实例。
3) 静态变量
程序启动时初始化一次,早于实例变量。属于类而非实例。
示例:Java 变量类型
class Guru99 { static int a = 1; // 静态变量 int data = 99; // 实例变量 void method() { int b = 90; // 局部变量 } }
Java 数据类型
Java 数据类型分两大类:
- 基本类型 —— 内置类型:int、char、boolean、float 等。
- 引用类型 —— 类、数组、接口及其他对象。

基本数据类型
Java 提供八种基本类型,每种有固定大小和默认值:
- 整数类型 ——
byte(1 字节)、short(2 字节)、int(4 字节)、long(8 字节) - 浮点类型 ——
float(4 字节)、double(8 字节) - 字符类型 ——
char(2 字节,Unicode) - 布尔类型 ——
boolean(1 位,true或false)
| 数据类型 | 默认值 | 大小 |
|---|---|---|
| byte | 0 | 1 字节 |
| short | 0 | 2 字节 |
| int | 0 | 4 字节 |
| long | 0L | 8 字节 |
| float | 0.0f | 4 字节 |
| double | 0.0d | 8 字节 |
| boolean | false | 1 位 |
| char | '\u0000' | 2 字节 |
要点
- 所有数值类型均为有符号(可正可负)。
- 数据类型大小因 Java 语言规范而跨平台一致。
- Java
char占 2 字节因存储 Unicode 字符,完美支持国际化。
类型转换与强制转型
Java 允许两种机制将一种类型的值赋给另一种类型变量:
- 隐式转换(自动类型提升) —— 小类型赋给大类型(如
int→long),自动完成。 - 显式强制转型(窄化转换) —— 大类型赋给小类型(如
double→int),程序员必须显式转型,否则编译报错以防数据丢失。
示例:演示类型强制转换
步骤 1:将以下代码复制到编辑器。
class Demo { public static void main(String[] args) { byte x; int a = 270; double b = 128.128; System.out.println("int converted to byte"); x = (byte) a; System.out.println("a and x " + a + " " + x); System.out.println("double converted to int"); a = (int) b; System.out.println("b and a " + b + " " + a); System.out.println("\ndouble converted to byte"); x = (byte) b; System.out.println("b and x " + b + " " + x); } }
步骤 2:保存、编译、运行。
输出:
int converted to byte a and x 270 14 double converted to int b and a 128.128 128 double converted to byte b and x 128.128 -128
java