一: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"