JAVA运算符
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA运算符,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5727字,纯文字阅读大概需要9分钟。
内容图文
![JAVA运算符](/upload/InfoBanner/zyjiaocheng/641/c3e941df422144249aba7ca960effe0d.jpg)
运算符
运算符:就是再用变量或常量进行运算时,常用到的符号,即算数运算符、关系运算符、逻辑运算符、位运算符、移位运算符、赋值运算符、三元运算符、逗号运算符、字符串运算符、转型运算符。
1.算数运算符
问题:当一个浮点数据加上一个整型数据,结果会得到什么类型的数据?在不同类型的数据之间进行运算时,为了使结果更加精确,系统会将结果自动转化成精度更高的数据类型(若想将高精度转化为低精度,必须强制转化)。
如图:
这里的a是int类型,b是单精度浮点型(float类型),相加结果为一个浮点型(float)数据。
由此,为了保证经过算数运算符后结果的数据精度,尽量让结果与运算数据中精度较高的类型相同。
如何将结果进行转换,什么规律?
当使用运算符把两个操作数结合到一起时,首先会将两个操作数转化为相同类型的数据;
若操作数中有double/float/long,一定先转换成double/float/long,精度高低比较:double>float>long其他任何两个基本类型数据操作,两个操作数都会自动转化成int类型。
算术运算符总共有7种:“+”、“-”、“*”、“/”、“%”(余数)、“++”(自加)、“–”(自减)。
代码如图:
运行结果如图:
下面讨论自加和自减运算符的用法:
自加运算符分为两种:一种是前自加,一种是后自加;两者的区别在于运算时,自加的值是否参加运算。代码如图:
前自加,先让a的值加1,然后再将加1后的结果11赋给a,故,a的输出值为11;
后自加,先把b的值赋给b,然后,将b的值加1,存储到内存空间,故输出b=10,而存储在内存中的b的值为11。
同样的,自减运算符也有两种,一种是前自减,一种是后自减。用法与自加相同。
总结:
++x:因++在前,记为先加后用
x++:因++在后,记为先用后加
–x:因–在前,记为先减后用
x–:因–在后,记为先用后减
2.关系运算符:
关系运算符,指在两个操作数之间的关系,包括“>”、“<”、“>=”、“<=”、“==”、“!=”.算数运算符的结果都是数字,而关系运算符的结果则是布尔型数据。
在实际开发中,常使用关系运算符作为判断条件,若条件为真,将如何处理,若条件为假,又该如何处理。
用例如下:
3.逻辑运算符
逻辑运算符共有3种:“非”、“与”、“或”。逻辑运算符一般与关系运算符结合起来使用。
(1)NOT运算符
NOT运算符就是一个否定的意思,英文中“NOT”就是“不”的意思,在Java中,NOT用符号“!”表示。
(2)AND运算符
英文“AND”的意思为“与”。使用它必须,满足AND前后两个条件。AND运算符在Java中用符号“&&”表示。
(3)OR运算符
英文“OR”为“或”的意思,使用它只要满足“OR”前后两个条件中的任意一个条件。OR运算符在Java中用符号“||”表示,原理如下,两个操作数之哟啊有一个是“true”,则结果为“true”,否则结果为“false”。
用例如图:
4.位运算符
位运算符主要针对二进制进行运算,包括“与”、“非”、“或”、“异或”。从表面上看和逻辑运算符有点像,但逻辑运算符是针对两个关系运算符来进行逻辑运算的,而位运算符主要针对两个二进制的位进行运算。
(1)与运算符
与运算符用符号“&”表示,使用规律如下:两个操作数中位都为1时,结果才为1,否则为0.如图:
(2)或运算符
或运算符用符号“|”表示,运算规律如下:两个位只要有一个为1,则结果为1,否则为0.
(3)非运算符
非运算符用符号“~”表示,运算规律如下:如果位为0,结果为1;如果位为1,结果为0.类似于取反。
a的值为1,二进制数为0001,取反得到1110,最高位(左边第一位数字)为1表示负数,为了得到负数的二进制数,我们采用补数的方式进行计算,将取反后的结果“加1”,即1110取反得到0001加1后,结果为0010,0010是数字2的二进制数。
(4)异或运算符:
异或运算符用符号“^”表示,运算规律为,两个操作数的位中,结果相同得0,不同得1
如图:
5.移位运算符
主要包括左移运算符“<<”、右移运算符“>>>”、带符号的右移运算符“>>”.
(1)左移运算符:用符号“<<”表示,将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补0
(2)右移运算符:用符号“>>”表示,将运算符左边的运算对象向右移动运算符右边指定的位数。若是整数,在高位补0,若为负数,在高位补1
如图例:(“//”后忘记改了,勿理)
由图例可知,移位运算符可以通过数位移动来代替乘法和除法运算。这里的倍数关系跟基数有关,二进制下,基数为2,若是右移则会变为原来的1/2,1/20,1/200…即除法运算。注意右移后空出来的高位的数值,有0和1两种形式,若想区分什么时候补0,什么时候补1,下面的二进制数表示负数的方法有明确说明。
二进制数在表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位称为符号位。符号位位0时表示正数,为1时表示负数。
-1用8位二进制数数来表示的话是“10000001”吗?,答案显然不是,正确答案是“11111111”。
计算机在做减法运算时,实际上内部是在做加法运算,如何实现?在表示负数时适用“二进制的补数”。
补数就是用整数来表示负数。为了获得补数,我们将二进制数的各数位的数值全部取反,然后再将结果加1.例如,二进制数-1,只需求得1(00000001)的补数即可。00000001(原二进制数)—>11111110(取反后)—>11111111(+1后)
1+(-1)=00000001+11111111,出现了最高位溢出的情况,对于溢出的位,计算机会直接忽略掉,在8位的范围内进行计算时,100000000这个9位二进制数会被认为是0000000这一8位二进制数,即有效位只有8位。3-5=00000011+11111011=11111110,最高位为1,表示结果为负数,11111110的补数,取反加1后为00000010,即2的二进制数,结果为-2.
(3)无符号右移运算符
无符号右移运算符用符号“>>>”表示,是将运算符左边的对象向右边移动运算符右边指定的位数,并且在高位补0,其实右移n位,就相当于除上2的n次幂。
如图:
6.赋值运算符
赋值就是将数值赋给变量,而这个赋值运算符就充当了这个赋值的任务,其实最简单的赋值运算符就是“=”,除了“=”之外,还有“+=”、“-=”、“*=”、“/=”、“%=”、“>>=”、“>>>=”、“<<=”、“&=”、“|=”、“^=”.
如图例:
7.三元运算符
三元运算符一般用的很少,因为它在程序中的可读性很差,所以不建议经常使用三元运算符,但很少使用并不代表不使用。
三元运算符的表达形式如下:布尔表达式?值0:值1
它的运算过程:若布尔表达式的结果为true,就返回值0;若布尔表达式的结果为false,就返回值1.
如图例:
注意不能断到下一行,会出现以下情况(无法正常编译)
8.逗号运算符:
在Java程序中,逗号运算符一般用来将几个数值彼此分开,例如数组中的每个元素都是使用逗号于=与其他元素隔开。
9.转型运算符:
将一种类型的对象或数据,经过强制转换而转变为另一种类型的数据。它的格式,在需要转型的数据前加上“()”,然后在括号内加入需要转化的数据类型。
有的数据经过转型运算后,精度会丢失,而有的会更加精确,即精度低的转向精度高的,精度会更加精确,精度高的转向精度低的会丢失精度。
如图例:
10.运算符的优先级别
内容总结
以上是互联网集市为您收集整理的JAVA运算符全部内容,希望文章能够帮你解决JAVA运算符所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。