Java学习总结2——操作符注意点总结
来源:互联网 发布:json格式日志 编辑:程序博客网 时间:2024/06/05 20:41
一、&与&&、|与||的区别
区别1:
&用于位运算,也可以用于逻辑与运算;
&&只用于逻辑与运算。
区别2:
&用于逻辑运算时,无短路的功能,&&具有短路的功能。
public class Test {public static void main(String[] args) {int a = 1,b = 2;if ((a < 0) & (b ++ < 2)) {//&不短路, b++执行}System.out.println("b=" + b);int c = 1,d = 2;if ((c < 0) && (d ++ < 2)) {//&&短路导致d++不执行}System.out.println("d=" + d);}}输出结果:
b=3
d=2
|与||的区别同&与&&区别类似。
二、移位运算
java移位运算符有三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。
1.对于char、byte、short类型的数值进行移位操作时,会转换成int类型,得到的结果也是int类型的数值。
byte i = (byte)1 << 7;以上代码报错,无法编译,因为((byte)1 << 7)结果是int类型,而int类型无法隐式向下转换为byte类型。
2.对>>>=运算,对于byte、short类型进行操作时,会首先将数值转换成int类型,然后进行右移,最后被截断,赋值给原来的类型,因此有可能得到-1的结果。
三、==和equal()的用法和区别
1.==既可用于基本类型的比较,又可用于对象的比较。
1)当用于基本类型时,比较的它们的数值是否相等,
2)当用于引用(对象)类型时,比较的是引用是否指向同一个对象。
2.equal()只用于对象的比较,默认情况下,equal比较的是对象的引用(是否指向同一个对象)。但大多类库都重写equal()方法,用equal比较对象的内容是否相等,而非比较引用是否指向同一对象。
0 0
- Java学习总结2——操作符注意点总结
- java入门学习(5)—面向对象注意点总结
- cs231深度学习课程,注意点总结(2)
- 学习注意点总结:持续更新~
- cs231深度学习课程,注意点总结
- Java异常处理的注意点总结
- 【Java基础总结】-零碎注意点
- jqery注意点总结
- 黑马程序员——总结java编写程序中注意的几个点
- js基本概念注意点—操作符
- vector用法总结(定义,操作,方法,注意点)
- vector用法总结(定义,操作,方法,注意点)
- Java基础学习总结(110)——Java主要技术点总结
- Java基础学习总结——Java主要技术点总结
- 数据库设计6个注意点+2点总结
- 数据库设计6个注意点+2点总结
- 学习Python中,总结一些语法相关注意点
- 个人学习php的一些注意点的总结
- python 的日志logging模块学习
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 二分图判定
- poj 2506 Tiling——递推和大数模拟
- 面向对象为什么要多用对象模式而少用继承模式?
- Java学习总结2——操作符注意点总结
- ORACLE EXPDP命令使用详细
- Java Double 精度丢失 不准确问题总结
- 09-注释代码模版
- multiprocessing dummy提高线程并行效率
- [笔记] 配置Grub.img自动安装系统
- Java常用工具总结
- Windows环境下osg 3.0.1的编译及安装
- Storm, Spark, Hadoop三个大数据处理工具谁将成为主流