Java基础系列-第三章 流程控制语句

目标:

  1. 程序结构介绍
  2. 选择流程控制语句
  3. 循环流程控制语句

课程内容

1. 程序结构介绍

结构化程序有3种流程结构:

1.顺序结构

2.选择结构(分支结构)

3.循环结构

程序结构是指程序的执行流程。尽管现实世界的问题是复杂的、千变万化的,但与之相对应的计算机算法流程只有上述三种结构。它们可以解决全部的问题,任何一种编程语言都具备上述三种流程结构。

顺序结构

当没有任何有关流程控制的语句时,程序默认的执行顺序,从上而下,一行一行执行。 

选择结构 

程序在自上而下依次执行时,可以通过条件判断,选择性的执行某一段代码。

若条件P为真,则执行A,否则执行B 

循环结构

若条件P为真,则执行循环体代码,执行一次完毕后,再次判断条件P是否为真,若为真则执行循环体代码,重复上面的过程,直到P为假,退出循环

2.选择流程控制

分支语句实现程序选择控制的功能 ,即根据一定的条件有选择地执行或跳过特定的语句

2.1 if分支

2.1.1 if单分支

语法:

if(boolean表达式)  {语句块}

举例:

byte age = 2;

if (age >= 18) {

System.out.println("成年人");

}

2.1.2 ifelse双分支

语法:

if(boolean表达式)  {语句块A} else {语句块B}

举例:

byte age = 2;

if (age >= 18) {

System.out.println("成年人");

} else {

System.out.println("未成年");

}

  2.1.3 ifelse ifelse多分支

语法:

if(表达式1) {语句块1}

else if (表达式2) {语句块2}

else if (表达式3) {语句块3}

…              …

else if (表达式n) {语句块n}

else {语句块n+1}

注意:

  • else if 可以有多个,也可以没有
  • else 可以有,可以没有
  • else if 之间存在逻辑顺序,大小范围不可混乱

举例:

byte age = 10;

if (age > 0 && age <= 3) {

System.out.println("婴幼儿");

} else if (age > 3 && age <= 8) {

System.out.println("孩童时期");

} else if (age > 8 && age <= 15) {

System.out.println("青少年");

} else if (age > 15 && age <= 30) {

System.out.println("青年");

} else if (age > 30 && age <= 50) {

System.out.println("中年");

} else {

System.out.println("中老年");

}

2.2 switch分支

语法:

switch (要进行判断的变量) {

case 具体数值1:

当变量的值和数值1相等时,执行

break;

case 数值2:

当变量的值和数值2相等时,执行

break;

default:

当变量的值和以上所有数值都不相等时,执行

相当于else

break;

举例:

int day = 1;

switch (day) {

case 1:

System.out.println("周一");

break;

case 2:

System.out.println("周二");

break;

case 3:

System.out.println("周三");

break;

case 4:

System.out.println("周四");

break;

case 5:

System.out.println("周五");

break;

default:

System.out.println("周末");

break;

}

注意:

        1. 表达式expr的值必须是以下几种类型之一:charbyteshortintenum

                java7之后可以是String

                不能用boolean,longfloatdouble等其他类型。

        2. 所有case子句中的值不能重复,否则编译出错

        3. default子句是可选的

        4. break语句用于执行完一个case分支后跳出switch语句块;如果没有,造成case贯穿

if和switch的异同:

        if和switch都可用于分支判断

        switch结构只能处理等值条件判断的情况

        if结构适合某个变量处于某个连续区间时的情况

总结:

  • Java中的if选择结构,包括以下形式
    • 基本if结构:可以处理单一条件的情况
    • if-else结构:可以处理双分支分支情况
    • 多重if结构:可以处理多分支情况
    • 嵌套if结构:可以处理复杂的条件-分支情况
  • switch选择结构适用于等值判断的情况
  • 在实际应用中,通常会使用多种形式选择结构综合来解决较复杂的问题

 

3.循环流程控制

循环语句功能:在循环条件满足的情况下,反复执行特定代码

  1. 循环语句的四个组成部分
    • 初始化部分:对循环变量赋初值
    • 循环条件部分:判断循环变量是否超出某个界限
    • 循环体部分:要循环执行的具体代码
    • 迭代部分:修改循环变量的值
  2. 循环语句分类
    • for 循环
    • while 循环
    • do/while 循环

3.1 while循环
语法结构:

while (boolean表达式){

循环体;

迭代变量; // 注意:不能缺少,造成死循环

执行流程:首先判断boolean表达式,若值=true,则执行循环体,改变迭代变量,再判断boolean表达式。依此重复,直到值=false,循环结束

举例及练习:
  1. 在控制台上输出1到10
  2. 计算1—100所有偶数之和(使用while实现)

月薪 8k,每年给涨 20%,多少年能够超过月薪 2w

3.2 dowhile循环
语法结构:

[初始条件]

do{

循环体;

[迭代]

}while( 循环条件判断);

执行流程:首先执行循环体,改变迭代变量,再判断循环条件,若值=true,则继续执行循环体。依此重复,直到值=false,循环结束。

区别:

while 循环:先判断,再执行

do-while循环:先执行,再判断。至少执行一次

举例及练习:

1.计算1—100之和

  1. 之前的练习,可以改造成do…while

3.3 for循环
语法结构:

for ([循环变量初始值]; [循环条件判断]; [迭代循环变量]){

        循环体

for(表达式1; 表达式2; 表达式3) {循环体}

执行流程:首先执行表达式1,接着判断表达式2,若值=true,则执行循环体,执行完成循环体中所有代码后,再执行表达式3,然后判断表达式2。依此重复,直到表达式2的值=false,循环结束

举例及练习:

1.计算1—100的和

2.计算1—100所有偶数

3.计算1—10的积

总结区别:

while 循环:先判断,再执行

do-while循环:先执行,再判断

for循环:先判断,再执行

使用情况:

循环次数确定的情况,常选用for循环

循环次数不确定,或为某一条件时,常选用while或do-while循环

4.课后作业

  1. 计算某年某月有几天
  2. 打印出九九乘法表
  3. 打印右上角为直角的*三角形
  4. 计算1!+2!+3!+…+10!
  5. 个税计算器

总练习:if判断年龄段、if计算个税

for打印0-100偶数和、for打印乘法口诀表、for打印三角形

预习

1、练习,练习,再练习。

2、数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值