运算符
import java.lang.Math;
public class Demo5 {
public static void main(String[] args) {
// + - * / % 基础的运算符不谈
// ++ --
int a = 1;
int b = a++; //a赋值给b后自增1
System.out.println(a); //2
int c = ++a; //a在赋值给c前自增1,故c=a+1
System.out.println(a); //3
System.out.println(b); //1
System.out.println(c); //3
// -- 与 ++ 相同
//逻辑运算符 && || !
boolean b1 = true;
boolean b2 = false;
System.out.println(b1&&b2);
System.out.println(b1||b2);
System.out.println(!(b1&&b2));
//三元运算符,等价于if语句
int flag = b1==b2 ? 100 : 200; //如果b1==b1,flag=100,否则flag=200
System.out.println(flag);
float socre = 70f;
String result = socre>=60 ? "及格" : "不及格";
System.out.println(result);
//逻辑运算符短路情况
int num = 10;
boolean flag2 = (b1==b2)&&(num++>0);
System.out.println(num); //在b1==b2为false后,&&的结果必然为false,num++操作被跳过
//初识Math类
System.out.println(Math.pow(2, 3)); //2^3
//位运算符
//x = 0000 0110
//y = 0011 1101
//-------------------
//x&y = 0000 0100 --> 同时为1才为1
//x|y = 0011 1111 --> 又一个为1就是1
//x^y = 0011 1111 --> 相同为0,不相同为1
//~x = 1111 1001 --> 取反,0变为1,1变为0
//2*8 怎么运算最快?2*2*2*2
//<< >> 左移 右移 *2 /2
System.out.println(2<<3);
}
}