比较运算符 & 逻辑运算符
> >= == < <= != instanceof
& && | || ^ ! //逻辑运算符用于连接两个boolean类型的表达式
x>2 & x<5
true & true = true
false | false = false
^ 异或(不同的或运算)相同就是假,不同则为真。
!非运算
位运算符
<< >> >>>(无符号右移) & | ^ ~(反码)
6 & 3 = 2 //
6 | 3 = 7 //
6 ^ 3 ^ 3 = 6
移位运算
3 << 2 = 3 * 2 * 2 =12 //左移相当于乘以2的几次幂
6 >> 1 = 6 / 2 = 3 //最高位是什么就拿什么来补位
>>> //右移时最高位都用0补
快速计算2*8 2<<3
两个整数值互换
1、临时变量
2、a=a+b;b=a-b;a=a-b;//如果和超过INT范围,会强制转换
a=a^b;b=a^b;a=a^b;
三元运算符
(条件表达式)?表达式1(true):表达式2(false)
if
1、一条分支
2、两条分支 //等同于三元运算符,如果ifelse没有结果就不能简化成三元运算符
3、多条分支
就近原则
if嵌套
局部代码块
变量 初始化 作用域
switch语句
switch(表达式){ //表达式 int short byte char
case 取值1:
语句1;
break;
...
default;
语句;
break;
}//case 无序 default 最后执行;最后一个case的break可以省略;其他break省略的情况;
if 和 switch 区别
if 1、具体值判断;2、区间判断;3、表达式的运算结果是boolean
switch 1、具体值判断;2、值的个数固定,将全部答案加进内存,效率较高;
while、do while、for
while(条件表达式){
执行语句;
}
do{
执行语句;
}while(条件表达式);
累加
计数器
for语句
for(初始化表达式 1;循环条件表达式 2;循环后的操作表达式 4){
执行语句;(循环体)3
}
for 与 while 区别
1、可以互换
2、循环的变量,作用域不同
无限循环形式
while(true){ }
for(;;){ }