流程控制、循环结构

流程控制

顺序结构
程序是从上往下进行加载,按照代码的编写顺序进行执行
选择结构(分支结构)
if else语句
1.if 单支情况
if语句的格式:
if(布尔类型表达式/布尔类型值){
//语句体…
}
if语句(单支)的执行流程:
1.首先判断布尔类型表达式看结果是true还是false
2.如果是true就执行{}里的方法体内容
3.如果是false就不会执行{},程序往后加载
2.if else多支情况
格式:
if(布尔类型表达式){
// 语句体内容1;
}else{
//语句体内容2;
}
if else多支语句的执行流程:
1.首先判断布尔类型表达式结果true还是false
2.true则执行语句体内容1
3.false就进行语句体内容2
3.if …else if…else
格式:
if(布尔类型表达式1){
//方法体内容1
}else if(布尔类型表达式2){
//方法体内容2
}

else if(布尔类型表达式n){
//方法体内容n
}else{
//方法体内容n+1
}
执行流程:
1.首先判断布尔类型表达式1,看结果true还是false,
2.如果是true就执行方法体内容1,
3.如果是false,就继续判断布尔类型表达式2,看结果是true还是false,
4.如果是true就执行方法体内容方法体内容2,如果是false就继续判断布尔类型表达式…
5…
6.如果以上所有布尔类型表达式都为false,最后执行方法体内容n+1
4.if…if…else…else语句,嵌套情形
​ 格式:
​ if(布尔类型表达式1){
​ //方法体内容1
​ 。。。。。。
​ if(布尔类型表达式2){
​ //方法体内容2
​ 。。。。。。
​ }else{
​ //方法体内容3
​ }
​ }else{
​ //方法体内容4
​ }
执行流程:
1.首先判断布尔类型表达式1,看其结果是true还是false 如果是true,就执行方法体1,
2.再继续判断布尔类型表达式2,看起结果是true还是false,如果是true就执行方法体2。
3.如果是false,就执行方法体内容3 ,如果是false,就执行方法体内容4,之后加载后面的程序。

循环结构

三种基本循环:for、 while 、do-while
循环结构组成部分:一般可以分为四部分
1.初始化语句: 在循环最初开始时,需要定义一个初始化的变量,而且只会定义一次。

  1. 条件判断(结束条件):如果条件成立满足,进入循环,如果条件不满足,则退出循环

  2. 循环体内容:重复要做的事情内容,可能包含很多条语句(事情是有规律的)

  3. 迭代语句(步进语句):每次循环结束之后需要执行步进语句(迭代语句),对初始化的变量做步进(迭代)。

for循环语句结构

​ 格式:

		for(1.初始化语句;2.条件判断表达式;4.迭代语句){
			//3.循环体内容
		}

​ 执行流程:

​ 执行顺序:1—>2—>3—>4—>2—>3—>4—>2—>3—>……2不满足为止。

​ 1.赋值循环变量的初始化

​ 2.负责判断是否满足循环条件,不满足退出循环

​ 3.负责执行具体的语句(逻辑功能)

​ 4.负责变量的迭代

初始化语句一定和条件判断表达式紧密结合
迭代语句和条件判断表达式也是紧密结合
迭代语句是对初始化语句中定义的变量迭代的。

while循环语句

格式:

		//1.初始化语句;
		while(2.判断条件){
            //3.循环体内容
            //4.步进语句;
        }

执行流程:

  • ​ 执行顺序:1—->2——>3——>4——>2——>3——>4——>……2不满足为止

  • ​ 1.负责循环变量初始化

  • ​ 2.负责判断是否满足循环条件,不满足则跳出循环

  • ​ 3.负责执行具体语句,实现某个功能。

  • ​ 4.迭代循环变量

do-while循环

​ 格式:

		//1.初始化语句
		do{
			//3.循环体内容
			//4.迭代语句 
		}while(2.判断条件);

执行流程:

  • ​ 执行顺序:1—>3—->4—->2——>3——>4——>……2不满足为止

  • ​ 1.负责定义循环变量并且进行初始号

  • ​ 2.负责判断是否满足循环条件,不满足则跳出循环

  • ​ 3.负责执行具体语句,实现某个功能

  • ​ 4.迭代循环变量

    备注:无条件执行一次循环体内容,即使判断条件是不满足也依然循环一次,这样的循环是有风险的,对初学者来说不建议使用。

    循环语句的区别

    ​ for 和 while的区别

  • ​ 控制语句中所涉及到的循环变量,当for循环结束后,定义的循环变量不能再被访问到,而while循环结束后依然可以被访问到。如果不继续使用循环变量,建议使用for循环,因为for循环结束后,循环变量就会从内存中消失,能够提高内存的使用效率。

  • ​ 在已知循环次数的条件下,建议使用for循环,当循环次数不确定时使用while循环。

##跳出语句

​ break、continue两个语句

break

​ 使用的情形:终止switch或者循环语句

备注:离开了使用场景对于break来说没有意义。

	public static void main(String[] args){
        //使用break语句
        //跳出循环语句
        //10以内的偶数和
        int sum = 0;
        for(int i = 0; i <= 1000; i ++){
            //跳出情形 i > 10
            if(i>10){
                break;
            }
            if( i % 2 == 0){
                sum += i;
            }
        }
        //跳出switch case 语句
        //季节 四个季节
        String season = "春季";
        switch(season){
          case "春季":
                System.out.println("万物复苏");  
          		break;
           case "夏季":
              System.out.println("烈日炎炎的时候");
              break;
            case "秋季":
              System.out.println("丰收的时候");
              break;
            case "冬季":
               System.out.println("寒冷下雪时候");
                break;
            default:
                System.out.println("跳出三界外,不在五行中");
                break;
        }
        
    }
### continue

​ 使用情形:结束本次循环,继续下一次循环

public static void main(String[] args){
 	//continue	
    //求一下100以内的偶数和	
    int sum = 0;
	for(int i =1;i <= 100 ; i++){//i = 1 2 3 4 5 6 7......
            //使用场景	奇数跳过去,不参与累加和
            if(i % 2 != 0){
                continue;
            }
            sum += i;
            
        }    
}

扩展知识点

  1. 死循环

    ​ 概念:循环中条件永远都是true,死循环是永不结束的循环。例如:while(true){}.

    死循环一般要和跳出语句结合。

​ 2.循环嵌套

​ 概念:是指一个循环的循环体是另一个循环。比如说for循环中内置了一个for循环,就是循环嵌套

​ 循环的次数 = 外部循环的次数 * 内部循环的次数

//格式:
		for(1.初始化语句;2.判断语句;4.迭代语句){
			//3.循环体内容
            ......
			for(5.初始化语句2;6.判断语句2;8.迭代语句2){
                //7.循环体内容2
            }
		
		}

	

执行流程

  • 执行流程: 1—>2—->3—->5—>6—->7—>8—>7—>8—>…6不满足为止(跳出循环)—->4—–>2—>3—->5—->6—->7—->8—->6—->7—->8—>…6不满足为止(跳出循环)—->2不满足为止(结束整个循环),加载外层for循环后面的语句。

  • 外循环一次,内循环多次

    public static void main(String[] args){
    	//使用场景
    	//打印3*8长方形	长为3,宽为8
        //使用循环嵌套技术来实现
        //外循环3次,内循环8次
        for(int i = 0 ; i< 3 ; i++){
            for(int j = 0 j ;j < 8 ; j++){
                //输出8 println()--->先打印内容再换行
                System.out.print("*");
            }
            System.out.println();
        }
        
        
    } 
    
    
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值