运算符
- Java语言支持如下运算符:
//二元运算符
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);
long a=1231312313132131l;
long a1 =123;
int b=123;
short c=10;
byte d =8;
double e=13.55;
float f=12f;
System.out.println(a+b+c+d); //long
System.out.println(b+c+d); //int
System.out.println(c+d); //int
System.out.println(f+e); //float
System.out.println(e+a1); //double
System.out.println("================================");
System.out.println((long)e+a);
/*
如果有lang结果为lang,有double结果为double ,默认为int
*/
//关系运算符返回的结果:正确,错误 布尔值 true false
// 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);
//++ -- 自增,自减 一元运算符
int a=3;
int b= a++; //执行完这行代码后,再给b赋值 ,再赋值
//a = a + 1;
System.out.println(a);
System.out.println("==================================");
//a = a + 1;
int c=++a; //执行完这行代码前,先自增,再给b赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作!
double pow = Math.pow(2,3);
System.out.println(pow);
//与 (and) 或 (or) 非 (取反)
public static void main(String[] args) {
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)); //如果是真,则变为假,结果是假则变为真
System.out.println("=========================================================");
//短路运算
int c =10;
boolean d =(c<5)&&(c++<4);
System.out.println(d);
System.out.println(c);
/*
A= 0011 1100
B= 0000 1101
··············································
A&B =0000 1100 都为1为1 否则为0
A|B =0011 1101 都为0为0 否则为1
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);
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); //1020
System.out.println(a+b+""); //30
//x ? y :z
//如果x==true,结果为y,否则结果为z
int score=50;
String type= score>60 ?"及格":"不及格"; //必须掌握
//if
System.out.println(type);