在 Java 编程中,运算符是构建表达式的核心基础。赋值运算符用于变量赋值,比较运算符判断数据关系,逻辑运算符处理布尔值逻辑 —— 掌握这三类运算符的用法、细节和坑点,能让你的代码更简洁、高效且不易出错。
一、赋值运算符:不止是简单赋值
赋值运算符的核心作用是将值赋给变量,除了基础的=,Java 还提供了+=、-=等复合赋值运算符,兼顾简洁性和类型安全性。
核心用法
- 基础赋值
=:将右侧常量、变量或表达式的值赋给左侧变量。 - 复合赋值
+=/-=/*=//=/%=:等价于变量 = 变量 运算符 右侧值,且会自动完成强制类型转换。 - 多变量赋值:可通过一条语句为多个变量赋相同初始值(需先声明变量)。
代码如下
// 1. 基础赋值
int num1 = 100;
int num2 = 2;
num1 %= num2; // 等价于 num1 = num1 % num2,结果为0
System.out.println(num1); // 输出:0
// 2. 复合赋值的自动类型转换
byte num3 = 3;
int num4 = 23;
num3 += num4; // 自动转为 num3 = (byte)(num3 + num4),无需手动强转
System.out.println(num3); // 输出:26(3+23=26,未超出byte范围)
// 3. 多变量赋值正确写法
int a, b, c;
a = b = c = 100; // 先声明,再赋值,合法
// int d = e = f = 100; // 错误:未声明e、f就赋值
二、比较运算符:判断关系,返回布尔值
比较运算符用于判断两个数据的大小或相等关系,结果必然是true(成立)或false(不成立),是条件判断的核心。
常用运算符
==:判断两个操作数是否相等(注意区分赋值运算符=)。!=:判断两个操作数是否不相等。</>/<=/>=:判断数值大小关系(仅适用于数值类型)。
代码如下
int num1 = 100;
int num2 = 97;
char num3 = 97; // char本质是Unicode编码值,可与int比较
float num4 = 1.1f;
double num5 = 1.1;
// 1. 整数与整数比较
System.out.println(num1 == num2); // false(100≠97)
System.out.println(num1 != num2); // true
// 2. 整数与char比较(基于Unicode值)
System.out.println(num2 == num3); // true(97是'a'的Unicode值)
// 3. 浮点型比较的坑点
System.out.println(num4 == num5); // false!