java学习日志-06
控制结构
顺序控制
其实就是从上到下的顺序执行,没啥好讲的。
分支控制
分支语句有那么几类:单分支 / 双分支 / 多分支
分支控制的语句也有那么几类:if-else / switch
当然,if-else是可以叠加的。
单分支结构
形如如下的结构:
if(条件表达式) {  | 
说明:
1.条件为true执行代码块,false不执行。
2.单条执行代码时可以不用写{}(格式问题,最好写上吧)

双分支结构
与单分支相比,多了一个 else
形如:
if (条件语句){  | 
说明:和单分支结构略有不同
1.条件表达式为 true: 执行代码块1
2.条件表达式为 false: 执行代码块2

多分支/嵌套分支(建议不要超过3层)
多分支,结构和双分支差不多,也就叠加了几个if-else而已
形如:
if (条件语句1){  | 
说明:
1.分别进行条件判断,哪个成立执行哪个
2.有执行则表示有执行入口,没执行表示没执行入口
3.如果全不成立执行且末尾有 else,执行else
上面都是关于if语句的分支语句,下面来看个和if有些相似的判断:switch语句

switch判断语句
结构如下:
switch(表达式) {  | 
说明
1. 常量是确定的,不是范围
2.case成立后,语句块。
3.如果没有break分层,会导致从当下的语句块开始执行到有break的语句块去。(穿透)
4.break:退出当前case+switch
5.前面的case无法匹配时使用default语句
6.default语句可用可不用
7.表达式的返回值必须是
8.表达式的返回值必须是:byte,short,int,char,enum【枚举】,String

switch穿透思想
基于switch没有break就会不断向下执行,直到遇到break时退出的这点,switch分支还真的能判断一定的具体值。
下面举个例子看看就知道了:
import java.util.Scanner;  | 

if和switch的比较
1. 数值不多,符合byte,short,int,char,enum【枚举】,String的类型,推荐 switch。
2. 其他情况:区间判断、类型判断等 => 推荐if
循环控制★★★
循环控制有很多,有:for / while / while / do…while / 多重循环
for循环
格式如下:
for(循环变量初始化;循环条件;循环变量迭代){  | 
说明:
1.执行顺序:先执行变量初始化,后以“循环条件=>循环操作语句=>循环变量迭代=>循环条件……”进行多次循环,直到不满足 “循环条件” 或者遇到跳转控制时退出循环。
2.循环条件:返回布尔值 (true/false)
3.初始化语句:可以多句,类型相同,逗号分隔
4.死循环:for(;;){语句块} => “;” 不能省略

while循环与do…while
格式如下:
// 1.while  | 
注意:
while:
1.循环条件返回布尔值
2.先判断再执行
do…while:
先执行,在判断,少一次


跳转控制
break/continue/return
这部分简单描述下:
    break:退出当前循环
    continue:跳过当前循环
    return:结束当前方法
提一嘴:指定label退出循环
在多层循环嵌套的情况下,给每一层指定label,并且在break/continue时将其用上,就能退出指定的循环。结构看下面:
label1:  | 
注意:
1.默认退出最近的循环
2.实际开发千万不要用label(标签会降低可读性,不到迫不得已千万不要用)












