运算符
![QQ截图20220304180454]()
算术运算符
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;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
关系运算符
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符运算的结果 只会是布尔值 要么真 true 要么假 false
//% 取余符号 模运算
int a = 10;
int b = 20;
int c = 21;
System.out.println(a<b);
System.out.println(a>b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(c%a);
}
}
自增自减
package operator;
public class Demo04 {
public static void main(String[] args) {
//++自增 --自减 一元运算符
int a = 3;
int b = a++;//先给b赋值后a才自增
System.out.println(a);
//a++ = (a=a+1) a++表示a自加1 在下一句命令才会改变a的值
//++a = (a=a+1)
int c = ++a;//a先自增后再给c赋值
//++a = (a+1=a) ++a也表示a自加1 在当前命令就已经改变a的值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算 2^3 = 2*2*2 很多复杂数学类运算我们会使用工具类来操作
double pow = Math.pow(2, 3);
System.out.println(pow);
}
}
逻辑运算符
package operator;
//逻辑运算符
public class Demo05 {
public static void main(String[] args) {
//与and 或or 非取反
boolean a = true;
boolean b = false;
System.out.println(a&&b);//有假(false)即为假
System.out.println(a||b);//有真(true)即为真
System.out.println(!(a&&b));
System.out.println("=====================================");
System.out.println("a&&b:"+(a&&b));
System.out.println("a||b:"+(a||b));
System.out.println("!(a&&b):"+!(a&&b));
System.out.println("======================================");
//短路运算
int i = 5;
int i1 = 5;
boolean d = (i<4)&&(i++<10);//与运算时前面如果出现假(false)则后面的运算不执行
boolean f = (i1<4)&&(++i1<10);
System.out.println(d);
System.out.println(f);
System.out.println(i);
System.out.println(i1);
}
}
位运算
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 1100 0011
~B 1111 0010
A^B 0011 0001 异或运算 相同为0 相异为1
位运算
效率极高!!!
效率极高!!!
<< 左移运算 *2
>> 右移运算 /2
面试题 如何高效率运算2*8
使用位运算
*/
System.out.println(2<<3);//2左移运算3 相当于 0000 0010中的1左移三位 即为0001 0000 等于16
}
}