java流程控制

java流程控制

程序的执行结构

在Java中,程序的执行结构分为三种
**顺序结构:**代码从上往下,逐行依次执行。是程序执行的默认结构。

分支结构:程序在某一个节点遇到了多种向下执行的可能性,根据条件,选择一个分支继续
执行。

循环结构:某一段代码需要被重复执行多次。

分支结构

分支流程控制 - if

在这里插入图片描述

分支流程控制 - switch

在这里插入图片描述

程序逻辑:
    检测某一个变量的值, 从上往下依次与每一个case进行校验、匹配
    如果变量的值和某一个case后面的值相同,则执行这个case后的语句
    如果变量的值和每一个case都不相同,则执行default后的语句

switch的语法规则

1. 表达式expr的值必须是下述几种类型之一:
    byte、short、int、char、enum(枚举);java7之后可以是String。
    
1. case子句中的值const 必须是常量值(或final的变量),case中的值不能是一个范围
2. 所有case子句中的值应是不同的,否则会编译出错;
3. default子句是可选的(不是必须的)
4. break语句用来在执行完一个case分支后使程序跳出switch语句块;否则会继续执行下去
注意

switch()中的参数不能是Long类型。

穿透性:

指的是, 当switch的变量和某一个case值匹配上之后, 将会跳过后续的case或者default的
匹配,直接向后穿透。

循环结构

循环结构的概念

		循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构和先执行后判断的循环结构.循环结构可以看成是一条件判断语句和一个向回转向语句的组合。

循环结构三要素

循环结构的三个要素:循环变量、循环体和循环终止条件

for循环

for循环的基本语法

for语句由关键字 for 小括号 大括号 以及相关语句组成
基本格式如下
for(表达式1;表达式2;表达式3){
循环体
}
表达式1:循环变量初始化语句 比如 int i = 0;
表达式2:循环终止的判断条件语句,要求为布尔表达式,也就是结果为真或假值 比如 i <10;
表达式3:循环改变的控制条件语句 比如 i++
循环体:循环要执行的语句
三个表达式之间用分号分隔

for循环的执行过程

流程说明:
第一步:执行表达式1(也就是执行循环变量初始化语句)
第二步:执行表达式2(也就是执行循环终止的判断条件语句,看其结果是true还是false
如果是 false,循环结束。
如果是 true,继续执行第三步。
第三步:执行循环体语句(也就是执行 大括号中的实际代码)
第四步:执行表达式3(也就是执行循环改变的控制条件语句,使循环变量的值发生改变)
第五步:回到第二步再次执行第二到第五步(直到第二步的表达式结果为false,循环结束)
在这里插入图片描述

while循环

while循环的基本语法

while语句由关键字 while 小括号 大括号 以及相关语句组成
基本格式如下:
while(条件表达式){
循环体
}
条件表达式:循环终止的判断条件语句(相当于for循环的 表达式2),要求为布尔表达式,
也就是结果为真或假值 比如 i < 10;
循环体:n行循环要执行的语句
循环变量:和for循环相比,while循环缺少循环变量声明,初始值以及控制循环变量改变的语句,所以需要在循环外声明循环变量并设置初值,在循环体中,增加控制循环变量改变的语句,比如:
//声明循环变量并赋值
int i=0;
while(i<10){
    //代表实际要执行的循环体代码
    System.out.println("当前的i值为:" + i);
    //控制循环变量改变的语句
    i++;
}

while循环的执行过程

流程说明:
第一步:执行条件表达式(也就是执行循环终止的判断条件语句,看其结果是true还是false,如果是 false,循环结束,如果是true 继续执行)
第二步:执行循环体语句(也就是执行 大括号中的实际代码)
第三步:回到第一步再次执行 第一到第三步,直到某次第一步表达式结果为false
在这里插入图片描述

while循环的注意事项

1.while循环本身没有循环变量声明和初始化的组成部份,所以如果有这个需要,应在while循环前声明循环变量并赋值
2.while循环本身也没有控制循环终止的判断条件语句部分,所以需要在循环体中增加相应的控制语句,否则容易死循环
3.如果不确定循环次数的情况下,我们优先选择while循环

do-while循环

do-while循环的基本语法

do-while语句由 do关键字 大括号 while关键字 小括号号和相关语句组成
基本格式如下:
do{
	循环体
}while(条件表达式);

do-while循环的执行过程

流程说明:
第一步:执行循环体语句(也就是执行 大括号中的实际代码)
第二步:执行条件表达式(也就是执行循环终止的判断条件语句,看其结果是true还是false,如果是 false,循环结束,如果是true 继续执行)
第三步:回到第一步再次执行 第一到第三步,直到某次第一步表达式结果为false
在这里插入图片描述

do-while循环的特点和注意事项

1.do-while循环为先执行后判断,也就是先执行一次循环体中的代码,然后再检查条件表达式,所以do-while循环至少会执行一次
2.其它特点和while循环一样

几种循环的比较

1. 对于同一问题, 三种循环可相互替代。
2. 循环次数确定的情况优先选用for循环,循环次数不确定的情况,通常选用while和do-while循环。
3. 要防止无限循环––死循环

break和continue的使用

break语句

1.作用:break语句用于终止某个语句块的执行
2.用法:如果是循环中,作用为跳出所在的循环,如果是在switch语句中,则为跳出所在的switch语句
3.其它说明:使用Lable标签实现跳出指定的循环

continue语句

1.作用:跳过本次循环,执行下一次循环(如果有多重循环,默认继续执行离自己最近的循环)提前终止本次循环
2.使用:只能在循环结构中使用
3.其它说明:使用Label标签改变继续执行的循环

多重循环

多重循环的基本概念

概念:多重循环就是指 在循环内嵌套其它循环,和选择语句嵌套类似,嵌套几层就是几重循环,最常见的为双重和三重
2.说明:外层循环执行一次,它的内层循环执行一轮(也就是内循环正常循环一遍结束

多重循环的执行流程

第一步:从外层循环开始执行 先执行一次进入循环体(里面包括内层循环)
第二步:遇到内层循环,开始正常执行,直到内循环循环结束
第三步:继续外循环的下一次循环(回到第一步)

特殊案例

单层循环打印九九乘法表

//用来记录当前行号
        int row = 1;
        //用来记录当前列号(也就是当前行的第几个结果)
        int col = 1;
        for (int i = 0; i < 45; i++) {
        //输出row行的第col个结果,不换行
            System.out.print(col + "*" + row + "=" + (col * row));
            //同一行中多个结果之间的分隔符
            System.out.print("\t");
            //如果行号和列号相等,说明第row行已打印完成
            if (row == col) {
                //打印换行符
                System.out.println();
                //列号重置
                col = 1;
                //行号加1
                row++;
            } else {
            //列号加1
                col++;
            }
        }

跳出外层循环

//要求:当j=5,i=4时结束两层循环
//我们可以给循环添加标记(是一个别名)
tp : for (int i = 0; i < 10; i++) {
    fp : for (int j = 0; j < 10; j++) {
        if (i == 4 && j==5){
            break tp;
        }
        System.out.println("j:"+j);
    }
    System.out.println("i:"+i);
}

核心面试题

  1. 什么时候用for循环,什么时候用while循环

    循环次数确定使用for循环,循环次数不确定用while循环。

  2. while循环和do-while循环的区别

    while循环先判断在进行循环,do-while循环先执行一次循环体在进行判断。

  3. break、continue、return的区别
    break:应用在switch和循环中,作用跳出(终止)语句块
    continue:应用在循环中,作用结束本次循环,继续下一次循环。
    试题

  4. 什么时候用for循环,什么时候用while循环

    循环次数确定使用for循环,循环次数不确定用while循环。

  5. while循环和do-while循环的区别

    while循环先判断在进行循环,do-while循环先执行一次循环体在进行判断。

  6. break、continue、return的区别
    break:应用在switch和循环中,作用跳出(终止)语句块
    continue:应用在循环中,作用结束本次循环,继续下一次循环。
    return :用在方法中作用返回结果,结束方法。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值