Java运算符
来源:互联网 发布:python多线程编程实例 编辑:程序博客网 时间:2024/05/22 10:53
运算符分类
算术运算符
问题1:
//当j=0时,j+=(++j)+(j++) 这条式子的值是多少?int j = 0;System.out.println(j+=(++j)+(j++));
运行结果是:2
我们将式子还原一下:
如果j=0
j+=(++j)+(j++) 原式子: 0+=(1)+(1)最终结果是:2
如果j=1
j+=(++j)+(j++) 原式子: 1+=(2)+(2)最终结果是:5
如果j=2
j+=(++j)+(j++) 原式子: 2+=(3)+(3)最终结果是:8
得出来的结论是:
++j :先运算后执行j++ :先执行后运算因为不管是(++j) 还是 (j++) 都会影响它本身。
问题2:
如果定义一个byte类型的变量等于127,然后执行+1操作会是什么结果?
public class Demo{ public static void main(String args[]){ //循环了,跳出,原因是byte类型范围是-128-127 //当循环到127时,会向左位移1位变成-128 //所以会一直循环 for(byte i =0 ;i < 200;i++){ System.out.println(i++); } } }
得出来的结果是: 在-128 到 127 范围内无限循环。
原因是
byte a = 127;//加运算符是会自动转换的,所以不会出错System.out.println(a + 1);
Linux 命令:
> 在LINUX下是标准输出< 在linux下是标准输入
逻辑运算符
- 理论归理论,还要多练习,这里拿 && 跟 || 来测试
int i =0;if((2-1>0) || (1==++i)){ System.out.println(i);}
结果为0
因为||运算符中,前面有个为true时(2-1>0),后面的都不会执行
int i =0;if((2-1>10) && (1==++i)){ System.out.println(i);}System.out.println("第二行 i=" + i);
结果是不执行。
因为(2-1>10)不成了,所以下面的都不执行
位运算符
赋值运算符
条件运算符
其他运算符
1 0
- Java运算赋值运算符
- Java| Java 运算符
- Java位运算符
- java运算符
- java中的“%”运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 运算符优先级
- Java 位运算符
- java 运算符
- JAVA入门:运算符
- JAVA 运算符 >> >>> <<
- JAVA移位运算符
- Java 位运算符
- JAVA移位运算符
- java 运算符
- javascript的数据类型和操作符
- PhoneWindowManager处理事件分析(十一)
- hdu2035 人见人爱A^B 快速幂取模
- 项目:源自生活
- 用proto命令生成java文件
- Java运算符
- Redis-数据结构-5-整数集合
- 啊哈,算法学习笔记(3)
- Java 数组去重
- CImageList显示CBitmap问题
- CListBox问题
- 已经安装memcached.so并在php.ini开启memcached.so扩展 php仍未安装memcached扩展
- Tensorflow | 基本函数介绍
- hdu4496 D-City 并查集