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

 更新时间:2020年04月17日 10:40:37   作者:随风行云  
这篇文章主要介绍了Java运算符,结合实例形式总结分析了Java各种常见运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等相关功能、原理与使用技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • Spring集成Redis详解代码示例

    Spring集成Redis详解代码示例

    这篇文章主要介绍了Spring集成Redis详解代码示例,介绍了Eclipse工程结构,POM依赖,Spring配置,Redis配置信息以及Java代码等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 浅谈java中静态方法的重写问题详解

    浅谈java中静态方法的重写问题详解

    本篇文章是对java中静态方法的重写问题进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • IDEA在一个工作空间中管理多个项目的详细步骤

    IDEA在一个工作空间中管理多个项目的详细步骤

    这篇文章主要介绍了IDEA在一个工作空间中管理多个项目的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Jenkins一键打包部署SpringBoot应用

    Jenkins一键打包部署SpringBoot应用

    本文主要介绍了Jenkins一键打包部署SpringBoot应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • java 定义长度为0的数组/空数组案例

    java 定义长度为0的数组/空数组案例

    这篇文章主要介绍了java 定义长度为0的数组/空数组案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • spring boot与ktor整合的实现方法

    spring boot与ktor整合的实现方法

    这篇文章主要给大家介绍了关于spring boot与ktor整合的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java下3中XML解析 DOM方式、SAX方式和StAX方式

    Java下3中XML解析 DOM方式、SAX方式和StAX方式

    目前我知道的JAVA解析XML的方式有:DOM, SAX, StAX;如果选用这几种,感觉还是有点麻烦;如果使用:JAXB(Java Architecture for XML Binding),个人觉得太方便了
    2013-04-04
  • 你知道Spring中为何不建议使用字段注入吗

    你知道Spring中为何不建议使用字段注入吗

    这篇文章主要给大家介绍了关于Spring中为何不建议使用字段注入的相关资料,通过本文你将对Spring的引入方式有更一步的了解,需要的朋友可以参考下
    2021-08-08
  • 深入分析@Resource和@Autowired注解区别

    深入分析@Resource和@Autowired注解区别

    这篇文章主要为大家介绍了深入分析@Resource和@Autowired注解区别,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • springboot集成swagger、knife4j及常用注解的使用

    springboot集成swagger、knife4j及常用注解的使用

    这篇文章主要介绍了springboot集成swagger、knife4j及常用注解的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07

最新评论