Javase_day03 (运算符、循环语句、流程控制)
运算符
赋值运算符
赋值运算符有:=、+=、*=、/=、%=
注意:隐式转换
比较运算符
位运算符
位运算符的运算原理:二进制的补码
常见的位运算符
&:有0则0
|:有1则1
^:相同为0,不同为1
~:各个位取反,1变为0,0变为1
>>:左边使用符号位补齐,右移一位,除以2
<<:右边使用0补齐,左移一位,乘以2
>>>:无符号右移,左侧使用0补齐
逻辑运算符
两侧的表达式都是布尔表达式
&:同为true,结果位true,否则为false
|:两边只要有一边为true,结果就是true
&&:1. 运算同& 2. 短路,左侧为false,右侧就不运算,直接返回false
||:1. 同| 2. 短路,左侧为true,右侧不运算,直接返回true
^:相同为false,不同为true
!:颠倒黑白
三目运算符
1. 表达式1?表达式2:表达式3,1为true则执行2,否则执行3
分支语句
If
单分支:if(条件){语句;}
双分支:
if(条件){
语句;
}else{
语句;
}
多分支
- 从上到下依次判断
- 最多进入一个分支
- 有else,则肯定会选择一个分支。
没有else,可能一个分支都不会执行。
Switch
语法:
key的类型:byte short char int String enum
switch(key){
case value1:
语句1;
break;
case value2:
语句2;
break;
case .....
default:
语句;
break;
}注意事项
- key的数据类型
- case的穿透性--break阻止穿透
- default的位置:任意位置,作用等同于if中的else
循环语句
While:
while(循环条件){
循环体语句;
更改循环标识的值;
}
do…while
- 作用和while类似
- 和while的区别:
- do...while先执行后判断
- while先判断后执行
- do...while至少执行一次循环体
- while可能循环体一次都不执行
for
语法:
for(语句1;表达式2;语句4){
循环体语句3;
}
嵌套循环
- 外层循环执行一次,内存循环执行完毕
- 项目中最多嵌套两层,超过两层考虑代码优化
- 核心:什么数据是外层循环,什么数据是内层循环处理的
流程控制
- Break
- 结束本层循环
- break 循环标识;
- continue
- 结束本层循环的本次循环,继续本层循环的下一次循环
- continue 循环标识;