Java运算符使用

简介:

复合运算符:

+=把右边的数值与变量的值相加后赋值给变量。例如: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)。例如:

wKioL1mOWvixdA5QAAQx9e_zJDY765.png-wh_50


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

wKioL1mOWvuxbzaaAAQLqyPsj7g981.png-wh_50


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

wKiom1mOWv2B9hUUAAPD1R5tDuQ493.png-wh_50


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

wKioL1mOWv_iPzeDAAOnW33B9TQ638.png-wh_50


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

wKiom1mOWwOj7BwQAAQETEO9rM8805.png-wh_50


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

wKioL1mOWwfT7mvSAAQ3gzbNe_g339.png-wh_50


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

wKioL1mOW5zD_UaWAAgj-0F1Iaw783.png-wh_50




逻辑运算符:

 

&&:与,是同时的意思:比较两方的值是否都为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,如需转载请自行联系原作者

相关文章
|
18天前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
37 4
|
3月前
|
Java C++
Java基础之运算符
Java运算符包括算术、赋值、关系、逻辑、条件和类型等,如加减乘除、自增自减(前缀++n/后缀n++)、赋值(+/-/*/=等)、比较(==/!=/&gt;/&lt;等)、逻辑(&&/||/!)和三元运算符。自增前后缀的区别在于赋值顺序。初面常问:=与==的区别(赋值vs比较),==与equals()(引用vs内容比较),&&与&(短路逻辑与vs按位与)。
22 2
|
8天前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 11
|
21天前
|
Java 测试技术 计算机视觉
Java零基础(18) - Java运算符,了解一下!
【8月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
26 5
|
20天前
|
Java
【Java 第三篇章】注释、数据类型、运算符
【8月更文挑战第2天】 Java支持三种注释:单行(`//`)、多行(`/*...*/`)及文档注释(`/**...*/`)。它定义了八种基本数据类型,包括四种整数类型(`byte`、`short`、`int`、`long`),两种浮点类型(`float`、`double`),一种字符类型(`char`)和一种布尔类型(`boolean`)。数据类型之间可以自动转换或通过强制转换改变,但后者可能导致精度损失。Java中的运算符涵盖算术(如`+`、`-`)、赋值(如`=`)、比较(如`==`)、逻辑(如`&&`)和三目运算符等。例如,算术运算可用于执行基本数学计算,而逻辑运算符用于组合条件判断。
10 1
|
7天前
|
Java 测试技术 开发者
Java零基础(24) - Java条件运算符,了解一下!
【9月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
6 0
|
1月前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
19 5
|
1月前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(上)
02 Java基础语法(变量+数据类型+运算符)
39 4
|
2月前
|
安全 Java 测试技术
day16:Java零基础-instanceof 运算符
【7月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
38 8
|
2月前
|
Java 测试技术
day14:Java零基础-条件运算符
【7月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 3
下一篇
DDNS