博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java运算符使用
阅读量:7089 次
发布时间:2019-06-28

本文共 3160 字,大约阅读时间需要 10 分钟。

复合运算符:

+=把右边的数值与变量的值相加后赋值给变量。例如:int a=10;  a+=10;此时a的值为20,和 a=a+10;的意思是一样的。

 

-=把右边的数值与变量的值相减后赋值给变量。例如:int a=10;  a-=10;此时a的值为0,和 a=a-10;的意思是一样的。

 

*=把右边的数值与变量的值相乘后赋值给变量。例如:int a=10;  a*=10;此时a的值为100,和int a=a*10;的意思是一样的。

 

/=把右边的数值与变量的值相减后赋值给变量。例如:int a=10; a/=10;此时a的值为1,和a=a/10;的意思是一样的。

 

%=把右边的数值与变量的值相减后赋值给变量。例如:int a=10;  a%=10;此时a的值为0,和 a=a%10;的意思是一样的。

 

   这种写法可读性不是很好,所以一般用得少,只是一种简写的方式。

 

关系运算符:

>用于比较一个值是否为大于另一个值的关系,是则返回结果为真(true),不是则返回结果为假(false)。例如:

<用于比较一个值是否为小于另一个值的关系,是则返回结果为真(true),不是则返回结果为假(false)。例如:

>=用于比较一个值是否为大于或等于另一个值的关系,是则返回结果为真(true),不是则返回结果为假(false)。例如:

<=用于比较一个值是否为小于或等于另一个值的关系,是则返回结果为真(true),不是则返回结果为假(false)。例如:

==用于比较一个值是否为等于另一个值的关系,是则返回结果为真(true),不是则返回结果为假(false)。例如:

!=用于比较一个值是否为不等于另一个值的关系,是则返回结果为真(true),不是则返回结果为假(false)。例如:

关系运算符主要用于各种变量值的值与值之间的关系比较,就像生活中经常会比较薪资是否大于或小于八千,身高是否大于等于一米七,这个人是否等于有车有房之类的,也是关系比较的运用。例如:

逻辑运算符:

 

&&:与,是同时的意思:比较两方的值是否都为true,只要有一方的值为false结果就为false。例如:

      A         B         结果

     true  &&   false       false

     false  &&   true       false

     true  &&   rue        true

     false  &&  false        false

||: 或,是或者的意思:比较两方的值是否有一方为true,只要有一方的值为true结果就为true。例如:

      A         B          结果

     true  ||   false        true

     false  ||   true        true

     True  ||   true        true

     false  ||   false        false

 

!:  非,是取反的意思:只要是值为true的结果就为false,值为false的结果就为true。就是反过来的意思。例如:

      A           !A结果

      true     !    false

      false     !    true

  &&运算符时前面的值为true,则后面的还继续运行看看是否true,如果前面为false则后面不在再运行,因为条件已经不成立了。

 

  ||运算符时前面的值为true,后面的就不再运行,因为条件已经成立了;如果前面为false,则后面继续运行看看是否为truefalse

 

位运算符:

  计算机最小的单位是位,位运算符是针对位进行运算的。

 

&:与,两方都为1才为1,一方为0则为0;例如:

0000 0000 0000 0000 0000 0000 0000 0111

0000 0000 0000 0000 0000 0000 0001 0111

结果:

0000 0000 0000 0000 0000 0000 0000 0111

 

|:或,一方为1则为1,两方都为0才为0;例如:

0000 0000 0000 0000 0000 0000 0001 0101

0000 0000 0000 0000 0000 0000 1001 0111

结果:

0000 0000 0000 0000 0000 0000 1001 0111

 

~:非,取反,0取反为1 , 1取反为0;例如

0000 0000 0000 0000 0000 0000 1001 0111

结果

1111 1111 1111 1111 1111 1111 0110 1000

 

^:异或,类似于不等于,两方都为1就为0,两方为0还是为0

两方都不为1都不为0才为1;例如:

0000 0000 0000 0000 0000 0000 0001 0101

0000 0000 0000 0000 0000 0000 1001 0111

结果:

0000 0000 0000 0000 0000 0000 1000 0010

 

>>:右移,往右移动两位,负数高位补1,正数高位补0;例如:

正数:6>>2

0000 0000 0000 0000 0000 0000 0000 0110

结果:

0000 0000 0000 0000 0000 0000 0000 0001

负数:-6>>2

1111 1111 1111 1111 1111 1111 1111 1010

结果:

1111 1111 1111 1111 1111 1111 1111 1110

 

<<:左移,往左移动两位,正数负数都是末位补0;例如:

正数:6<<2

0000 0000 0000 0000 0000 0000 0000 0110

结果:

0000 0000 0000 0000 0000 0000 0001 1000

     负数:-6<<2

1111 1111 1111 1111 1111 1111 1111 1010

结果:

1111 1111 1111 1111 1111 1111 1110 1000

 

>>>:无符号右移,向右移动两位,正数负数都是高位补0,例如:

正数:6>>>2

0000 0000 0000 0000 0000 0000 0000 0110

结果:

0000 0000 0000 0000 0000 0000 0000 0001

     负数:-6>>>2

1111 1111 1111 1111 1111 1111 1111 1010

结果:

0011 1111 1111 1111 1111 1111 1111 1110

 

   总结:

   1.复合运算符在开发上能起到简写代码的作用,并且不会发生数据类型转换的一些错误,但是由于这种写法可读性比较差,所以一般团队开发中不常用。

   2.关系运算符是经常用到的运算符也是比较重要的运算符,因为程序中需要进行很多比较、判断条件来确认程序是否继续执行或执行哪一块。就像生活中你对手机屏幕尺寸的条件要求是不能大于5英寸,屏幕分辨率不能小于1080*920等,这些都是类似于关系运算符在代码中的作用。

   3.逻辑运算符也是经常用到的运算符,是需要掌握好的一个知识点,因为有时候程序中会需要用到多重条件来进行判断,这些个条件成立则继续运行,不成立则跳出或者执行另一片代码。就像平时生活中去买菜一样,你要求这个菜要同时等于新鲜和便宜才会买否则不买或买其他的;买车你会要求小于等于20万或等于预算资金,其中一个条件满足你才会买,否则也是不买或买其他的;这些都是多个条件的判断。

   4.位运算符主要是针对位的一个运算,在项目开发中基本不怎么用得上, 除非在很小的存储器、微机、单片机里面进行的开发,不过稍微学习一下倒是能够增加对二进制的一些了解。

本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1955676,如需转载请自行联系原作者

你可能感兴趣的文章
我的python之路01(持续更新中........)
查看>>
应届生想要获取web前端开发岗位?这份技能攻略,面试攻略别错过!
查看>>
如何为Apache Kylin快速开发新数据源?
查看>>
简单解读高阶函数和纯函数
查看>>
深入剖析Vue源码 - 数据代理,关联子父组件
查看>>
阿里VS华为-开源镜像站体验及评测
查看>>
101 Symmetric Tree
查看>>
GIT命令速查
查看>>
ThinkPHP控制器学习(二)
查看>>
css_01 | CSS——CSS 基础与选择器初识
查看>>
一文看懂 Kafka 消息格式的演变
查看>>
居然有人能忘记吃饭?写个微信机器人提醒他
查看>>
你需要知道的算法之基础篇
查看>>
一些基础css图形的实现
查看>>
Hadoop学习笔记(1)
查看>>
D2 日报 2019年5月19日
查看>>
浅谈async/await
查看>>
Flutter杂症( flutter packages pub run build_runner build )
查看>>
LeetCode集锦(二) - reverse integer
查看>>
Java开发者职业生涯要看的200+本书
查看>>