1、顺序结构
代码从上往下是逐行执行的
2、分支结构
分支结构的形式:
if分支:
if分支的条件必须是布尔值
只有当条件为true时,才会执行分支代码块
形式:
1.1
if(条件) {
符合条件会执行的代码块
}
1.2
if(条件) {
符合条件会执行的代码块
}else{
不符合条件会执行的代码块
}
1.3
if(条件1) {
if(条件1) {
}else if(条件2) {
符合条件2会执行的代码块
}
……
else {
以上条件都不符合时会执行的代码块
}
如果符合多个条件,只执行先遇到的分支
switch分支:只能用于值是否相等的比较
形式:(一个case就是一个分支)
switch(值) {
case 值1:
当值等于值1时会执行的代码
break;
……
default:
所有的case都不符合会执行的代码
break;
}
注意点:
1.switch的条件只能是byte、short、int、char、String和枚举型
2.switch条件部分的数据类型需要和case后面的数据类型保持一致,有时不一样但不报错,说明可以进行隐式转换(小转大)
3.每个case的值不能重复
4.执行到break才会停止,没有break会一直向下执行,直到分支结束
5.若不匹配,先执行完所有case,最后执行default
6.default可以定义在任意位置,定义在最后可以不加break,定义在中间要加break
7.case后的值只能写常量、字面量
8.break的作用就是用来结束整个switch分支
9.switch语句的击穿效果,case之间不写break,它就会一直执行到遇到的第一个break
switch语句和if的相互嵌套,只要有能写打印输出语句的地方就能写任何代码
3、循环结构
for循环(一般用来处理知道具体循环次数的问题,结构更清晰)
形式:
for(1.初始变量 ; 2.循环条件 ; 3.增量){
4.循环体:需要重复执行的代码
}
执行顺序:1 2 4 3 2 4 3 2......
注意:
循环条件必须是布尔值;
当布尔值为true,才会执行循环体;
当布尔值为false,循环结束;
for循环中,小括号中的三部分都可以省略,两个分号不能省略,循环条件部分省略的话,循环条件就是true
**在哪个{ }内定义的变量,出了{ }不能使用**
while循环(用来处理不确定循环次数的问题,结构更清晰)
形式:
while(1.循环条件) {
2.循环体
}
执行顺序:1 2 1 2 1 2......知道循环条件为false停止
注意:
循环条件必须是布尔值;
do...while循环(先进行其他操作,根据其他操作来确定是否循环)
形式:
do {
循环体
} while(条件);
初始情况不满足循环条件时
while循环一次都不会执行
do-while循环不管任何情况都至少执行一次
循环嵌套:
先写几轮,找出需要重复执行的代码
找出重复执行代码里变化的地方,找出变化的规律
确定需要重复多少次
break 和 continue区别:
break:停止所在的循环结构;
continue:结束本次循环,继续下一次循环;
break可以使用在switch和循环结构中
continue只能用在循环结构中
如果有循环结构嵌套的情况,break和continue只会影响它所在的循环结构,不会影响外部循环结构