Java运算符详解:算数、赋值、自增自减与比较
"运算符的使用" 在编程中,运算符是执行特定操作的符号,它们用于处理变量和常量。本节将详细介绍几种常见的运算符:算术运算符、赋值运算符以及比较运算符。 ### 算术运算符 算术运算符包括加(+), 减(-), 乘(*), 除(/), 取模或取余(%),以及自增(++)和自减(--)。这些运算符用于进行基本的数学计算。 1. **自增和自减运算符**: - `++(前)`:在使用变量之前先将其值增加1,例如 `++i`。 - `++(后)`:在使用变量之后再将其值增加1,例如 `i++`。 - `--(前)`:在使用变量之前先将其值减少1,例如 `--i`。 - `--(后)`:在使用变量之后再将其值减少1,例如 `i--`。 这种用法在实际编程中很常见,特别是在循环和条件判断中。以下代码展示了它们的区别: ```java public class Operator02 { public static void main(String[] args) { int i = 1, j = 2; System.out.println(i++); // 输出1,然后i变成2 System.out.println(i); // 输出2 System.out.println(++i); // 输出3,然后i变成3 System.out.println(i); // 输出3 System.out.println(j--); // 输出2,然后j变成1 System.out.println(j); // 输出1 System.out.println(--j); // 输出1,然后j变成0 System.out.println(j); // 输出0 } } ``` 2. **连接符 +**:当`+`运算符用于字符串与其他数据类型之间时,它执行字符串连接操作,而不是数学上的加法。 ### 赋值运算符 赋值运算符用于将一个值分配给一个变量。基础的赋值运算符是`=`, 但还有复合赋值运算符,如 `+=`, `-=` , `*=` , `/=` 和 `%=`,它们分别表示加并赋值、减并赋值、乘并赋值、除并赋值和取模并赋值。例如,`i += 2` 相当于 `i = i + 2`。需要注意的是,这类运算不会改变变量本身的类型。 ### 自增和自减运算符的陷阱 尝试将自增或自减运算符与其他运算符组合,可能会导致混淆。例如,`i+++++j` 在Java中是非法的,因为编译器无法解析这种表达式。而在 `i+++++j` 的情况下,`i` 先自增,然后与 `j` 相加,所以结果可能是 `i + (i + 1)`,具体取决于编译器如何解析。 ### 比较运算符 比较运算符用于比较两个值,并返回一个布尔结果(`true` 或 `false`)。常见的比较运算符包括: - `==`:等于 - `!=`:不等于 - `<`:小于 - `>`:大于 - `<=`:小于或等于 - `>=`:大于或等于 - `instanceof`:用于检查对象是否是特定类或其子类的实例 例如,`if (a == b)` 会检查 `a` 是否等于 `b`,而 `if (a != b)` 会检查 `a` 是否不等于 `b`。`instanceof` 运算符则用于确定对象类型,如 `if (obj instanceof MyClass)`。 理解并熟练运用这些运算符对于编写有效且高效的代码至关重要。在编程实践中,合理选择和使用运算符可以帮助简化逻辑,提高代码可读性。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 2
- 资源: 27
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)