java程序逻辑控制
共存在三种逻辑结构:顺序结构、分支结构、循环结构。
IF分支结构:
对关系表达式进行判断处理的分支操作,有三种使用方式,关键字:if、else。
最后的那个不加if了的else不是必须的,但是最好加上。
【经过餐馆,是否进入;
【进入餐馆,选择A套餐或B套餐,但都是要进行吃这个动作;
主要特点:可以进行多个条件的判断。
switch分支语句:
是一种开关语句,主要根据内容来判断。判断的类型主要是int、char、枚举、String。而不能够使用逻辑判断
switch (数据){
case 数值 :
数值满足时执行;
[break ;]
case 数值 :{
数值满足时执行;
[break ;]
}[default:
所有判断数值不满足时的执行;
[break ;]
]
}
while循环:
while或者do…while。一般使用while
在执行里面一定要修改循环条件,不然会死循环。
for循环
for(定义循环的初始化数值 ; 循环判断 ; 修改循环数据){
循环语句的执行 ;
}
相当于:
定义循环的初始化数值
for( ; 循环判断 ; ){
循环语句的执行 ;
修改循环数据
}
对于while和for循环的选择只有一个参考标准
- 明确循环次数的情况下优先选择for循环;
- 不知道循环次数但知道循环结束条件的情况下使用while循环;
循环控制
两个控制语句:break、continue
- break:跳出整个循环
- continue:跳出当前一次循环
continue和point结合,可以替换goto的使用,但还是别用,用了之后代码太混乱了。
point : for (int x = 0 ;x < 10 ; x ++){
for (int y = 0 ; y < 3 ; y ++){
if (x == y){
continue point ;//循环结束
}
System.out.print(x + "、");
}
//第一个0没有被输出,即当y跟得上x的时候,不被输出
// 内层循环全部完成才会进行y++,
// 里面的东西以及循环是x++之后趁y还没有跟上进行的内容;
//y没有跟上的时候,x就一遍一遍的输出
// 当y跟上之后,直接进行外层循环把x值再加上。x的值加一,输出一次换行
//跳出循环后,y又重置
//当x的值>y的最大值的时候,x每个值都输出【y的最大值】次。
System.out.println();
}
肉眼可见的复杂。。。也可能是我还太菜,不能很快的反应过来。
循环嵌套
循环语句中嵌套其他循环语句。嵌套层次越多,时间复杂度越高;所以一般慎用。