博客
关于我
编程思想_操作符
阅读量: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/

你可能感兴趣的文章
python3.6入门到高阶(全栈) day027 网络通信协议 osi七层模型
查看>>
Python3.6属性错误:模块‘;异步没有属性‘;运行‘;
查看>>
python3.6版本中的python-weka-wrapper安装失败,错误代码为%1
查看>>
Python3.7安装cv2踩过的坑
查看>>
python写txt文件
查看>>
python关于sorted排序函数详细解析 附实战代码(全)
查看>>
python3.8调用m文件,调用matlab
查看>>
python3.9新特性_Python 3.9 新特性速览
查看>>
Python3.x:遍历select下拉框获取value值
查看>>
python360百科_11月编程排行榜:Python超过Java成第二
查看>>
Python关于Paginator分页函数详细解析 附实战代码
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>
python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
查看>>
python3与django中@property详解
查看>>
python3中如何表示无穷大
查看>>
Python3中提示:no module named 'wxpy'
查看>>
python3中选择文件对话框的格式打开和保存图片
查看>>
python3为什么print永远都是地址_Python3 print 函数用法总结
查看>>
Python3之uuid模块
查看>>
Python3之写入Excel文档(xlsxwriter)
查看>>