本文共 1576 字,大约阅读时间需要 5 分钟。
1. 操作符
操作符是Java中数据操作的基础。在Java中,操作符接收一或多个参数并生成一个新的计算结果。
2. 优先级
在包含多个操作符的表达式中,运算顺序由优先级决定。Java的优先级顺序是先乘除后加减,最高优先级的运算符优先执行。
3. 赋值
赋值操作是变量获取数据的主要方式。基本数据类型赋值时直接赋数值,而对象赋值则是一个引用传递,两个变量指向同一个对象。
4. 自动递增和递减
Java中的自增和自减操作符(++和--)有两种形式: - 举例: - 前缀形式(+i 或 -i):先执行翻转操作,再增加。 - 后缀形式(i++ 或 i--):先增加或减少,然后生成结果。在代码中通常使用先执行逻辑运算符后修改变量的值。 例如:
int i = 2; System.out.println("i++:" + i++); // 输出:i++:3 System.out.println("i:" + i); // 输出:i:3
5. 关系操作符
关系操作符(如 == 和 != )用于比较两个操作数的值。需要注意的是,使用 == 进行对象比较时,会比较对象的引用地址,而不是逻辑值。要比较对象的实际内容需要使用 equals 方法。例如:
Integer n1 = new Integer(47); Integer n2 = new Integer(47); // 比较引用:n1 == n2 → false // 使用 equals 比较值:n1.equals(n2) → true
此外,Integer 类的 equals 方法会在特定范围内(如 -128 到 127)缓存常见值。
Boolean比较:
- f1 == f2 → 当 f1 和 f2 是同一个对象实例,且值为同一个常数且在 Integer 的缓存范围内时,才返回真。
- 当两个变量是相同的值但不是同一对象时,比较通常会返回 false,除非它们被缓存或者有特殊处理。
6. 逻辑操作符
逻辑运算符包括与(&)、或(|)、非(!)等。 - 逻辑与与运算:在任何一边为 false 时,无论另一边是否为 true,整个布尔表达式都会短路为 false。例如: ```Java boolean a = true; boolean b = false; System.out.println(a && b); // false System.out.println(a || b); // true System.out.println(!a); // false ``` - 逻辑非运算:将 true 转换为 false 或 false 转换为 true,一次操作即可完成。
7. 三元操作符
三元操作符(ternary operator)是选择值的简洁表达式,语法格式为: ```java booleanExp ? value0 : value1 ``` 其中,booleanExp 的结果决定了哪个值被选择。如果 booleanExp 为 true,则计算并返回 value0;否则,返回 value1。
8. 类型转换操作符
类型转换分为两种: - 窄化转换:将一个更宽的数据类型转换为更窄的数据类型,这可能导致精度丢失。例如: ```java int a = 30000; short s = a; // 生成错误:int 到 short 需要展开为 short a = ( short ) a; ``` - 扩展转换:将一个更窄的类型转换为更宽的类型,不会丢失精度。例如: ```java short s = 30000; int a = s; // 自动扩展,不需写(bitmask) ```
要注意的是,除 boolean 外,基本数据类型之间可以相互转换。
转载地址:http://bxprz.baihongyu.com/