Java运算符
Java运算符有:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符
算术运算符
A=10,B=20
操作符 | 描述 | 例子 |
+ | 加法,运算符两侧的值相加 | A+B=30 |
- | 减法,运算符两侧的值相减 | B-A=10 |
* | 乘法,运算符两侧的值相乘 | A*B=200 |
/ | 除法,运算符左侧除以右侧的值 | B/A=2 |
% | 取余,运算符左侧除以右侧数的余数 | B%A=0 |
++ | 自增,操作数的值+1 | ++B=21,B++=21 |
-- | 自减。操作数的值-1 | B--=19,--B=19 |
例:
1 public class Test { 2 public static void main(String[] args){ 3 int a = 10; 4 int b = 20; 5 int c = 25; 6 int d = 25; 7 System.out.println("a+b="+(a+b)); 8 System.out.println("a-b="+(a-b)); 9 System.out.println("a*b="+(a*b)); 10 System.out.println("b/a="+(b/a)); 11 System.out.println("a%b="+(a%b)); 12 System.out.println("a++="+(a++)); 13 System.out.println("a--="+(a--)); 14 } 15 }
自增自减运算符
例:
1 public class selfAddMinus { 2 public static void main(String[] args){ 3 int a = 3; 4 int b = ++a; 5 int c = 3; 6 int d = --c; 7 System.out.println("自增运算值为:"+b); 8 System.out.println("自减运算值为:"+d); 9 } 10 }
a++、a--和++a、--a的区别:
a++、a--:先进行表达式运算,再自增或者自减;
++a、--a:先进行自增或者自减,再进行表达式运算;
例:
1 public class selfAdd { 2 public static void main(String[] args){ 3 int a = 10; 4 int b = 10; 5 int x = 2*a++; 6 int y = 2*++b; 7 System.out.println("a="+a+ "自增运算a++为:"+x); 8 System.out.println("a="+b+ "自增运算++b为:"+y); 9 } 10 }
关系运算符
运算符 | 描述 | 例子 |
---|---|---|
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B)为假。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B)为假。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B)为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B)为假。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B)为真。 |
位运算符
操作符 | 描述 | 例子 |
---|---|---|
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 如果相对应位都是 0,则结果为 0,否则为 1 | (A | B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
A>>>2得到15即0000 1111 |
逻辑运算符
操作符 | 描述 | 例子 |
---|---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B)为假。 |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B)为真。 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(A && B)为真。 |
例:
1 public class booleanTest { 2 public static void main(String[] args){ 3 boolean a = true; 4 boolean b = false; 5 System.out.println("a&&b= " + (a&&b)); 6 System.out.println("a||b= " + (a||b)); 7 } 8 }
赋值运算符
操作符 | 描述 | 例子 |
---|---|---|
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A,C 与 A 同类型时等价于 C = C / A |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
| = | 按位或赋值操作符 | C | = 2等价于C = C | 2 |
条件运算符(?:)
条件运算符也叫三元运算符,该运算符有3个操作数,并且需要判断布尔表达式的值。
variable x = (expression) ? value if true : value if false
例:
1 public class conditionTest { 2 public static void main(String[] args){ 3 int a, b; 4 a = 10; 5 // 如果a等于1为true,则赋值b为20,否则为30 6 b = (a == 1) ? 20 : 30; 7 System.out.println(b); 8 // 如果a等于10为true,则赋值b为20,否则为30 9 b = (a == 10) ? 20 : 30; 10 System.out.println(b); 11 } 12 }
instanceof运算符
该运算符用于操作对象,检查对象是否是一个特定类型(类类型或接口类型)
1 class Vehicle { 2 } 3 public class Car extends Vehicle{ 4 public static void main(String[] args){ 5 Vehicle a = new Car(); 6 boolean result = a instanceof Car; 7 System.out.println(result); 8 } 9 }
标签:操作数,Java,System,运算符,println,out,赋值 From: https://www.cnblogs.com/wenzm/p/17238033.html