Java运算符的常见问题与用法小结
作者:随风行云
本文实例讲述了Java运算符的常见问题与用法。分享给大家供大家参考,具体如下:
算术运算符:
算术运算符的注意问题
1. 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
-5%3=-2;-5%-3=-2;符号跟被模数(左边)。
2. 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是? 3000
而3560.0/1000*1000=3560.0
3. “+”除字符串相加功能外,还能把非字符串转换成字符串 ,
例如:System.out.println("5+5="+5+5);//打印结果是?5+5=10
int a = 3; a+=5;几乎等同运算a=a+5;但+=隐含自动转换
比较运算符/关系运算符:
逻辑运算符:
· 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
· “&”和“&&”的区别(不短路跟短路的区别):
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
有些时候这个会导致计算不同:
3. 异或( ^ )与或( | )的不同之处是:异或左右都为true时,结果为false(true^true==false)。
位运算符:
位运算是直接对二进制进行运算。(补码)
对于<< 和>>,移n位,就是对原数值乘以(<<)或者除以(>>)2的n次幂。
· 不要迷糊--负数右移,原符号位上的数也右移!(如果原本该数为负数,按照原理,右移则看最高位补空缺,保证了此时的原数值的符号不变)
特殊使用技巧:
一个数X对同一个数异或两次,所得结果为X:6^3^3=6,3^6^3=6
练习:
11.最有效率的方式算出2乘以8等于几?2<<3?
2.对两个整数变量的值进行互换
·
·
·
&运算可用于获取二进制的有效位
异或
位运算符可以操作字符,但结果为int
三元运算符:
· 格式:
(条件表达式)?表达式1:表达式2; 括号有时可没有,但为了格式化,写了好。
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
· 示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
运算符优先级:
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
您可能感兴趣的文章:
- Java基础之详细总结五种常用运算符
- Java运算符的知识点与代码汇总
- java短路逻辑运算符实例用法详解
- java数据类型和运算符的深入讲解
- Java中短路运算符与逻辑运算符示例详解
- Java 无符号右移与右移运算符的使用介绍
- Java基本数据类型和运算符详解
- Java三种移位运算符原理解析
- java运算符实例用法总结
- Java移位运算符详解实例(小结)
- 详解java==运算符和equals()方法的区别
- Java利用三目运算符比较三个数字的大小
- Java中比较运算符compareTo()、equals()与==的区别及应用总结
- 详解Java中运算符及用法
- Java语言一元运算符实例解析
- 浅谈Java变量赋值运算符及相关实例
- Java 逻辑运算符中&&与&,||与|的区别
- Java基础之逻辑运算符知识总结