基本语法
运算符
//二元运算符
int a = 10;
int b = 20;
int c = 50;
int d = 60;
System.out.println(a+b);//30
System.out.println(a-b);//-10
System.out.println(a*b);//200
System.out.println(a/(double)b);//0.5
//输出结果类型
long a = 125546896532L;
int b = 123;
short c = 10;
byte d = 8;
//这些数字中有一个类型为long,结果为long类型,如果没有long时,结果也为int型
//这些数字中有一个类型为double,结果为double类型,如果没有long时,结果也为int型
//即输出结果含有比int类型高时,输出高类型,否则输出int类
System.out.println(a+b+c+d);//125546896673 Long
System.out.println(b+c+d);//141 Int
System.out.println(c+d);//18 Int
System.out.println((double)c+d);//18.0 double
//关系运算符返回的结果:正确,错误,布尔值
//if
int a = 10;
int b = 20;
int c = 30;
//取余,模运算
System.out.println(c%a); // 0 c%a 30 / 10 =3.....0
System.out.println(a>b);//flase
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
//++ -- 自增 自减 一元运算符
int a = 10;
int b = a++;
//a = a + 1;
System.out.println(a);// 11 执行完这行代码后,先给b赋值,再自增
//a = a + 1;
int c = ++a;//执行完这行代码前,先自增,再给c赋值
System.out.println(a); //12
System.out.println(b); //10
System.out.println(c); //12
//幂运算 2^3 2*2*2 = 8
//很多运算,我们会使用一些工具类来操作
double pow = Math.pow(2, 3);
System.out.println(pow);
//逻辑运算符 与 (and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//a && b:false 逻辑与运算:两个变量都为真,结果为true
System.out.println("a || b:"+(a||b));//a || b:true 逻辑或运算:两个变量有一个为真,结果为true
System.out.println("!(a && b:)"+!(a&&b));//!(a && b:)true 逻辑非运算:如果为真,则变为假,如果为假,变为真
//短路运算
int c = 5;
boolean d =(c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5
//位运算
/*
A = 0011 1100
B = 0000 1101
---------------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001 //异或:相同为0,不同为1
~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 左移3位,末尾加3个0
System.out.println(16>>3);//2 右移3位,末尾去3个0
//扩展赋值运算符
int a = 10;
int b = 20;
a+=b;//a=a+b
a-=b;//a=a-b
System.out.println(a);//10
//字符串连接符 + ,String
System.out.println(""+a+b);// 1020 字符串在前,会拼接
System.out.println(a+b+"");//30 字符串在后,会计算
//三元运算符//x ? y : z
//如果x==true,则结果为y,否则为z
int score = 60;String type = score <60 ? "不及格" : "及格";
//if
System.out.println(type);