上一章我们让程序打印了 Hello World。这一章开始真正"存数据、算数据",是整个 Java 语法的地基,一定要吃透。
2.1 什么是变量?
变量就是用来"存数据"的盒子。
程序处理数据,得先把数据存起来,这个存数据的地方就叫变量。它有三个要素:
- 类型:这个盒子能装什么类型的数据(装数字的盒子不能装文字)。
- 名字:给盒子起的名字,方便后面用它。
- 值:盒子里实际存的数据。
比如:
int age = 25; // 整数盒子里存 25 double price = 9.9; // 小数盒子里存 9.9记住口诀:先定类型、再起名字、最后赋值。类型不对,装不进去,会报错。
2.2 变量的声明与赋值
// 方式一:声明 + 赋值一步完成 int score = 90; // 方式二:先声明,后赋值 int score; score = 90; // 方式三:一次声明多个 int a = 1, b = 2, c = 3;变量命名规则(必记)
- 只能由字母、数字、下划线、$组成。
- 不能以数字开头。
- 不能是关键字(如 class、int、if 等不能用)。
- 大小写敏感,
age和Age是两个变量。 - 规范建议:小驼峰命名,如
myScore、userName。
2.3 数据类型(重点)
Java 的数据类型分两大类:基本数据类型和引用数据类型。
| 类型 | 说明 | 举例 |
|---|---|---|
| 基本数据类型 | 直接存"值",一共 8 种 | int、double、char、boolean |
| 引用数据类型 | 存的是"地址",指向真正对象 | String、类、数组、接口 |
简单理解:基本类型盒子装的是"东西本身",引用类型盒子装的是"东西在哪"(门牌号)。
这一章的分类结构,直接看图更清晰:
2.4 8 种基本数据类型详解(必背)
整数型(4种)
| 类型 | 字节数 | 取值范围 | 常用 |
|---|---|---|---|
| byte | 1 | -128 ~ 127 | 少用 |
| short | 2 | 约 -3.2万 ~ 3.2万 | 少用 |
| int | 4 | 约 -21亿 ~ 21亿 | 最常用 |
| long | 8 | 很大 | 大整数,末尾加 L |
int age = 25; // 默认整数就是 int long big = 9999999999L; // long 类型值末尾要加 L浮点型(小数,2种)
| 类型 | 字节数 | 说明 |
|---|---|---|
| float | 4 | 精度低,末尾加 F |
| double | 8 | 最常用,精度高 |
double price = 9.9; // 小数默认就是 double float f = 3.14F; // float 末尾要加 F字符型(1种)
char grade = 'A'; // 单个字符,用单引号布尔型(1种)
boolean ok = true; // 只有 true / false 两个值,用于判断2.5 类型转换
自动转换(小→大,不用管)
int a = 10; double b = a; // int 自动转成 double,合法强制转换(大→小,可能有精度损失)
double x = 9.8; int y = (int) x; // y = 9,小数部分被丢掉注意:把大范围转小范围,就像大盒子往小盒子倒水,会"溢出/丢精度",要谨慎。
2.6 运算符
1. 算术运算符
int a = 10, b = 3; a + b // 13 a - b // 7 a * b // 30 a / b // 3(整数相除得整数,小数被舍弃) a % b // 1(取余数)自增自减:
int i = 1; i++; // i = 2,自己加1 i--; // i = 1,自己减12. 赋值运算符
int n = 5; n += 3; // 相当于 n = n + 3,结果 8 n -= 2; // 相当于 n = n - 2 n *= 2; n /= 2; n %= 3;3. 比较运算符(结果都是 boolean)
== != > < >= <= int a = 5, b = 3; a > b // true a == b // false4. 逻辑运算符
&& // 且(两边都真才真) || // 或(一边真就真) ! // 非(取反) boolean r1 = (5 > 3) && (2 > 1); // true boolean r2 = (5 < 3) || (2 > 1); // true boolean r3 = !(5 > 3); // false5. 三元运算符(精简 if-else)
int age = 20; String s = (age >= 18) ? "成年" : "未成年"; // 条件为真取冒号前,为假取冒号后2.7 常量 final
常量是赋值后不能再改的变量,用final修饰,名字规范用全大写:
final double PI = 3.14159; // PI = 3.14; // 报错!final 变量不能重新赋值2.8 本章小结
- 变量= 存数据的盒子,要素是:类型、名字、值。
- 数据类型分基本(8种)和引用两类。
- 8 种基本类型:byte、short、int、long、float、double、char、boolean。
- 类型转换:小转大自动,大转小强制(有精度损失)。
- 运算符:算术、赋值、比较、逻辑、三元。
2.9 动手练习
- 声明变量存自己的姓名、年龄、身高、是否学过编程,并打印出来。
- 写代码演示
10 / 3和10.0 / 3的区别。 - 用三元运算符判断一个数是奇数还是偶数。
- 试试把 double 强转 int,看看小数部分去哪了。