[关闭]
@liruiyi962464 2019-02-25T09:15:35.000000Z 字数 2361 阅读 433

运算符

java

算术运算符

  • 强调:字符串加任何数据类型都是字符串连接
运算符 说明 计算 结果
+ 数学加运算 x=5+5 10
+ 字符串拼接 x="aa"+"bb" aabb
- 数学减运算 x=5-5 0
- 取负数 y=5;x=-y -5
* 数学乘运算 x=5*5 25
/ 数学除运算 x=5/5 12
% 数学余运算 x=5%5 1
++ 数学加运算 x=1;x++ 2
-- 数学加运算 x=1;x-- 0

自加运算

  1. //输出答案为1 2 0 2
  2. int num1 = 0;
  3. int num2 = 1;
  4. //先使用对应的值后自加1
  5. int num3 = num1++;
  6. //int num3=num1; num1=mum+1;
  7. //先对自身加1后使用
  8. int num4 = ++num2;
  9. //num2=num2+1; int num4=num2;

自减运算

  1. //输出答案为-1 0 0 0
  2. int num1 = 0;
  3. int num2 = 1;
  4. //先使用对应的值后自加1
  5. int num3 = num1--;
  6. //int num3=num1; num1=mum-1;
  7. //先对自身加1后使用
  8. int num4 = --num2;
  9. //num2=num2-1; int num4=num2;

赋值运算符

通用的形式:变量名=表达式

  • 提示:还可以和位运算符构成复合运算符,例如:^=、<<=
运算符 表达式 计算 结果(假设x=10)
+= x+=5 x=x+5 15
-= x-=5 x=x-5 5
*= x*=5*10 x=x*5 50
/= x/=5 x=x/5 2
%= x%5 x=x%5 0

复合运算

  1. //结果为70
  2. int num = 10;
  3. num += 20;
  4. num = num + 20;
  5. num+=20;
  6. System.out.println(num);

关系运算符

  • 提示:关系运算符的结果都是boolean类型的值
  • 比较运算符概括:实质上是一个条件判断,如果条件判断成功返回true,失败返回false
  • 基本数据类型的比较如果比较符两边的值相等返回true否则返回false
运算符 说明 计算 结果
== 相等于 1==1 true
!= 不等于 1!=1 false
> 大于 1>2 false
< 小于 1<2 true
>= 大于等于 1>=2 false
<= 小于等于 1<=2 true
  1. int a = 20;
  2. int b = 30;
  3. System.out.println(a==b);//返回false
  4. System.out.println(a!=b);//返回true
  5. System.out.println(a>b);//返回false
  6. System.out.println(a<b);//返回false
  7. System.out.println(a<=b);//返回false
  8. System.out.println(a>=b);//返回false

逻辑运算符

  • 逻辑运算符最终返回的结果一定是boolean类型
  • &&(与 并且) 丨丨(或 或者) !(非 取反)
  • 多个&&链接是只有当所有的条件判断都成立时,最终的结果才是true
运算符 说明 表达式 描述
&& 短路与 条件1&&条件2 仅仅俩个条件同时为真,结果为真,若1为假,则不判断2
丨丨 短路或 条件1丨丨条件2 只要俩个条件有一个为真,结果为真,若1为真,则不判断2
条件1!条件2 条件个为真时,结果为假 条件个为假时,结果为真
& 条件1&条件2 仅仅俩个条件有一个为真,结果为真,若1为假,则2还需判断
条件1丨条件2 只要俩个条件有一个为真,结果为真,若1为真,则2还需判断
^ 异或 条件1^条件2 当一个为真,一个为假时,结果为真
  1. //逻辑运算符最终返回的结果一定是boolean类型
  2. //假设a条件判断1; b条件判断2;
  3. //a&&b 只有a=true并且b=true时 a&&b=true 其他情况a&&b=false
  4. System.out.println((2==3)&&(4<=10));//返回fals
  5. //a||b 只有a=false或者b=false时 a||b=false 其他情况a||b=true
  6. System.out.println((7!=8)||(9<=-10));//返回true
  7. //!a 只有a=false !a=true 当a=true !a=false
  8. System.out.println(!(3==4));//返回true
  9. //综合从左至右一步一步分析,最终得出结果 下答案为:false
  10. System.out.println(!((3==4)&&(5<=7)||((3==7)||(6<=10))));
  11. a&b: a=false 还会判断 b的值 然后才输出 a&b=false
  12. a&&b: a=false 不在判断b的值 直接输出a&&b=false;
  13. a|b: a=true 还会判断 b的值 然后输出 a|b=true
  14. a||b:当a=true 不在判断b的值 直接输出a||b=true;
  15. a^b: 只有当 a,b 2个条件判断一个值为true,
  16. 另一个值为false a^b=true其他情况为false

位运算符

位运算符是对二进制的直接运算

运算符 表达式 计算 结果(假设x=10)
& 与运算 6&3=2 只有对应的俩个二进制均为1时,结果位才为1,否则为0
或运算 6丨3=7 只要对应的二个二进制位有一个为1时,结果位就为
^ 异或运算 6^3=5 当两对应的二进位相异时,结果为1
~ 非运算符 ~9=10 其功能是对参与运算的数的各二进位按要求反
<< 左移 2<<3=16 往左位移,右边部0
>> 右移 3>>1=1 往右边移,正数左边补0,负数补1
>>> 无符号右移 3>>>1=1 往右位移,左边部0

三目运算符

  1. public class T2 {
  2. public static void main(String[] args) {
  3. char x = 'X';
  4. int i = 10;
  5. System.out.println(true ? x : 0);
  6. System.out.println(false ? 10 : x);
  7. }
  8. }
  9. 为什么结果是X X
  10. x? y:z
  11. x是一个boolean类型,若xtrue,结果显示y,若xfalse,则结果显示z.
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注