流程控制-顺序结构、分支结构、循环结构(个人复习)

tech2022-10-05  110

文章目录

流程控制一、流程控制概念1.什么是流程控制2.分类(1)顺序结构(2)分支结构(3)循环结构 二、分支结构1.if语句2.switch 三、循环结构1.概述2.分类3.for循环4.多重循环5.while循环6.do...while循环 四、String类型入门1.概念2.定义3.方法 五、随机数1概述2.使用方式 六、方法入门1.概述2.方法的定义3.方法的调用4.注意事项 七、方法的重载1.概念2.特点3.好处

流程控制

一、流程控制概念

1.什么是流程控制

使用不同的关键字/语法来控制代码的执行顺序/流程

2.分类

(1)顺序结构

代码从上向下依次执行

(2)分支结构

到达某个状态时,可能会有多种情况,每种情况都需要提前准备好,所以多条路的路口就是一个分支。代码写得多,程序运行的少。

(3)循环结构

某段代码相同或者相似,使用相同的逻辑。使用一定的格式,来完成相同代码的反复执行

二、分支结构

1.if语句

格式一(if)

if(关系表达式){ 语句体;

格式二(if…else)

if(关系表达式) { 语句体1; }else { 语句体2; }

格式三(if…else if …else)

if (判断条件1) { 执行语句1; } else if (判断条件2) { 执行语句2; } ... }else if (判断条件n) { 执行语句n; } else { 执行语句n+1; }

2.switch

(1)switch结构 格式

switch (表达式){ case 目标值1: 执行语句1 break; case 目标值2: 执行语句2 break; ...... case 目标值n: 执行语句n break; default: 执行语句n+1 break; }

(2)case穿透 在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。

public static void main(String[] args) { int week = 2; switch (week) { case 1: case 2: case 3: case 4: case 5: // 当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同 System.out.println("今天是工作日"); break; case 6: case 7: // 当 week 满足值 6、7 中任意一个时,处理方式相同 System.out.println("今天是休息日"); break; } }

(3)if 和 switch 的区别 相同点:if 语句和 switch 语句都可以表达分支结构

不同点: 1、if 语句格式相对灵活,更加强大,switch 语句相对弱小。所有的switch语句都可以被if语句替代。 2、if 语句更多的是做一些连续性的判断,而 switch 语句更多的是做一些离散性的匹配 3、if 语句每次都需要获取表达式的值,而 switch 只获取一次表达式的值,所以相对来说,switch 的效率高一些。

三、循环结构

1.概述

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在一定的时候让循环判断条件值为false,从而结束循环,否则循环将一直执行下去,形成死循环。

2.分类

Java中三种循环结构: 1 for循环 2 while循环 3 do while循环

3.for循环

格式

for(初始化表达式①; 布尔表达式②; 步进表达式④){ 循环体③ }

执行流程 执行顺序:①②③④>②③④>②③④…②不满足为止。 ①负责完成循环变量初始化 ②负责判断是否满足循环条件,不满足则跳出循环 ③具体执行的语句 ④循环后,循环条件所涉及变量的变化情况

4.多重循环

格式

for (初始化语句1; 条件表达式1; 初始化变量1的自增) { for ( 初始化语句2 ; 条件表达式2 ; 初始化变量2的自增 ) { 循环体语句; } }

执行流程: 1、初始化语句1 2、判断条件表达式1,计算如果为false,外层循环结束 3、判断条件表达式1,计算如果为true,初始化语句2 4、计算条件表达式2,计算结果为false,内循环结束,执行初始化变量1的自增,回到第2步 5、计算条件表达式2,计算结果为true,执行循环体语句, 6、执行初始化变量2的自增,回到第4步

5.while循环

格式

初始化表达式① while(布尔表达式②){ 循环体③ 步进表达式④ }

执行流程: 执行顺序:①②③④>②③④>②③④…②不满足为止。 ①负责完成循环变量初始化。 ②负责判断是否满足循环条件,不满足则跳出循环。 ③具体执行的语句。 ④循环后,循环变量的变化情况。

for 和while的区别 1.while与for可以互换,区别在于for为了循环而定义的变量在for循环结束时就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。

2.确定循环次数推荐使用for循环 不定循环次数推荐while

6.do…while循环

格式

初始化表达式① do{ 循环体③ 步进表达式④ }while(布尔表达式②);

执行流程 执行顺序:①③④>②③④>②③④…②不满足为止。 ①负责完成循环变量初始化。 ②负责判断是否满足循环条件,不满足则跳出循环。 ③具体执行的语句 ④循环后,循环变量的变化情况

while循环与do…while循环的区别 while:先判断条件,只有条件满足才执行循环体。 do while: 先执行循环体,再判断条件,条件满足,再继续执行循环体。 简单一句话:do while:无论条件是否满足,循环体至少执行一次。

四、String类型入门

1.概念

字符串:由字符组成的串,string是引用数据类型。

2.定义

定义: String a = "aa";

3.方法

//String的创建 String str = new String(); //基本数据类型创建的方式 String str1 = "";//空串 String str2 = "abc"; //字符串的长度 System.out.println(str2.length()); //length lenth() size() //获取指定索引处的char值 //索引:指的是字符串的下标 字符串的下标从0开始对应着字符串中的每一个字符位置 String str3 = "abcdefg"; char c = str3.charAt(4); System.out.println(c); //索引和长度的关系:索引=字符串的长度-1 str.length()-1 System.out.println(str3.charAt(str3.length()));

五、随机数

1概述

Java中提供了Math类中的random()方法,用来生成一个0到1之间的随机数 [0,1) 另外Java通过了一个Random类专门用来生成随机数

2.使用方式

Math 类 : double x = Math.random(); 产生一个0到1之间的随机数,包括0,不包括1

Random类: 1.创建实例格式:Random 变量名 = new Random(); 2. import导包:所属包java.util.Random 3. 调用方法int number = r.nextInt(10);// [0,10) 产生的数据在0到10之间,包括0,不包括10。

六、方法入门

1.概述

具有某种特定功能的代码段 好处: 1、提高了代码的复用性 2、提高了代码的封装性,大括号中 3、简化了软件设计的思维难度

2.方法的定义

格式

修饰符 返回值类型 方法名称(参数列表) { 方法体语句; return语句; }

说明 1、修饰符:现在全都写成public static

2、返回值类型:方法具有功能,有可能会有一些产出,就需要将数据返回给调用者。调用者需要知道生产出来的数据的数据类型。

3、方法名称:给这段代码起的名字。只要是一个合法的标识符即可。第一个单词的首字母小写,从第二个单词开始首字母大写。动词、动宾结构。

4、参数列表:这段代码要完成功能,可能会需要一些资源。在参数列表中,需要定义一些变量,内存中表示为容器,在调用本方法的时候,会由外界传入数据,存储到这些变量容器中。使用变量名,表示那些将来可能传入的数据。

5、方法体语句:真正要完成该方法功能的执行逻辑。

6、return语句:最终生产出来的结果,要返回给调用者,使用return语句返回。如果没有任何生产内容,就可以写一个return;用于表示方法结束。

3.方法的调用

格式 直接书写方法名称即可 方法名称(实际参数);

方法调用的三种形式: 1、直接调用:表示某些内容的执行,而没有生产结果的情况 2、输出调用:方法的返回值,需要打印。如果这个结果只打印一次,不做其他的操作。 3、赋值调用:方法的返回值,使用某个变量来接收。如果这个结果需要反复使用。

方法调用总体特点: 方法不调用就不会执行

4.注意事项

方法定义 1、方法不能嵌套定义,方法都是定义在主方法的下面。 2、方法的先后没有区别 3、方法的定义是平级关系 4、方法可以嵌套调用,甚至可以自己调用自己

参数列表 1、形式参数:在定义方法时使用,需要加上数据类型的参数,也就是对于变量进行声明。各个变量之间,使用逗号分隔。 2、实际参数:在方法调用时使用,不能加上数据类型的参数,也就是对于变量进行赋值。各个实际参数之间,也使用逗号分隔。顺序必须和定义的方法的形式参数的顺序一致。

return语句 1、语句表达方法结束了;表示方法的产出内容。 2、如果方法没有具体的返回内容,可以写成return; 此时的return语句可以省略。返回值类型必须写成void。 3、如果方法有具体的返回内容,那么return后面就需要加上返回的那个数据。返回值类型必须和return语句后面的数据的数据类型一致。 4、return语句返回数据,返回给调用者。谁来调用当前方法,当前方法就将数据返回给谁。

七、方法的重载

1.概念

那这种同一个类中的同名方法,就叫做方法重载overload

2.特点

方法重载overload:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。 参数列表不同:个数不同/数据类型不同/顺序不同。 重载方法调用:JVM通过方法的参数列表,调用不同的方法。

3.好处

1.简化代码 2.重载方法只是对原有方法的一种升级,所以方法名相同可以方便原有使用

最新回复(0)