运算符:
- 赋值运算符: =
- 数学运算符: + - * / %
- 高级赋值运算符:+= -= *= /= %=
- 关系运算符: > < >= <= == !=
- 逻辑运算符: && || !
- 位移运算符: >> <<
- 三目运算符: 表达式1 ? 表达式2 : 表达式3
赋值运算符,数学运算符,高级赋值运算符:
a = b ,将b的值赋给a
”+“,求和; “-”,求差; “*”,求积; “/”,求商; “%”,求余;
a+=b: a=a+b;
a-=b: a=a-b;
a*=b: a=a*b;
a/=b: a=a/b;
a%=b: a=a%b;//求余的符号之和被求余数有关
public static void main(String[] args) {
short b =10;//把10赋给b,此时b的值为10
byte s = 2;
int i = b + s;//byte short char 三种类型的变量在进行数学运算的时候,
//先自动转换成int类型的整数,然后再进行数学运算。
System.out.println(i);
int a=1;
a+=1;//a+=1这句等于a=a+1
// int c=a/b;//int c=a+b;舍弃小数
int c=a%b;
System.out.println(c);
这里有一个可以用到的符号++和–
a++是先用a,用完之后在+1,这时候用的a就是本身;
++a是先+1,在使用a,这时候的a是a+1;
a- -和- -a同理(两个减号)
关系运算符,逻辑运算符:
关系运算符:> >= < <= == != 运算的最终结果是boolean类型
逻辑运算符:
&&:短路与
&:与
&& 与 &的异同点:
相同点:二者都满足false为false,表达式1 && 表达式2 ,表达式1和表达式2
有任意一个为false,整体结果为false,二者都为true,结果才为true。
不同点:&&:当表达式1为false时候,表达式2不执行
&:无论表达式1是false,还是true,表达式2依然执行
||:短路或
!:非
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=0;
boolean flag = num >=0 || num++>1 ;
System.out.println(flag);
System.out.println(num);
flag = num >= 0 | num++ >1;
System.out.println(flag +","+num);//(+" "+)连接符中间字符串
System.out.println(!flag);
}
位移运算符,三目运算符:
”>>“向右移,”<<“向左移。
二进制里面,位移,比如0000 0000 0010,这是二进制里面的2,2>>1就是
0000 0000 0001,2<<5就是0000 0100 0000也就是127,二进制转十进制就是从右往左分别乘以2的n次方,0010就是2的0次方乘以0,2的1次方乘以1,2的2次方乘以0,2的三次方乘以0;
三目运算符: 表达式1 ? 表达式2 : 表达式3;
如果表达式1成立就进行表达式2,否则进行表达式3,可以进行嵌套。
sex >0 ? (sex>2?‘男’:‘女’):‘它’;
public static void main(String[] args) {
// TODO Auto-generated method stub
int sex = 1;
System.out.println(sex<<3);
char message = sex > 0 ? sex>2?'男':'女':'它';
System.out.println(message);
}
(个人学习总结,如有错误,敬请斧正,学习时间,20. 10)