JavaSE-03 【流程控制语句】

news2025/1/20 13:29:25

第一章 流程控制

1.1 流程概述

在一个程序执行的过程中,每条语句的执行顺序对程序的结果是由直接影响的,
也就是,语句的流程对运行结果有着直接的影响,所以,必须清楚知道每条语句的执行流程,
并且,我们还需要通过控制语句的执行顺序来实现我们要完成的特定功能

1.2 顺序结构

顺序结构:就是根据编写的程序,从上到下的执行,如:

public static void main(String[] args) {
    //顺序执行:根据编写的程序,自上而下的执行。
    int a = 1;
    int b = 2;    
    int c = a+b;
    System.out.println(c);
}
  • 流程图

在这里插入图片描述

第二章 判断语句

2.1 判断语句—if

  • 语法格式
if(关系表达式){
    语句体;
}
  • 执行流程
  - 1、先判断关系表达式,是true还是false
  - 2、如果是true,执行语句体,如果是false,则不执行

在这里插入图片描述

  • 案例—Demo1_if
public class Demo1_if {
    public static void main(String[] args) {
        System.out.println("准备开始");
        int a = 10;
        int b = 20;
        if (a>b){
            System.out.println("a大于b");
        }
        int c = 10;
        if (a==c){
            System.out.println("a等于c");
        }
        System.out.println("程序执行完毕");
    }
}

2.2 判断语句—if…else

  • 语法格式
if(判断语句){
    执行语句1;
}else{
    执行语句2;
}
  • 执行流程

  • 案例:Demo02_if_else
public class Demo02_if_else {
    public static void main(String[] args) {
        //判断奇偶数
        //键盘输入数据
        int a = new Scanner(System.in).nextInt();
        //判断奇偶数
        if (a%2==0){
            System.out.println(a+":a是偶数");
        }else {
            System.out.println(a+":a是奇数");
        }
    }
}

2.3 判断语句—if…else if … else

  • 语法格式
if(判断条件1){
    执行语句1;
}else if(判断条件2){
    执行语句2
}
...
}else if(判断条件3){
    执行语句n;
}else{
    执行语句m;
}
  • 执行流程
  - 1、首选判断关系表达式1,是否为true,或false
  - 2、如果是true‘,执行语句体1,
  - 3、如果是false,再判断关系式2是否为true。或false
  - 4、如果是truw,执行语句体2
  - 5、...以此类推执行

  • 案例:Demo03_if_elseif_else
public class Demo03_if_elseif_else {
    public static void main(String[] args) {
        //判断成绩大小
        int score = new Scanner(System.in).nextInt();
        if (score>90){
            System.out.println("成绩优秀");
        }else if (score>=80 && score<90){
            System.out.println("成绩好");
        }else if (score>=70 && score<80){
            System.out.println("成绩良好");
        }else if (score>=60 && score<70){
            System.out.println("成绩及格");
        }else {
            System.out.println("不及格,叫家长来");
        }
    }
}

第三章 选择语句

3.1 选择语句–switch

  • switch的语法格式
switch(表达式){
    case 常量值1 : 语句体1;
	break;
	case 常量值2 : 语句体2;
	break;
	case 常量值3 : 语句体3;
	break;
        ...
    default : 语句体n;
    break;
}
  • 执行流程:
  - 1、计算出表达式的值
  - 2、依次和case对应的常量值比较,一旦有对应的值,
	   就执行相应的语句,执行过程中,遇到break结束
  - 3、如果所有的case对应常量值与表达式都不匹配,
       就执行default语句体,然后程序结束

在这里插入图片描述

  • 案例:Demo05_Switch
public class Demo05_Switch {
    public static void main(String[] args) {
        //案例:判断星期几
        int num = new Scanner(System.in).nextInt();
        switch (num){
            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;
            case 6: System.out.println("周六");
            break;
            case 7: System.out.println("周日");
            break;
            default:System.out.println("输入错误");
            break;//此处break可以省略,推荐保留不省略
        }
    }
}

3.2 case的穿透性

  • switch语句使用的注意事项:
1、多个case后面的常量值不能重复
2、switch小括号中的数据类型:
      基本数据类型:byte、short、int、char
      引用数据类型:字符串,枚举等
3、switch的格式:比较灵活,前后顺序可以颠倒,break可以省略
      匹配到哪个case就从哪个位置向下执行,直到遇到break,或者整体代码结束
  • 案例:Demo06_SwitchNotice
public class Demo06_SwitchNotice {
    public static void main(String[] args) {
        int num = 2;
        switch (num){
            case 1:System.out.println("孙悟空");
            break;
            case 2:System.out.println("猪八戒");
            //break;//没有break,则会穿透后续的case
            case 3:System.out.println("沙和尚");
            break;
            case 4:System.out.println("唐僧");
            break;
            default:System.out.println("西天取经");
            break;
        }
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bLB19BZj-1686187770015)(photo/JavaSE03_流程控制语句.assest/1664099132918.png)]

第四章 循环语句

4.1 循环概述

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

4.2 循环语句–for

  • 语法格式:
for(初始化表达式1;布尔表达式2;步进表达式4){
    循环体3;
}
  • 执行流程
  - 1、执行顺序1234,直到2不满足为止
  - 2、表达式1:负责完成循环变量初始化
  - 3、表达式2:负责判断是否满足循环条件,不满足则跳出循环
  - 4、循环体3:具体执行的代码
  - 5、表达式4:循环后,循环条件所涉及变量的变化情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XhQH5KIa-1686187770023)(photo/JavaSE03_流程控制语句.assest/1664101785534.png)]

  • 案例:Demo07_For
public class Demo07_For {
    public static void main(String[] args) {
        System.out.println("程序开始执行");
        for (int i = 1;i<=100;i++){
            //循环体
            System.out.println("我是第:"+i+" 次循环");
        }
        System.out.println("程序执行完毕");
    }
}

4.3 循环语句–while

  • 语法格式
初始化表达式1;
while(布尔表达式2){
    循环体3;
    步进表达式4;
}
  • 执行流程:
  - 1、执行顺序:1234--234--234-,直到2不满足为止
  - 2、初始化表达式1:负责完成循环变量的初始化
  - 3、表达式2:负责判断是否满足条件,不满足则跳出循环
  - 4、循环体3:具体语句的执行
  - 5、步进表达式4:循环后,循环变量的变化情况

在这里插入图片描述

  • 案例:Demo08_While
public class Demo08_While {
    public static void main(String[] args) {
        //扩展格式
        //初始化语句
        int i = 1;
        //判断条件
        while (i<=100){
            //循环体
            System.out.println("我被循环的次数是:"+i);
            //步进语句
            i++;
        }

        //标准化格式
        while (i<=100){//条件判断
            //循环体
            System.out.println("此次循环结束");
        }
    }
}

4.4 循环语句–do…while

  • 格式
初始化表达式1;
do{
   循环体2;
   步进表达式3;
}while(布尔表达式4)
  • 执行流程
  - 1、执行顺序:1234,直到不满足表达式4为止
  - 2、表达式1:负责完成循环变量的初始化
  - 3、循环体2:具体语句的执行
  - 4、表达式3:循环后,循环变量的变化情况
  - 5、表达式4:负责判断是否满足条件,不满足则跳出循环

在这里插入图片描述

  • 案例:Demo09_DoWhile
public class Demo09_DoWhile {
    public static void main(String[] args) {
        //初始条件
        int i = 1;
        do {
            //循环体
            System.out.println("我是do执行的第:"+i+"次");
            //步进语句
            i++;
        }while (i<=20);//判断条件
    }
}

4.5 循环语句的区别

- 1、如果条件判断从不满足,那么for和while执行0次,但是do-while会执行一次
- 2、for循环的变量在小括号中定义,只有循环内部才能使用
- 3、while和do-while的初始化数据本身就在循环的外面

4.6 break和continue用法

  • break语句的用法
- 1、可以使用在switch语句当中,一旦执行,整个switch语句立即结束
- 2、可以使用在循环语句中,一旦执行,整个循环结束
/**
 * break的用法
 *  1、可以使用在switch语句当中,一旦执行,整个switch语句立即结束
 *  2、可以使用在循环语句中,一旦执行,整个循环结束
 */
public class Demo11_Break {
    public static void main(String[] args) {
        for (int i=1;i<10;i++){
            if (i==5){
                break;//若条件满足,那么就会结束循环
            }
            System.out.println("此时循环到的次数是"+i);
        }
    }
}
  • continue 语句的用法
一旦执行,立即跳过当前循环剩余内容,开始下一轮循环
/**
 * continue的用法
 *  一旦执行,立即跳过当前循环剩余内容,开始下一轮循环
 */
public class Demo12_Continue {
    public static void main(String[] args) {
        for (int i=1;i<10;i++){
            if (i==5){
                continue;//表示跳出当前循环,执行下一轮循环
            }
            System.out.println("此时的循环次数是:"+i);
        }
    }
}

第五章 循环语句加强

5.1 死循环

  • 死循环: 就是循环中的条件永远为true,能执行但不会停下来的循环
  • 死循环出现的原因:程序漏洞、程序员刻意操作
/**
 * 死循环:能执行但不会停下来的循环
 *  格式:
 *      while(true){
 *          循环体
 *      }
 */
public class Demo13_SiXunHuan {
    public static void main(String[] args) {
        while (true){
            int a = 10;
            System.out.println(a+=10);//ctrl+c停止运行
        }
    }
}

5.2 嵌套循环

  • 嵌套循环
循环的嵌套是指一个循环的循环体是另一个循环,
比如for循环qiantaofor循环,总循环次数  =  外循环次数*内循环次数
  • 嵌套循环格式:
for(初始化表达式1;循环条件2;步进表达式7){
	for(初始化表达式3;循环条件4;步进表达式6){
        循环体5;
    }    
}
  • 执行流程
  - 执行顺序:123456---456---723456---456
  - 外循环一次,内循环多次
  • 案例:Demo14_NestingFor
/**
 * 嵌套循环
 *  打印5*10的矩形
 */
public class Demo14_NestingFor {
    public static void main(String[] args) {
        //外循环:外循环循环5次
        for (int i=1;i<=5;i++){
            //内循环:内循环在外循环循环1次的基础上,都要进行循环10次
            for (int j=1;j<=10;j++){
                System.out.print("*");
            }
            System.out.println("\n");
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/625561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Gossip分布式通信协议副本管理器说明

Gossip中副本管理器 副本管理器状态 不考虑应用时一个副本管理器应该有的状态&#xff1a; 值&#xff0c;这是由副本管理器维护的应用状态的值&#xff0c;每个副本管理器是一个状态机。起始于一个特定的初始值。此后的状态完全由更新操作决定。值的时间戳&#xff1a;代表更…

chatgpt赋能python:Python的包管理器-pip

Python的包管理器 - pip 什么是pip? pip是Python中的一个包管理工具&#xff0c;它可以用来安装、升级以及管理Python语言中的第三方模块。 如何安装pip 在Python 2.7.9和Python 3.4中&#xff0c;pip已经随着Python自带安装了。 如果你的Python没有安装pip&#xff0c;可…

JavaSSM笔记(四)

MySQL高级 在JavaWeb阶段&#xff0c;我们初步认识了MySQL数据库&#xff0c;包括一些基本操作&#xff0c;比如创建数据库、表、触发器&#xff0c;以及最基本的增删改查、事务等操作。而在此阶段&#xff0c;我们将继续深入学习MySQL&#xff0c;了解它的更多高级玩法&#…

JavaSSM笔记(三)

SpringSecurity 本章我们会一边讲解SpringSecurity框架&#xff0c;一边从头开始编写图书管理系统。 SpringSecurity是一个基于Spring开发的非常强大的权限验证框架&#xff0c;其核心功能包括&#xff1a; 认证 &#xff08;用户登录&#xff09;授权 &#xff08;此用户能…

【From Audio to Talking Heads in Real-Time with AI! RAD-NeRF explained】

视频链接&#xff1a;RAD-NeRF https://me.kiui.moe/radnerf/videos/obama_intro.mp4 From Audio to Talking Heads in Real-Time with AI! RAD-NeRF explained Efficient NeRFs for Real-Time Portrait Synthesis (RAD-NeRF) We’ve heard of deepfakes, we’ve heard of N…

Nacos架构与原理 - 配置模型

文章目录 背景概念介绍配置(Configuration)配置管理 (Configuration Management)配置服务 (Configuration Service)配置项&#xff08;Configuration Item&#xff09;配置集&#xff08;Configuration Set&#xff09;命名空间&#xff08;Namespace&#xff09;配置组&#x…

chatgpt赋能python:Python中如何实现print不换行

Python中如何实现print不换行 在编写Python程序时&#xff0c;我们经常需要使用print语句来输出信息。然而&#xff0c;有时候我们希望在输出信息时不换行&#xff0c;而是将多个输出信息打印在同一行上。这里介绍几种Python中print不换行的方式。 方法一&#xff1a;使用逗号…

Redis7分布式缓存

Redis7分布式缓存 一、Redis入门概述1.主流功能与应用2.命名规则 二、Redis 10 大数据类型1.redis字符串 (String)2. redis列表 (List)3. redis哈希表 (Hash)4. redis集合 (Set)5. redis有序集合 (ZSet)6. redis地理空间(GEO)7. redis基数统计 (HyperLogLog)8. redis位图 (bitm…

wavemlp怎么运行的

1.首先&#xff0c;输入进来的x是batchsize&#xff0c;64&#xff0c;256&#xff0c;256尺寸的。 他会用四个不同的conv组合&#xff0c;theta组合是由二维卷积&#xff08;batchnorm和relu的&#xff09;&#xff0c;得到两个值。 而&#xff0c;x_h和x_w都是通过一个简单…

JavaSE笔记(四)重制版

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eFLuY3vJ-1685927553034)(https://s2.loli.net/2022/09/22/lmKBNFc5wPEgjaS.png)] 面向对象高级篇 经过前面的学习&#xff0c;我们已经了解了面向对象编程的大部分基础内容&#xff0c;这一部分&…

一种新颖的智能优化算法—海鸥优化(SOA)算法

目录 一、SOA理论基础 二、ACO数学模型 2.1 迁徙 2.2 攻击 三、SOA伪代码 四、SOA运行结果 海鸥优化算法(Seagull Optimization Algorithm, SOA)是在2019年由 Dhiman 提出的一种受自然界海鸥启发的新颖全局优化算法&#xff0c;模拟了海鸥群体的迁徙和攻击行为。 一、SOA…

chatgpt赋能python:Python中如何实现1到100的循环?

Python中如何实现1到100的循环&#xff1f; 在Python中&#xff0c;实现1到100的循环非常简单。我们可以通过for循环、while循环和列表生成式来实现这个任务。 1. 使用for循环实现1到100的循环 使用for循环可以让我们轻松地遍历从1到100的整数。这种方法很适合在循环中需要进…

chatgpt赋能python:Python中的UTF-8

Python中的UTF-8 什么是UTF-8&#xff1f; 在开始介绍Python中的UTF-8&#xff0c;让我们先了解什么是UTF-8。UTF-8是一种Unicode字符集的编码方法&#xff0c;可以表示全球范围内的字符集&#xff0c;包括机器语言和人类语言。 Python和UTF-8 Python是一种高级编程语言&am…

工作基础知识

fpga 什么是fpga FPGA 是一种硬件可重构的体系结构。它的英文全称是Field Programmable Gate Array&#xff0c;中文名是现场可编程门阵列。 FPGA就是一个可以通过编程来改变内部结构的芯片。 FPGA 是在硅片上预先设计实现的具有可编程特性的集成电路&#xff0c;它能够按照…

完全卸载mysql教程

引言 很多人因为第一次安装mysql导致安装错误&#xff0c;或者安装的数据库版本太高&#xff0c;比如mysql8.0版本&#xff0c;出现了很多问题&#xff0c;导致数据库无法使用&#xff0c;或者一些图形界面无法操作&#xff0c;想要卸载&#xff0c;重装稳定的mysql数据库&…

一种新型智能优化算法—平衡优化算法(EO)

目录 一、EO理论基础 二、EO数学模型 2.1 种群初始化 2.2 建立平衡状态池 2.3 指数项 2.4 生成速率 2.5 更新解 三、EO流程图 四、EO运行结果 平衡优化器(Equilibrium Optimizer&#xff0c;EO)。该算法由Afshin Faramarzi等人于2020年提出的一种新型元启发式优…

JavaSE笔记(七)重制版

多线程与反射 前面我们已经讲解了JavaSE的大部分核心内容&#xff0c;最后一章&#xff0c;我们还将继续学习JavaSE中提供的各种高级特性。这些高级特性对于我们之后的学习&#xff0c;会有着举足轻重的作用。 多线程 **注意&#xff1a;**本章节会涉及到 操作系统 相关知识…

【Simulink】基于FCS-MPC的单相并网逆变器控制(Matlab Function)

之前写过【Simulink】基于FCS-MPC的三相并网逆变器控制&#xff08;Matlab Function&#xff09;以及 【Simulink】基于FCS-MPC的三相并网逆变器控制&#xff08;Stateflow&#xff09;&#xff0c;控制对象都是三相逆变器&#xff0c;本篇博客将研究单相逆变器。 FCS-MPC控制…

chatgpt赋能python:Python一行输入两个数:简单又高效

Python一行输入两个数&#xff1a;简单又高效 作为一名有10年Python编程经验的工程师&#xff0c;我深知Python的简洁和高效。Python作为一种强大的编程语言&#xff0c;具有很多功能强大的工具和库。一行输入两个数也不例外。在本文中&#xff0c;我将介绍Python中一行输入两…

chatgpt赋能python:Python怎么post请求

Python怎么post请求 Python作为一种高级编程语言&#xff0c;拥有丰富的库和模块来处理各种编程任务。其中&#xff0c;处理网络请求和数据交互是Python非常擅长的领域之一。在Python中&#xff0c;我们可以使用标准库或第三方库的HTTP模块来实现HTTP协议的请求和响应。 本篇…