运算符
算术运算符:
- 加:+
- 减:-
- 乘:*
- 除:/
- 取余(模运算):%
- 自增:++
- 自减:- -
//二元运算符
int a = 10 ;
int b = 20 ;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a/(double)b);
注意:运算时 存在long或以上级别则结果为最高级别,若没有则结果为int级别
long a = 1354564896513456L;
int b = 11153;
short c = 115;
byte d = 18;
//运算时 存在long或以上级别则结果为最高级别,若没有则结果为int级别
System.out.println(a+b+c+d);
System.out.println(b+c+d);
System.out.println(c+d);
// ++:自增 --:自减 一元运算符
int a = 3;
int b = a++; //执行完这行代码后,先给b赋值,再自增
//a=a+1
System.out.println(a);
//a=a+1
int c = ++a; //执行完这行代码前,先自增,再给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算 2^3
double pow = Math.pow(2,3);
System.out.println(pow);
赋值运算符 关系运算符
//关系运算符返回的结果:正确 错误 --布尔值
int a = 10 ;
int b = 20 ;
int c = 33 ;
int d = 40 ;
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);
逻辑运算符
- 与:&&
- 或:||
- 非:!
boolean a = true;
boolean b = false;
System.out.println( " a&&b :" +(a&&b)); //与
System.out.println( " a||b :" +(a||b)); //或
System.out.println( "!(a&&b):" +(!(a&&b))); //非
注意:逻辑运算符可能出现 “ **短路运算 ** ”----当运算一半时发现满足条件,则直接结束并出结果
//短路运算
int c=3;
boolean d = (c<2) && (c++<1);//由于与运算原理,(c<2)-->假 后面c++则没有运算
System.out.println(d);
System.out.println(c);
位运算符
位运算指的是二进制运算
与:&
或:|
异或:^
非:~
/*
A = 0011 1100
B = 0000 1101
A&B= 0000 1100
A|B= 0011 1101
A^B= 0011 0001
~B = 1111 0010
>>:/2 <<:*2 效率高
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
2*8 2*2*2*2
*/
System.out.println(2<<3);
条件运算符
x ? y : z 表示: 如果 x==true,则结果为 y ,否则结果为 z
// x ? y : z
//如果 x==true,则结果为 y ,否则结果为 z
int a = 50;
String type = a <60 ? "不及格" : "及格";
System.out.println(type);
扩展赋值运算符
a+=b 表示: a=a+b
a-=b 表示: a=a-b
int a = 10;
int b = 20;
a+=b; //a=a+b
System.out.println(a);
a-=b; //a=a-b
System.out.println(a);
字符串连接符
int a = 10;
int b = 20;
//字符串连接符 + String
System.out.println(""+a+b);
System.out.println(a+b+"");