public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误 布尔值\
//if
int a = 10;
int b = 20;
int c = 21;
System.out.println(c%a);// c/a 21/10 = 2 ....1
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
}
}
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增自减 一元运算符
int a = 3;
int b = a++;
//a++ a = a+1
//a++ 执行完后先给b赋值再自增
int c = ++a;
//++a 先自增再给c赋值
System.out.println(a);
System.out.println(a);
System.out.println(b);
System.out.println(b);
System.out.println(c);
System.out.println(c);
//幂运算 2^3 2 *2 *2 = 8 很多运算 我们会用一些工具类来操作
double pow = Math.pow(2, 3);
System.out.println((int)pow);
}
public class Demo05 {
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)返回false后 不会加载c++ [短路运算]
System.out.println(d);
System.out.println(c); //c++没有被加载所以还是5
}
}
public class Demo6 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A & B
A | B
A ^ B
~B
<< *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);
}