Skip to content
第 2 章 后端 ⏱ 12 分钟阅读

第 2 章:变量、基本类型与运算 ​

学习目标 ​

  • 理解变量的本质和命名规范
  • 掌握 8 种基本类型及其使用场景
  • 学会算术 / 关系 / 逻辑运算
  • 避开类型转换和运算的常见坑

一、变量:给数据起个名字 ​

变量 = 一块内存 + 一个类型 + 一个名字 + 一个值。

java
int age = 18;             // 整型
String name = "张三";     // 字符串(引用类型)
double salary = 3.5;      // 浮点
boolean isActive = true;  // 布尔

⚠️ 坑 1:Java 是强类型,变量必须先声明类型,且类型一旦确定不能改。

二、8 种基本类型(够用版) ​

类型关键字字节取值默认值
整数byte1-128 ~ 1270
整数short2-3 万 ~ 3 万0
整数int4±21 亿(最常用)0
整数long8极大(加 L 后缀)0L
浮点float4加 f 后缀0.0f
浮点double8默认(常用)0.0d
字符char2单个字符,用单引号'\u0000'
布尔boolean-true / falsefalse

实战中 99% 的场景:int、long、double、boolean、String(引用类型)。

三、字面量写法 ​

java
int a = 100;              // 整数默认 int
long b = 100L;            // ⚠️ long 必须加 L,否则按 int 处理(超过 int 范围报错)
float c = 3.14f;          // ⚠️ float 必须加 f
double d = 3.14;          // double 默认
char e = 'A';             // 单引号是字符
String f = "Hello";       // 双引号是字符串
boolean g = true;

四、变量命名规范 ​

java
int userAge = 18;              // ✅ 小驼峰
String userName = "张三";      // ✅ 见名知意
final int MAX_COUNT = 100;     // ✅ 常量大写+下划线
int a = 1;                     // ⚠️ 单字母只在循环里用
String yhxm = "张三";          // ❌ 别用拼音

五、算术运算 ​

java
int a = 10, b = 3;
a + b   // 13
a - b   // 7
a * b   // 30
a / b   // 3(整数除法,截断小数)
a % b   // 1(取余)

⚠️ 坑 2:整数除法截断小数,5 / 2 = 2(不是 2.5)。要小数就强转:5.0 / 2 = 2.5。

自增自减(i++ / ++i):单独使用没区别,别塞进复杂表达式(int j = i++ + ++i;——企业代码绝对禁止)。

六、关系运算(返回 boolean) ​

java
int a = 10, b = 20;
a > b       // false
a <= b      // true
a == b      // false(值相等)
a != b      // true

⚠️ 坑 3:== 比较基本类型比值,比较引用类型(如 String)比地址。

java
String a = new String("hi");
String b = new String("hi");
a == b         // false(地址不同)
a.equals(b)    // true(值相同) ✅ 字符串比较永远用 equals

七、逻辑运算 ​

java
boolean a = true, b = false;
a && b    // 逻辑与(短路):左边 false 就不算右边
a || b    // 逻辑或(短路):左边 true 就不算右边
!a        // 逻辑非

短路求值的实战意义(避免空指针):

java
if (obj != null && obj.method() > 0) {
    // 先判空,确保 obj 不为 null 才调用方法
}

八、三元运算符 ​

java
int age = 20;
String status = age >= 18 ? "成年" : "未成年";

九、类型转换 ​

自动转换(小 → 大),无需操作:

java
int i = 100;
long l = i;       // int → long
double d = i;     // int → double

强制转换(大 → 小),可能丢精度:

java
double pi = 3.14;
int i = (int) pi;   // 3(直接截断小数,不是四舍五入)

⚠️ 坑 4:double 转 int 是截断不是四舍五入,Math.round() 才是四舍五入。 ⚠️ 坑 5:金融计算别用 double,会出现 0.1 + 0.2 = 0.30000000000000004,要用 BigDecimal(后续章节讲)。

十、字符串拼接 ​

+ 可以把字符串和任何类型拼接:

java
String name = "张三";
int age = 18;
System.out.println("我叫" + name + ",今年" + age + "岁");
// 输出:我叫张三,今年18岁

十一、本章小结 ​

要点关键
变量类型 + 名字 + 值,必须先声明类型
8 种基本类型int / double / boolean / long 最常用
整数除法5/2=2,要小数得强转
== vs equals基本类型用 ==,引用类型用 equals
强转大转小可能丢精度,截断小数
短路&& || 左边定结果就不算右边

动手练习 ​

  1. 温度转换:摄氏转华氏 F = C × 9/5 + 32,输入 25°C,输出华氏度
  2. 平均分计算:3 个成绩求平均,注意整数除法的坑
  3. 判断闰年:年份能被 4 整除且不能被 100 整除,或能被 400 整除
  4. 字符串拼接练习:打印 XX 今年 XX 岁,XX 性别,用变量

下一章:第 3 章:流程控制、方法与数组 →

本站基于 VitePress 构建 · 由 StackHub 团队维护