博客
关于我
编程思想_操作符
阅读量:717 次
发布时间:2019-03-21

本文共 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/

你可能感兴趣的文章
mysql索引底层数据结构和算法
查看>>
Mysql索引底层结构的分析
查看>>
MySQL索引底层:B+树详解
查看>>
Mysql索引总结
查看>>
mysql索引最左匹配原则理解以及常见的sql使用的索引情况的实测
查看>>
Mysql索引类型
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
mysql索引能重复吗_mysql “索引”能重复吗?“唯一索引”与“索引”区别是什么?...
查看>>
Mysql索引(2):索引结构
查看>>
Mysql索引(3):索引分类
查看>>
Mysql索引(4):索引语法
查看>>
mysql级联删除_Mysql笔记系列,DQL基础复习,Mysql的约束与范式
查看>>
mysql经常使用命令
查看>>
MySQL经常使用技巧
查看>>
mysql给账号授权相关功能 | 表、视图等
查看>>
MySQL缓存使用率超过80%的解决方法
查看>>
Mysql缓存调优的基本知识(附Demo)
查看>>
mysql网站打开慢问题排查&数据库优化
查看>>
mysql网络部分代码
查看>>
mysql联合索引 where_mysql联合索引与Where子句优化浅析
查看>>