运算符
Java语言支持如下运算符:
- 算术运算符:+、-、*、/、%、++ 、–
- 赋值运算符:=
- 关系运算符:>、<、>=、<=、==、!= 、 instanceof
- 逻辑运算符:&&、||、!
- 位运算符:&、|、^、~、>> 、<<、>>>(了解!!!)
- 条件运算符 ?:
- 扩展赋值运算符:+=、-=、*=、/=
算术运算符
package operator;
public class Dome01 {
public static void main(String[] args) {
//ctrl+D : 复制当前行到下一行
int a =12;
int b =5;
int c =2;
int d =22;
System.out.println(a+b); //17
System.out.println(b-c); //3
System.out.println(d/c); //11
System.out.println(b*c); //44
}
}
package operator;
public class Dome03 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++; //执行完这行代码后,先给b赋值,再自增
// a++ a = a + 1;
System.out.println(a); //4
// a++ a = a+1;
int c = ++a; //执行完这行代码前先自增,再给b赋值
System.out.println(a); //5
System.out.println(b); //3
System.out.println(c); //5
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作!
double pow = Math.pow(2, 3);
System.out.println(pow); //16
}
}
关系运算符
package operator;
public class Dome02 {
public static void main(String[] args) {
//关系运算符返回的结果: 正确、错误 布尔值
int a = 10;
int b = 20;
int c = 22;
//取余,模运算
System.out.println(c%a); //2 c/a 22/10 = 2...2
System.out.println(a>b); //false
System.out.println(a<b); //true
System.out.println(a==b); // false
System.out.println(a!=b); //true
}
}
逻辑运算符
package operator;
//逻辑运算符
public class Dome04 {
public static void main(String[] args) {
// 与(and) 或(or) 非(取反)
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 && b):" +!(a && b)); //如果是真,则结果为假。如果是假,则结果为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4); //如果(c<4)不成立后面不运算
System.out.println(d); //false
System.out.println(c); //5
}
}
位运算符
package operator;
public class Dome05 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
----------------------
A & B = 0000 1100
A | B = 0011 1101
~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); //16
}
}
扩展赋值运算符
package operator;
public class Dome06 {
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); // 10 20
System.out.println(a+b+""); // 30
}
}
三元运算符
package operator;
//三元运算符
public class Dome07 {
public static void main(String[] args) {
//x ? y : z
//如果 x==true,则结果为y,否则结果为z
int score = 60;
String type =score < 60 ? "不及格" : "及格";
System.out.println(type); //及格
}
}
又来一波!!!枸杞温水!!!