算数运算符
+-*/
public class Demo01 {
public static void main(String[] args) {
//二元运算符
int a=10;
int b=10;
int c=10;
int d=20;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/d);
System.out.println((double)a/d);
//如果里面有long则结果一定为long,里面有double则结果一定为double,无long则都为int
}
}
%取余数:模运算
public class Demo01 {
public static void main(String[] args) {
//模运算:取余数
int a=10;
int b=20;
int c=21;
System.out.println(c%a);
}
}
++ --
public class Demo01 {
public static void main(String[] args) {
//一元运算符:++自增,--自减
int d=3;
int e=d++;//执行完这行代码后,先给e赋值,再自增,即e=d=3,d=d+1=4
int f=++d;//执行完这行代码前,先自增,再给f赋值, 即d=变4为d=5,f=d
System.out.println(d);
System.out.println(e);
System.out.println(f);
}
}
赋值运算符
=
a=3//即“把3赋值给a”
关系运算符
<= >= < > ==等于 !=不等于 instanceof
<=,>=,<,>
==等于
!=不等于
instanceof
public class Demo03 {
public static void main(String[] args) {
int a=10;
int b=20;
int c=21;
System.out.println(a==b);
System.out.println(a!=b);
}
}
逻辑运算符
&&与 ||或 !非
public class Demo04 {
public static void main(String[] args) {
boolean a=true;
boolean b=false;
System.out.println("a&&b:"+(a&&b));//都真则真,一假则假
System.out.println("a||b:"+(a||b));//一真则真
System.out.println("!(a&&b):"+(!(a&&b)));//真变假,假变真
}
}
短路运算
//短路运算
public class Demo04 {
public static void main(String[] args) {
int c=5;
boolean d=(c<4)&&(c++<4);//前半段错了,后半段不会执行
System.out.println(c);
System.out.println(d);
}
}
位运算符
(只与二进制有关,高效,减少底层运算)
& | ^ ~ << >>
public class Demo05 {
/* A=0011 1100
B=0000 1101
A&B=0000 1100//都为1则1,其余都为0
A|B=0011 1101//都为0则0,其余都为1
A^B=0011 0001//都相同为0,其余为1
~B=1111 0010//完全取反
<<左移 *2
>>右移 /2
*/
public static void main(String[] args) {
System.out.println(2<<3);
}
}
条件运算符
(即三元运算符)
?:
//三元运算符
public class Demo06 {
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 Demo07 {
public static void main(String[] args) {
int a=10;
int b=20;
a+=b;//a=a+b
a-=b;//a=a-b
System.out.println(a);
}
}
一些补充
幂运算
//幂运算
public class Demo08 {
public static void main(String[] args) {
double pow=Math.pow(2,3);
System.out.println(pow);//输出8
}
}
字符连接串
//字符串连接符 + String
public class Demo08 {
public static void main(String[] args) {
int a=10;
int b=20;
System.out.println(a+b);
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
}
}