运算符
-
算术运算符:+ , - , ,/ ,% (取余,模) , ++(自增) , --(自减)*
例:
int a = 10; int b = 3; int c = 2; System.out.println(a*b); //a*b System.out.println(b+c); //b+c System.out.println(a*c); //a*c System.out.println(a%b); //a%b,即a/b取余数
// ++ -- 分别表示自增和自减,属于一元运算符 int a = 5; int b = a++; //a++表示a变为a=a+1 //a++表示先赋值,后运算。以上结果为a先赋值给b,所以b=5;a本身再运算,所以a=6。(此结果仅限于上一行代码) int c = ++a; //++a表示先运算,后赋值。以上结果为a先运算,因为上面a已经计算为6,所以a=7;再将a的值赋予c,所以c=7。 System.out.println(a); System.out.println(b); System.out.println(c); //最终结果:a=7 b=5 c=7
// ++ -- 分别表示自增和自减,属于一元运算符
int a = 5;
int b = a--; //a--表示a变为a=a-1
//a--表示先赋值,后运算。以上结果为a先赋值给b,所以b=5;a本身再运算,所以a=5-1=4。(此结果仅限于上一行代码)
int c = --a;
//--a表示先运算,后赋值。以上结果为a先运算,因为上面a已经计算为4,所以a=4-1=3;再将a的值赋予c,所以c=3。
System.out.println(a);
System.out.println(b);
System.out.println(c);
//最终结果:a=3 b=5 c=3
-
赋值运算符: =
例:
int a = 10; //表示将10赋值给a,并非a=10。
-
关系运算符:>, <, >=, <=, ==, !=(不等于) , instanceof
int a =10; int b= 20; System.out.println(a>b); //判断a>b ? System.out.println(a<b); //判断a<b ? System.out.println(a>=b); //判断a>=b ? System.out.println(a<=b); //判断a<=b ? System.out.println(a!=b); //判断a!=b ? 最终结果:false true false true true
-
逻辑运算符:&& ,|| ,!
public class HelloWorld { public static void main(String[] args) { //逻辑运算符 &&(与) ||(或) !(非) boolean a = true; boolean b = false; System.out.println(" a && b : "+(a&&b)); //逻辑与运算,两个变量都为真,结果才为true。(同真为真,其余为假) System.out.println(" a || b : "+(a||b)); //逻辑或运算,两个变量有一个为真,结果才为true。(同假为假,其余为真) System.out.println(" a ! (a&&b) : "+!(a&&b)); //如果为真,结果则变为假;如果为假,结果则变为真。 //最终结果:false true true //短路运算 int c = 5; boolean d = (c<4)&&(c++<4); System.out.println(c); System.out.println(d); //最终结果:5 false } }
以上需重点掌握!!!
-
位运算符:&(与) ,|(或) ,^(异或) , ~(取反) , >>(右移) , <<(左移) , >>> (了解)
public class HelloWorld { public static void main(String[] args) { /* A 0011 1100 B 0000 1101 A & B = 0000 1100 即A、B的位进行比较,再遵循逻辑与运算。 A | B = 0011 1101 即A、B的位进行比较,再遵循逻辑或运算。 A ^ B = 0011 0001 异或:位相同则为0,否则全为1。 ~B = 1111 0010 对B取反。 例:2*8 = 16 2*2*2 << 左移 相当于*2 >> 右移 相当于/2 */ System.out.println(2<<3); //结果:16 } }
-
条件运算符:?,:
public class HelloWorld { //三元运算符 public static void main(String []args){ // x ? y : z //如果x==true,则结果为y,否则结果为z。 int score = 80; String type = score <60 ? "不及格":"及格"; //必须掌握 System.out.println(type); } }
-
扩展赋值运算符:+= ,-= ,*= ,/=
public class HelloWorld {
public static void main(String []args){
int a = 10;
int b = 20;
a+=b; //相当于a=a+b
a-=b; //相当于a=a-b
a*=b; //相当于a=a*b
a/=b; //相当于a=a/b
//字符串连接符 +
System.out.println(a+b);
System.out.println(""+a+b); //如若字符串(" ")在前,则a+b不计算,拼接为1020。
System.out.println(a+b+""); //如若字符串(" ")在后,则不影响a+b计算,结果为30。
//结果:30 1020 30
}
}