一:Java运算符
在Java中,运算符可以分为以下四组:
算术运算符、位运算符、关系运算符、逻辑运算符
二:算术运算符
运算符 | 结果 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模 |
++ | 递增运算 |
-- | 递减运算 |
+= | 加法赋值 |
-= | 减法赋值 |
*= | 乘法赋值 |
/= | 除法赋值 |
%= | 取模赋值 |
算术运算符的操作数必须是数字类型的,即可以是(byte,short,int,long,float,double,char)。不能再boolean类型上使用它们,char实质是int类型的子集。
除法运算符应用到整形时,结果中将不包括小数部分。
模运算符%返回一个除法操作的余数。
++x:表示在x参与其他运算之前先自增1
x++:表示在x参与其他运算之后先自增1
--x:表示在x参与其他运算之前先自减1
x--:表示在x参与其他运算之后先自减1
例子:1.//文件名:Demo1.java
class Demo1 { public static void main(String[] args) { int a = 1; int b = 2; int c = 3; a += 5; System.out.println("a += 5 结果:" + a); b *= 4; System.out.println("b *= " + b); c += a * b; System.out.println("c += " + c); c %= 6; System.out.println("c %= " + c); } }
2.//文件名:Demo2.java
class Demo2 { public static void main(String[] args) { int a = 1; int b = 2; int c = 12; int d = 50; int e = 24; int f = a + b * c - e / b + d + e + d * b / c; System.out.println(f); } }
3.//文件名:Demo3.java
class Demo3 { public static void main(String[] args) { int a = 1; int b = 2; int c; int d; c = ++b; // c=3,b=3 d = a++; // d=1,a=2 c++; // 4 System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); } }
三:关系运算符
运算符 | 意义 | 解释 |
== | 等于 | 相等为true,否则为false |
!= | 不等于 | 不等为true,否则为false |
> | 大于 | 大于为true,否则为false |
< | 小于 | 小于为true,否则为false |
>= | 大于等于 | 大于等于为true,否则为false |
<= | 小于等于 | 小于等于为true,否则为false |
这些运算的结果都是一个boolean值,关系运算符常用在if语句和循环语句中。
例子://文件名:Demo4.java
class Demo4 { public static void main(String[] args) { int a = 3; int b = 3; short c = 5; byte d = 3; long e = 5; char f = 'N'; double g = 6.01D; float h = 6.01F; boolean i = false; boolean j = true; // 把 a == b 运算的结果赋给x boolean x = (a == b); // 把 a != c 运算的结果赋给y boolean y = (a != c); // 把 g == h 运算的结果赋给z boolean z = (g == h); // 把 d != f 运算的结果赋给m boolean m = (d != f); // 把 e != f 运算的结果赋给n boolean n = (e != f); // 把 i == j 运算的结果赋给k boolean k = (i == j); System.out.println("a == b的值为:" + x); System.out.println("a != c的值为:" + y); System.out.println("g == h的值为:" + z); System.out.println("i == j的值为:" + k); System.out.println("d != f的值为:" + m); System.out.println("e != f的值为:" + n); } }
//文件名:Demo5.java
class Demo5 { public static void main(String[] args) { int a = 6; byte b = 100; short c = 120; long d = 100000L; char e = 'B'; double f = 1.001D; float g = 1.01F; boolean x = (a > c);// 把a > c的运算结果赋给x; false boolean y = (b >= 100); // 把b >= 100 的运算结果赋给y true boolean z = (e < d);// 把e < d 的运算结果赋给z true boolean k = (f <= g); // 把f <= g的运算结果赋给x true System.out.println("a > b 的值为:" + x); System.out.println("b >= 100 的值为:" + y); System.out.println("e < d 的值为:" + z); System.out.println("f <= g 的值为:" + k); } }
四:逻辑运算符
运算符 | 意义 |
& | 逻辑与 |
| | 逻辑或 |
^ | 逻辑异或 |
! | 逻辑非 |
|| | 短路或 |
&& | 短路与 |
X | Y | !X | X&Y | X|Y | X^Y | X&&Y | X||Y |
true | true | false | true | true | false | true | true |
true | false | false | false | true | true | false | true |
false | true | true | false | true | true | false | true |
false | false | true | false | false | false | false | false |
例子://文件名:Demo6.java
class Demo6 { public static void main(String[] args) { boolean a = true; boolean b = false; boolean c = a | b; // 或 boolean d = a & b; // 与 boolean e = a ^ b; // 异或 boolean f = (!a & b) | (a & !b); boolean g = !a; // 取反 System.out.println("a = " + a); // true System.out.println("b = " + b); // false System.out.println("a|b = " + c); // true System.out.println("a & b = " + d); // false System.out.println("a ^ b = " + e); // true System.out.println("!a = " + g); // false } }
//文件名:Demo7.java
class Demo7 { public static void main(String[] args) { boolean a = true; int b = 10; int c = 0; int d = 0; if (a && b > 9) { c = 100; } if (a || b > 19) { d = 500; } System.out.println("c = " + c); System.out.println("d = " + d); } }
五:三元运算符
Exp1 ? Exp2 : Exp3
Exp1表示一个布尔表达式,其值只能为true或false
Exp2表示任何一个表达式
Exp3表示任何一个表达式
示例://文件名:Demo7.java
class Demo7 { public static void main(String[] args) { int i; i = 10; int k = i < 0 ? 10 : 20; System.out.println(k); i = -10; k = i < 0 ? 10 : 20; System.out.println(k); } }
六:字符串连接运算符 +
“+”可以用于两个字符串进行连接操作
如:"Hello" + "Word"