Java基础06
运算符
-
Java语言支持如下运算符:
- 算术运算符:+,-,*,/,%,++,–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<,>>>
- 条件运算符:?,:
- 扩展赋值运算符:+=,-=,*=,/=
-
自增自减运算符 ++, –
public class Demo { public static void main(String[] args){ int a = 0; int b = a++; // 先将a赋值给b,再自增,所以b=0 int c = ++a; // a先自增,再赋值给c,所以c=2 int d = a--; // 先将赋值给d,再自减,所以d=2 int e = --a; // a先自减,再赋值给e,所以e=0 } }
-
逻辑运算符
public class Demo { public static void main(String[] args){ boolean a = true; boolean b = false; System.out.println(a && b); // 与运算,两个值均为true,结果才为true,所以输出 false System.out.println(a || b); // 或运算,两个值有一个值为true,结果就为true,所以输出 true System.out.println(!(a && b)); // 非运算,如果为真则变为假,如果为假则变为真,所以输出 true } }
-
位运算
public class Demo { public static void main(String[] args){ /* A = 0011 1100 B = 0000 1101 A&B = 0000 1100 // 与, 两个均为1,才为1 A|B = 0011 1101 // 或 有一个为1,就为1 A^B = 0011 0001 // 异或 相同为0,不相同为1 ~B = 1111 0010 // 非 1变0,0变1 2*8 = 16 2*2*2*2 << //左移 *2 >> //右移 /2 */ System.out.println(2<<3) // 2左移3位,结果输出16 } }
-
扩展运算符
public class Demo { public static void main(String[] args){ int a = 10; int b = 20; a+=b; // a=a+b; 输出30 a-=b; // a=a-b; 输出-10 System.out.println(""+a+b) // 字符串连接符 + ,先出现String类型,则转换成String类型进行拼接,输出1020 System.out.println(a+b+"") // 字符串连接符 + ,后出现String类型,则先计算再进行拼接,输出30 } }
-
条件运算符
public class Demo { public static void main(String[] args){ // x ? y : z // 如果x==true, 则结果为y,否则结果为z int score = 80; String type = score < 60 ? "不及格": "及格"; System.out.println(type) // 输出及格 } }