java运算符
来源:互联网 发布:三毛作品 知乎 编辑:程序博客网 时间:2024/06/09 15:23
1、++i和i++的区别(--i和i--一样)
1)单独使用
public class TestDemo{public static void main(String[] args) {int a = 1;int b = 1;a++;++b;System.out.println("a = " + a + ", b = " + b);}}运行结果:
2)赋值使用
public class TestDemo{public static void main(String[] args) {int a = 1;int b = 1;a++;++b;System.out.println("a = " + a + ", b = " + b);}}运行结果:
综上所述:
当单独使用时,++i和i++效果是一样的,都是做自加运算。而在和赋值语句一起使用时,++在前,i先自加,再赋值;++在后,先赋值,再自加。c = ++a,a进行自加,然后再赋值给c,所以c的输出结果为2;而d=b++,b先将自己的值赋给d,然后再进行自加,所以d = 1;变量a和b都进行了自加运算,所以输出结果都为2。
2、i += 1 和 i = i + 1的区别
一直以来都以为这两个表达式是等效的,但是在看了传智播客刘意老师的视频后发现并非如此
public class TestDemo{public static void main(String[] args) {byte b = 100;b = b + 1;}}
编译报错:
public class TestDemo{public static void main(String[] args) {byte b = 100;b += 1;}}
编译通过:
由此可以看出i += 1和i = i + 1并不是等效的,i += 1应该等效于i = (byte) (i + 1),在本例子中,i的数据类型为byte,实际上i += 1应该等效于i = (i的数据类型) (i + 1),此处有一个隐含的数据强转过程。
阅读全文
1 0
- Java运算赋值运算符
- Java| Java 运算符
- Java位运算符
- java运算符
- java中的“%”运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 运算符优先级
- Java 位运算符
- java 运算符
- JAVA入门:运算符
- JAVA 运算符 >> >>> <<
- JAVA移位运算符
- Java 位运算符
- JAVA移位运算符
- java 运算符
- 算法分析与设计week03--122.Best Time to Buy and Sell Stock II
- [记录] Vmware14安装/升级macOS10.13后无法正常全屏的问题
- HTML5标签
- bzoj1754 [Usaco2005 qua]Bull Math
- 创新性组织(笔记)
- java运算符
- vue2.0组件之间的通信
- Java代码发送Http请求
- 41. First Missing Positive
- 经典递归问题回顾——汉诺塔
- 动态创建Lambda表达式实现高级查询
- bzoj1753 [Usaco2005 qua]Who's in the Middle
- input标签相关
- 【题目】八数码难题(BFS)