Java基础-运算符

2021/11/1 17:13:19

本文主要是介绍Java基础-运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

算术运算符

运算符含义例子结果
+加法9+413
-减法9-45
*乘法9*436
/除法(当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除)9/42
%取余(0不能做除数,否则报错)9%41
++自增(++在后,先赋值再运算)a=3 ; c=a++先赋值运算c=a=3 ; 再算术运算a=a+1=4
++自增(++在前,先运算在赋值)a=3 ; c=++a先算术运算a=a+1=4 ; 再赋值运算c=a=4
--自减(--在后,先赋值再运算)a=3 ; c=a--先赋值运算c=a=3 ; 再算术运算a=a-1=2
--自减(--在前,先运算在赋值)a=3 ; c=--a先算术运算a=a-1=2 ; 再赋值运算c=a=2

赋值运算符

运算符含义例子结果
=将运算符右边的值赋给左边的变量<br/>(左边只允许是变量,不能是表达式或其他形式)int a ; a=4将4赋值给变量a ,a的值由未知变为4, a=4
+=将该运算符左边的数值加上右边的数值, 其结果赋值给左边变量本身int a=4 ; a+=4a=a+4=4+4=8
-=将该运算符左边的数值减去右边的数值, 其结果赋值给左边变量本身int a=4 ; a-=4a=a-4=4-4=0
*=将该运算符左边的数值乘以右边的数值, 其结果赋值给左边变量本身int a=4 ; a*=4a=a*4=4*4=16
/=将该运算符左边的数值整除右边的数值, 其结果赋值给左边变量本身int a=4 ; a/=4a=a/4=4/4=1
%=将该运算符左边的数值除以右边的数值后取余,其结果赋值给左边变量本身int a=4 ; a%=4a=a%4=4%4=0

比较(关系)运算符

  • (运算结果都是boolean型 [ true(真) , false(假) ])
运算符含义例子结果
>大于4>6false
<小于4<6true
\>=大于或等于4>6false
<=小于或等于4<=6true
==两边是否相等(比较对象地址)String a="abc";   String b="abc";  System.out.println(a==b);  System.out.println(a.equals(b));a==b  //内存空间相同 true  a.equals(b)  //值相同 true
equals是否相等(比较对象内容)String a="abc";  String b=new String("abc");  System.out.println(a==b);  System.out.println(a.equals(b));a==b  //内存空间不同 false  a.equals(b)  //值相同 true
!=两边是否不等4!=6true

逻辑运算符

  • 特点是操作boolean
  • 运算符左右两边必须是boolean值 (将两边的结果进行连接,判断真或假 true || false)
  • 其中& |  ^这三个也是位运算符,能操作数字
  • &  |  ^这三个运算符 当两侧操作符是boolean时作为逻辑运算符,两侧操作符是整数类型,则作为位运算符
  • 或,或-短路 ,论坛MD会转义,用文字代替
运算符含义例子结果
&and(与)   <只有两边结果都为true,结果才为true ; 只要有一边结果为false,结果为false>false&true;  true&truefalse ; true
or(或)   <只有两边结果都为false,结果才为false; 只要有一边结果为true,结果为true>false或true;   false或falsetrue ;  false
^xor(异或)   <两边结果为true,结果为false ; 其余的情况与 (或) 相同 >false^true  ; false^false ;  true^truetrue  ; false ;  false
!not(非)   <输出相反的情况 >!truefalse
&&and(短路) < 运算结果与&一致,运算方法不同; 左边的一旦为false,右边的就不再参与计算,直接输出结果为false>false&&true  ; true&&truefalse;true
或-短路or(短路)<运算结果与(或)一致,运算方法不同; <br/>左边的一旦为true,右边的就不再计算,直接输出结果为true>false 或-短路 true ; false 或-短路 falsetrue ; false

位运算符(非重点, 但是一些加密算法经常用到)

  • 对二进制直接进行运算
  • &  |  ^ 这三个运算符 当两侧操作符是boolean时作为逻辑运算符,两侧操作符是整数类型,则作为位运算符
运算符含义运算细节例子结果
<<左移(左移几位就是该数据乘以2的几次方)空位补0 ,被移除的高位丢弃3<<2=123*2*2=12
>>右移(右移几位就是该数据除以2的几次方)被移除的高位是0就补0 ,是1就补16>>2=16/2(2)=1
>>>无符号右移被移除的高位无论是0还是1 ,空位都补03>>>13/2=1
&只有1&1时是1 ; 否则是06&32
只有0或0时是0 ; 否则是16或37
^异或(相同二进制位进行^运算,结果是0 {1^1=0 ;0^0=0} 不同 , 结果是1 .{1^0=1 ; 0^1=1})6^35
~反码对二进位按位求反(1变0 ; 0变1)~6-7

三元运算符

运算符含义例子结果
? :      [条件语句]? [表达式1]:[表达式2]如果?左边的条件语句为真 ,执行表达式1  ; 如果?左边的条件语句为假 ,执行表达式2int a=1,b=2,c;  c=a>b?100:200;c=200

运算符之间的优先级

优先级运算符
1()括号运算符
2! , +(正号) , -(负号)一元运算符
2~位逻辑运算符
2++ ,  --递增与递减运算符
3*   ,  /   ,  %算术运算符
4+ ,   -算术运算符
5<<  ,  >>位左移,右移运算符
6>  ,  >= ,  <  ,  <=关系运算符
7==  ,  !=关系运算符
8&位运算符,逻辑运算符
9^位运算符,逻辑运算符
10位运算符,逻辑运算符
11&&逻辑运算符
12或-短路逻辑运算符
13?:条件运算符
14=   ,+= ,   -=  ,  *=  ,  /=  ,  %=赋值运算符,扩展运算符

加端端老师免费领取更多Java资料

 

 



这篇关于Java基础-运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程