day03

day3总结(流程控制语句)

3.1流程控制

不论哪种语语言,都会提供两种基本的流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码。

3.1.1顺序结构

是最常见一个种顺序结构。顺序结构就是程序从上到下逐行地执行。中间没有任何跳转和判断。

例如:主方法(main)中多行代码没有任何的流程控制语句。则程序总是从上向下依次执行,排在前面的代码先执行,排在后面的代码后执行。

public class void main(Sting[] arrgs){
    System.out.println(1);
    System.out.println(2);
    System.out.println(3);
}
3.2 分支结构:if语句(判断语句)
3.2.1 if的第一种格式:

语法格式:

if(关系表达式){
 	语句体;   
}
  • 执行流程:

    • 对关系表达式进行判断,判断关系表达式为true或者为fasle
    • 如果关系表达式为true的话执行语句体。
    • 如果关系表达式为false的话结束。
    3.2.2if的第二种格式:

    语法格式:

    if(关系表达式){
      语句体1}else{
      语句体2}
    
  • 执行流程:

    • 先对关系表达式进行判断,判断关系表达式的结果为true还是false。
    • 如果关系表达式的结果为true,执行语句体1。
    • 如果关系表达式的结果为false,执行语句体2.
3.2.3if的第三条种格式:

语句格式:

if(关系表达式1){
	语句体1;
}else if(关系表达式2){
	语句体2;
	}
	...
	else if(关系表达式n){
	语句体n;
	}else{
	语句体n+1;
	}
  • 执行流程:

    • 对关系表达式1进行判断

    • 如果关系表达式1为true的话执行语句体1。

      • 如果关系表达式1为false,对关系表达式2进行判断。
    • 如果关系表达式2位true的话,执行语句体2。

    • 如果关系表达式false的话。执行语句体3。

    • 如果全部的关系表达式都为false的话,执行语句体n+1.

3.2.4 if语句和三元运算符的互换

​ 在某些简单的应用中,if语句是可以和三元运算符进行互相转换使用的。

3.3 分支结构: switch语句(选择语句)

语法格式:

switch(表达式){
    case 1:
       语句体1;
    break;
    case 2:
       语句体2;
    break;
        ...
    case n:
       语句体n;
     break;
    default:
       语句体n+1;
     break;  
}

执行流程:

  • 首先求出表达式的值。
    • 在用表达式的值和下面每个case进行匹配。如果匹配成功,则执行相对应的语句体。但是在执行的过程中,遇到break就会结束掉整个循环语句。
    • 如果没有找到与之对应的case值,则会执行default对应的语句体。然后整个程序结束。

注意事项:(重点)

  • switch语句中,表达式有规定的取值范围四种基本数据类型(byte,short,int,char)两种引用数据类型(JDK版本5.0包括5.0支持枚举类型),(JDK7.0包括7.0支持字符串类型)

case的穿透性

在switch语句中,如果case的后边不写break,将会出现穿透现象,也就是一旦匹配成功,不会再判断下一个case的值,直接继续向后执行,直到遇到遇到break或者整个switch语句执行完成,switch语句执行终止。

3.4 循环语句:for语句(循环语句)

执行语句:

for(初始化语句,循环条件语句1,迭代语句){
	循环体语句2
}

执行流程:

  • 先执行初始化语句,

  • 判断循环条件语句1,如果循环条件语句1的结果为true ,执行循环体语句2,

    • 执行迭代语句
    • 继续判断循环条件语句1。执行第二步。
  • 如果循环体语句1的结果为false。结束循环。

3.5 循环语句:while语句(循环语句)

执行语句:

while(循环条件语句){
    循环体语句
}

执行流程:

  • 先判断循环条件语句
    • 如果循环条件语句为true,执行循环体语句
    • 如果循环体条件语句为false,结束循环。
  • 循环体语句执行完毕后,重新回到第一步开始执行。

while循环语句扩展格式:

初始化语句
while(循环条件语句){
循环体语句1
迭代语句
}

执行流程:

  • 执行初始化语句,完成循环变量的初始化。
  • 执行循环条件语句,判断循环条件语句的结果
    • 如果为true,执行循环体语句1。执行迭代语句
    • 如果为false,结束循环语句,循环不在执行。
  • 继续对循环条件语句进行判断。
3.6循环语句:do…while语句(循环语句)

执行语句:

do{
    循环体语句
}while(循环条件语句)

执行流程:

  • 先执行循环体语句

  • 对循环条件语句进行判断,

    • 如果结果为true,执行循环体语句。

    • 如果结果为false,循环结束,循环不在执行。

  • 继续对循环条件语句进行判断。

do…while循环的扩展格式

初始化语句
do{
	循环体语句;
	迭代语句;
}while(循环条件语句)

执行流程:

  • 先执行初始化语句
  • 执行循环体语句。执行迭代语句
  • 判断循环条件语句
    • 如果结果为true执行循环体语句,执行迭代语句。
    • 如果结果为false循环结束,循环不在执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值