Java运算符的常见问题与用法小结

所属分类: 软件编程 / java 阅读数: 48
收藏 0 赞 0 分享

本文实例讲述了Java运算符的常见问题与用法。分享给大家供大家参考,具体如下:

算术运算符:

image_594bc412_77b8

算术运算符的注意问题

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;但+=隐含自动转换

比较运算符/关系运算符:

image_594bc412_43b0

逻辑运算符:

image_594bc412_2891

· 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

· “&”和“&&”的区别(不短路跟短路的区别):

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

有些时候这个会导致计算不同:

image_594bc412_3542

3. 异或( ^ )与或( | )的不同之处是:异或左右都为true时,结果为false(true^true==false)。

位运算符:

image_594bc412_5c24

位运算是直接对二进制进行运算。(补码)

对于<< 和>>,移n位,就是对原数值乘以(<<)或者除以(>>)2的n次幂。

image_594bc412_43ca

· 不要迷糊--负数右移,原符号位上的数也右移!(如果原本该数为负数,按照原理,右移则看最高位补空缺,保证了此时的原数值的符号不变)

特殊使用技巧:

一个数X对同一个数异或两次,所得结果为X:6^3^3=6,3^6^3=6

练习:

11.最有效率的方式算出2乘以8等于几?2<<3?image_594bc412_6e67

2.对两个整数变量的值进行互换

· image_594bc412_2694

· image_594bc412_7ff7

· image_594bc412_303c

&运算可用于获取二进制的有效位

image_594bc412_6390

image_594bc412_50e0

异或

image_594bc412_37fa

image_594bc412_66bd

位运算符可以操作字符,但结果为int

image_594bc412_1ab2

三元运算符:

· 格式:

(条件表达式)?表达式1:表达式2; 括号有时可没有,但为了格式化,写了好。

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

· 示例:

获取两个数中大数。

int x=3,y=4,z;

z = (x>y)?x:y;//z变量存储的就是两个数的大数。

运算符优先级:

image_594bc412_38c6

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

更多精彩内容其他人还在看

SpringBoot中使用Ehcache的详细教程

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

在idea 中添加和删除模块Module操作

这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java spring整合junit操作(有详细的分析过程)

这篇文章主要介绍了java spring整合junit操作(有详细的分析过程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解JAVA 弱引用

这篇文章主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

深入了解JAVA 虚引用

这篇文章主要介绍了JAVA 虚引用的相关资料,帮助大家更好的理解和学习JAVA,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解JAVA 强引用

这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

java中的按位与(&)用法说明

这篇文章主要介绍了java中的按位与(&)用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入了解JAVA 软引用

这篇文章主要介绍了JAVA 软引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

利用MyBatis实现条件查询的方法汇总

这篇文章主要给大家介绍了关于利用MyBatis实现条件查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

这篇文章主要介绍了Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.Pa
收藏 0 赞 0 分享
查看更多