数据类型与变量#
在编程中,变量就像是一个贴了标签的“盒子”,用来存储各种数据;而数据类型则决定了这个盒子能装什么样的数据。
变量的声明与赋值#
在 Java 中使用变量,必须遵循“先声明,后使用”的原则。
基本语法#
数据类型 变量名 = 初始值;
- 声明:告诉计算机变量的类型和名字。
- 赋值:将数据放入变量中。
- 强类型限制:你不能把一个字符串放进一个整型变量里。
示例:
void main() {
int age = 18; // 声明一个整数变量并赋值
double price; // 声明
price = 19.9; // 赋值
IO.println(age);
IO.println(price);
}
八大基本数据类型#
Java 共有 8 种基本数据类型,分为四类:
| 分类 | 类型 | 占用空间 | 说明 | 示例 |
|---|---|---|---|---|
| 整数 | byte | 8 位 | 微小整数 (-128~127) | byte b = 100; |
| short | 16 位 | 短整数 | short s = 1000; |
|
| int | 32 位 | 最常用的整数 | int i = 50000; |
|
| long | 64 位 | 长整数(末尾加 L) | long l = 100L; |
|
| 浮点数 | float | 32 位 | 单精度浮点数(末尾加 f) | float f = 3.14f; |
| double | 64 位 | 最常用的小数 | double d = 3.14159; |
|
| 字符 | char | 16 位 | 单个字符(单引号) | char grade = 'A'; |
| 布尔 | boolean | 1 位 | 逻辑值 | boolean isJavaFun = true; |
为什么要加 L 或 f?
在 Java 中,整数字面量默认为 int,小数字面量默认为 double。如果你想显式表示这是一个 long 或 float,必须在数值后加上后缀。
引用类型:String(字符串)#
除了基本类型,Java 还有一个极其常用的类型:String。
String 不属于 8 大基本类型,它是“引用类型”。它用于存储一串字符,必须使用双引号包裹。
void main() {
String name = "Java 25";
String greeting = "欢迎来到编程世界";
// 字符串拼接
IO.println(greeting + "," + name);
}
变量命名规范(标识符)#
为了让代码易于阅读,Java 社区有一套通用的命名习惯:
- 小驼峰命名法:第一个单词首字母小写,后续单词首字母大写(如
userAge,mySalary)。 - 强制规则:
- 必须以字母、下划线
_或美元符号$开头。 - 不能以数字开头。
- 不能使用 Java 关键字(如
int,void,class)。
- 必须以字母、下划线
- Unicode 支持:如前所述,Java 支持中文命名(如
int 年龄 = 18;),但在正式开发中,通常推荐使用英文。
动态类型推断:var#
从 Java 10 开始,对于局部变量,我们可以使用 var 关键字,让编译器自动推断类型。
void main() {
var count = 10; // 编译器推断为 int
var name = "Alice"; // 编译器推断为 String
IO.println(name + " has " + count + " apples.");
}
注意
var 必须在声明的同时进行初始化,否则编译器无法推断类型。
动手练习#
在 IntelliJ IDEA 中创建一个新文件 VariableTest.java,尝试声明不同类型的变量并用 IO.println 输出它们。
void main() {
// 练习:计算圆的面积
double radius = 5.5;
double pi = 3.14159;
double area = pi * radius * radius;
IO.println("半径为 " + radius + " 的圆面积是:" + area);
}
本节小结#
我们了解了 8 种基本数据类型、变量的声明与赋值、变量命名规范以及动态类型推断。我们还编写了一个用于计算圆的面积的简单程序。
变量是程序的基石。下一节我们将学习如何使用运算符对这些变量进行加减乘除和逻辑比较。