【JAVA-模块四 流程控制语句】

JAVA-模块四 流程控制语句

  • 一 选择分支语句:
    • if语句
      • if第一种格式:
      • if第二种格式 双分支:
      • if的第三种格式:多条件分支
    • switch多分支:
      • 注意:
      • if语句和swich语句如何选择:
  • 二 循环语句:
    • 2.1 for循环:
        • 格式:
        • for循环的注意事项:
        • 循环的嵌套:(for循环嵌套)
    • 2.2 while循环:
    • 2.3 do while循环语句:
      • 三种循环的区别:
      • 跳转控制语句break和continue:
      • 不确定循环次数的循环(无限循环):
      • random产生随机数:
    • 其他:
      • 两种打印语句的区别在于是否换行:

流程控制语句:

控制程序执行的顺序的语句

分类:顺序结构(按照代码的先后顺序依次执行),

​ 分支结构:if,switch

​ 循环结构:for,while,do while

一 选择分支语句:

if语句

if第一种格式:

【JAVA-模块四 流程控制语句】_第1张图片

成立就执行,不成立就不执行

if第二种格式 双分支:

【JAVA-模块四 流程控制语句】_第2张图片

if的第三种格式:多条件分支

【JAVA-模块四 流程控制语句】_第3张图片

最后一个else算是配体条件(前方条件都不成立时候执行这个),非必要但是加上逻辑更完整

if语句也可以进行嵌套!

switch多分支:

【JAVA-模块四 流程控制语句】_第4张图片

表达式(将要匹配的值 )

case,default(备胎,所有case语句都没有被匹配时执行)

default也是非必要的,但是配体条件能够逻辑更完整

注意:

1 case后的值不能重复

2 快捷键:

批量注释:

批量单行注释:选中后ctrl+/,再一次就是取消注释

批量多行注释:ctrl+shift+/,再一次也是取消

3 switch穿透现象(某被匹配地语句后没有break)

有时候能够利用switch地穿透作用,来优化代码(多个Case中有相同代码)

4代码穿透优化:一个语句可以有有多个接口数
在这里插入图片描述

public static void switchTest2(){
    Scanner sc=new Scanner(System.in);
    int week=sc.nextInt();
    switch (week){
        case 1,2,3,4,5:
            System.out.println("工作日");
            break;
        case 6,7:
            System.out.println("休息日");
        default:
            System.out.println("您地输入有误");
            break;
    }
}

使用箭头指向继续优化:省略break。

switch (week){
    case 1,2,3,4,5 -> System.out.println("工作日");
    case 6,7->System.out.println("休息日");
    default ->System.out.println("您地输入有误");
}

if语句和swich语句如何选择:

建议:

(1)if语句使用范围性判断

(2)swich适用于固定值地匹配

但是两者是相通地

二 循环语句:

循环语句的作用:代码重复执行

2.1 for循环:

格式:

for( 初始化语句;条件判断语句 ;条件控制语句){

循环体;

}

初始化语句只执行一次

循环中控制循环的变量,可以在循环体中,继续使用。

注意:

如果方法的调用有值产生,要使用return语句将这个值进行返回

生成方法返回值的快捷键:带有返回值的方法调用时候,在后面输入**.var**:会自动生成对应的接受值的类型和提供得变量名(可以更改)

for循环的注意事项:

1 快速设置循环结构的快捷键:想要循环n次: n.fori回车

2 for循环{ }中定义的变量(局部变量),在每轮循环结束后,都会从内存中释放(从内存中消失),因此在for循环外使用for循环内定义的变量不可取

3 for循环()中定义的变量i,在整个循环结束后,才会从内存中消失,因此在一个程序中多个循环()内可以使用进行定义for循环,不冲突

4 ()和{ }之间不能写分号

循环的嵌套:(for循环嵌套)

内循环相对于外部循环是循环体,只有循环体结束才会进行下一次循环

循环嵌套的使用场景

2.2 while循环:

格式:
【JAVA-模块四 流程控制语句】_第5张图片

执行流程:

1 初始化语句

2 执行判断语句,返回值为ture–>进入第三步,返回值为false,循环结束

3 执行循环语句

4 执行条件控制语句

5 回到步骤2

2.3 do while循环语句:

格式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IZzW4tZE-1681628604875)(C:\Users\86137\Desktop\笔记\java笔记\模块四.assets\image-20230413083225051.png)]

注意初始化语句和条件控制语句,while()后面后分号;

执行流程:

1 初始化语句

2 执行循环体(至少执行一次循环体)

3 执行条件控制语句

4 判断条件看返回值的布尔类型

与while最大的区别:do while循环循环体至少执行一次

三种循环的区别:

for循环和while循环:先判断后执行

do while:先执行,后判断

for循环和while循环的区别:

for循环中的循环变量,在循环结束后,会从内存中自动消失,循环体外不能再被使用

while循环中用于控制循环的变量,在循环结束后,不会从内存中消失,循环结束后仍然可以使用(初始化在while循环外)

本质上是没有区别的,如果for循环循环控制变量如果在for循环外初始化,就跟while循环完全等价。

for循环语句一初始化挪到for循环之前,条件控制语句三挪到for循环体中后,和while循环完全一样(就关键字不一样)

因此for循环能够实现的,while循环也都能实现

【JAVA-模块四 流程控制语句】_第6张图片

跳转控制语句break和continue:

作用:对循环进行控制

break关键字:跳出所属循环(结束循环)/所属swich,也能结束switch

注意事项:只能在循环或者switch中使用

continue关键字:跳出本次循环,继续执行下次循环(跳过)

注意:只能在循环中使用

break,continue共同注意点:

break,continue下面不能写代码,属于无效代码(执行不到)

不确定循环次数的循环(无限循环):

(1) for(;;){}

(2) while(true)-----------更清晰

(3) do { }while(true)

无限循环可以通过break进行控制结束。

标号用于给循环起名字:形成一个falg,循环语句跳出时候,break后面可以指定跳出的位置。

random产生随机数:

Random精灵产生随机数

1 找符咒(imort java.untl.Random):IDEA会自动生成,可以忽略

2 召唤精灵:Random r=nem Random();

3 指挥精灵,产生随机数

int num=r.nextInt(n);----->随机产生从0到n的数字(不包含n)

如果想要产生1-n之间的随机数字(后面个加1:r.nextInt(n)+1)

其他:

两种打印语句的区别在于是否换行:

System.out.println( );----->打印数据后有换行效果

System.out.print( );-------->打印数据后不进行换行

你可能感兴趣的:(JAVA基础,java,开发语言)