算数运算符:+,-,*,/,%,++,--
package operator;
?
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//Ctrl = D :赋值当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 25;
int e = 35;
?
System.out.println(a+b);
System.out.println(c-b);
System.out.println(a*e);
System.out.println(d%b);
System.out.println(d/(double)b);
System.out.println(d/b);//精度不够
}
}
package operator;
?
public class Demo02 {
public static void main(String[] args) {
long a = 121313114123L;
int b = 123;
short c = 10;
byte d = 8;
?
System.out.println(a+b+c+d); //Long(包含long)高容量类型
System.out.println(b+c+d); //Int
System.out.println(c+d); //Int
System.out.println((double) c+d); //double(包含)高容量类型
?
}
}
package operator;
?
public class Demo04 {
public static void main(String[] args) {
// ++ -- 自增 自减 一元运算
int a =3;
?
int b = a++; //执行完这行代码后,先给b赋值,再自增
//a++ a = a +1
System.out.println(a);
// ++a a = a +1
int c = ++a; //执行完这行代码前,先自增,再给b赋值
?
?
System.out.println(a);
System.out.println(b);
System.out.println(c);
?
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类操作
double pow = Math.pow(3,2);
System.out.println(pow);
?
}
}
赋值运算符:=
关系运算符:>,<,,>=, <=, ==, !=instanceof
package operator;
?
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);
System.out.println(a==c);
System.out.println(b!=c);
?
}
}
逻辑运算符:&&,||,!
package operator;
?
//逻辑运算符
public class Demo05 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
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));//真为假来假为真
?
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(c);
System.out.println(d);
?
boolean e = (c>4)||(c++<4);
System.out.println(c);
System.out.println(e);
?
}
}
位运算符:&,|,^,~,>>,<<,>>>
package operator;
?
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
----------------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
?
2*8 = 16 2*2*2*2
效率极高!!!
<< *2
>> /2
?
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
?
*/
?
System.out.println(2<<3);
}
}
条件运算符:?,:
package operator;
?
public class Demo08 {
public static void main(String[] args) {
//x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score < 60 ? "不及格":"及格"; //必须掌握
//if
System.out.println(type);
?
int score1 = 50;
String type1 = score < 60 ? "不及格":"及格"; //必须掌握
//if
System.out.println(type1);
?
}
}
扩展赋值运算符:+=,-=,*=,/=
package operator;
?
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);
?
//字符串连接符 + ,String
System.out.println(""+a+b);
System.out.println(a+b+"");
?
}
}
原文:https://www.cnblogs.com/shenyeanyue-study/p/14892874.html