顺序结构语句;
从main开始的内容开始,自上而下执行代码
判断结构语句
三种表现形式
if(){
}
if(){
} else{}
if(){}else if(){}eles{}
选择结构语句
char ch='+';
switch(ch){
case '+':
...
...
break;
case '-':
...
...
break
}
循环结构语句
for(初始化表达式;条件表达式;循环后操作表达式){
循环体;
}
执行流程:
1:初始化表达式只执行一次
2:判断条件表达式的值是否为true
如果为true
执行循环体,再执行循环后操作表达式
如果为false
结束循环
3.继续执行第2步骤,判断条件表达式的值即可。
初始化表达式;
for(;条件表达式;){
循环体;
循环后操作表达式
}
初始化表达式;
while(条件表达式){
循环体;
循环后操作表达式;
}
while(true){ //无限循环、死循环
}
do{
循环体;
循环后操作表达式;
}while(条件表达式);
三种循环的区别:
控制跳转语句:
break:应用场景switch和循环
跳出当前所在循环
continue:应用场景 循环
结束本次循环,继续下次循环;
循环的嵌套
wai:for(int i=0; i<0; i++){
nei: for(int j=0; j<5; j++){
if(j==3){
break wai;
}
System.out.print("*");
}
System.out.println();
}
if语句有三种格式
A.if语句格式1:
if(关系表达式){
语句体;
}
执行流程:
A.首先计算关系表达式的值,看是true还是false
B.如果是true,就执行语句体
C.如果是false,就不执行语句体
B.if语句格式2:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
1.首先计算关系表达式的值,看是true还是false
2.如果是true,就执行语句体1
3.如果是false,就执行语句体2
C.if语句格式3:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else{
//else可以省略不写,但是建议书写,因为实际开发中,我们认为所考虑的条件,并不全面
语句体n+1;
}
执行流程:
1.计算关系表达式1的值,看是true还是false
2.如果是true,就执行语句体1.补充的是:并且,结束该if语句体内容,即下边不会再进行判断了
3.如果是false,就继续计算关系表达式2,看是true还是false
4.如果是true,就执行语句体2
5.如果是false,就继续计算关系表达式3
6.当所有关系表达式都是false的时候就执行语句体n+1
if(){}else{}
if(){}else if(){}eles{}
****这两个if语句表现形式一般称为单条语句*****
switch 语句格式:
switch(){
case 值1:
语句体1(可以是多句话);
break;
case 值2:
语句体2;
break;
...
defult:
语句体n+1;
break;
}
格式解释:
1. 表达式:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串String
2. 执行流程:
A.首先计算表达式的值;
B.拿着这个计算出来的值,依次和case后面的值进行比较,
一旦有匹配的,就执行
当选择结构switch开始匹配时,是从第一个case开始匹配的
3. case后面跟的都是常量,常量的值取决于switch括号中表达式的类型,来进行填写相应类型的值
4. break可以省略
5. default 表示其余情况,即case选项中没有匹配项,才会执行;可以省略,一旦省略,有可能发生case穿透。一旦发生穿透,就不会判断case后面
常量的值了,直接输出case所控制的内容,直到遇到break或者switch的右大括号结束。
6. switch 语句结束条件有两种情况
(1)遇到break
(2)switch语句的右大括号结束
7. default一定要放在switch语句中的末尾吗?
不一定,想放在哪里就放在哪。
如果default放在了switch中的一部分,那么程序的执行流程还是从第一个case开始进行匹配,如果
没有匹配项,那么会执行default中的内容,如果没有break,就会发生穿透
for循环语句的格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程:
A.执行初始化语句(只会执行一次);
B.执行判断条件语句,看其结果是true还是false
如果是false,就结束循环
如果是true,就继续执行
C.如果条件为true,执行循环体语句
D.执行控制条件语句
E.回到B继续执行
while和do...while的初始化语句都在外面
初始化语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
break用在循环,switch中,单独使用没有意义
加标记可以指定跳出循环(用在循环嵌套里面)
continue 使用场景:循环中,离开使用场景是没有意义的;作用:结束一次循环,继续下次循环
|
|