流程控制

Shell 流程控制 为多选择语句,与其他语言中的 switch ... case 语句类似,是一种多分支选择结构,每个 case 分支用右圆括号开始,用两个分号;表示 break,即执行结束,跳出整个 case ... esac 语句,esac(就是 case 反过来)作为结束标记。,每一模式必须以右括号结束。condition 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。continue 命令与 break 命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。 阅读详情

流程控制

1. 用户交互Scanner

​ java.util.Scanner ->用来获取用户的输入

基本语法:

Scanner s = new Scanner(System.in);

​ 通过 next() 和 nextLine() 方法获取输入的字符串

​ 但在读取前,我们会使用 haxNext() 和 hasNextLine() 来判断是否还有输入的数据

/*
        输入:Hello
        输出:Hello
     */
    public static void main(String[] args) {
        //用于接收输入数据
        Scanner s = new Scanner(System.in);

        //next接收
        if (s.hasNext()){
            String str = s.next();
            System.out.println(str);
        }
        
        //处理IO流时,为了避免资源持续被占用,使用后即关闭
        s.close();

    }

next()和nextLine()的区别

​ next

​ ->读到有效字符串才结束输入

​ ->会自动忽略有效字符串前的空格

​ ->碰到字符后,若遇到空格,则会作为结束符 结束【即空格后的字符被省略】

​ ->next 不能得到带有空格的字符

​ nextLine()

​ ->以Enter作为结束符

​ ->可以获得空白

获取基本类型的数据

​ Scanner中 有许多的方法 都是以 hasNextXxx 和 nextXxx 为准,根据方法,将输入的内容转化为Xxx类

​ 此处以int类型为例

/*
        输入:520
        输出:520
     */
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);

        int i = 0;

        if (s.hasNextInt()){
            i = s.nextInt();
            System.out.println(i);
        }

        s.close();

    }

2. 顺序结构

​ 从上到下的结构。

​ 即除非特别声明,否则程序则会一行一行依次执行。

​ Java的基本结构便是顺序结构。

3. 选择结构

if选择结构

单选择结构

​ 判断一个东西是否可行,再去执行。

​ 基本语法:

if(boolean值){
	//true-->执行的相关代码块
}
双选择结构

​ 判断一个东西是否可行,若true则执行相关代码块,若false则执行另一个代码块

​ 白话版:不是这个,便是那个

​ 基本语法:

if(boolean值){
	//true-->执行的相关代码块
}else{
    //false-->执行的相关代码块
}
多选择结构

​ 判断一个东西是否可行,若true则执行相关代码块,若false则往下查看满足条件的其他if代码块

​ 白话版:是这个吗?是执行:不是,往下一个看看

​ 基本语法:

if(boolean值){
	//true-->执行的相关代码块
}else if(boolean值2){
    //boolean值2 true-->执行的相关代码块
}else if(boolean值3){
    //boolean值3 true-->执行的相关代码块
}else{
    //以上都不满足执行的代码块
}

案例:

​ 成绩分数给予等级评分

/*
        100 -> A+
        90~99 -> A
        80~89 -> B
        70~79 -> C
        60~69 -> D
        0~59 -> E
     */
    public static void main(String[] args) {
        //模拟数据
        int grades = 92;

        if(grades == 100){
            System.out.println("A+");
        }else if(grades >=90){ 
            System.out.println("A");
        }else if (grades >=80){
            System.out.println("B");
        }else if (grades >=70){
            System.out.println("C");
        }else if (grades >=60){
            System.out.println("D");
        }else {
            System.out.println("E");
        }

    }

​ 注:

​ 此处else if已完成上一个if 布尔值的审查。

​ 即B等级原本为 80~89 条件:grade >= 80 && grade <90

​ 则根据该原理,可将后者省略

Switch选择结构

​ 基本形式

​ 判断一个变量是否与下面case中的 value 相等,相等则执行。其中每一值称为一个分支

       	switch( Value ){
            case value: 
                //执行语句
                break; //可选
            case value:
                //执行语句
                break;
            default: //可选
                //执行语句
        }

注:

​ 其中switch( Value ) 的 Value 可以是 byte,short,int,char,String( jdk 7)

​ 若值进入case分支执行的代码块时,若该分支没有break。则会不断往下执行,直至结束。

4.循环结构

while循环详解

​ 最基本的循环,成立则执行

​ 基本语法:

while(boolean值){
	//true-->执行的相关代码块
}

eg: 1+2+3+…+100

 public static void main(String[] args) {
        int num = 0;
        int sum = 0;

        while (num <= 100){ //数字大于100时退出循环
            sum += num;
            num++;
        }

        System.out.println(sum);
    }

do…while循环

​ 无论满不满足条件,先执行一遍,再进行判断。

​ 基本语法:

do{
	//执行的相关代码块
}while(boolean值)

for循环

​ 是支持迭代的一种通用型结构。是最有效、最灵活的循环结构

基本语法:

for(初始化值;条件判断;迭代){
    //执行的相关代码块
}

​ 案例:打印九九乘法表

public static void main(String[] args) {

        /* 开发步骤
            1.先打印第一列
            2.将固定住的第一列用一个循环包起来
            3.简化相关代码
            4.调整样式
         */

        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i ; j++) {
                System.out.print(j+"*"+i+"="+(j*i) + "\t");
            }
            System.out.println();
        }
    }

5.breack、continue

​ breack:跳出整个循环

​ continue:终止某次循环

打印三角形

public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            //模拟前面的空格部分
            for (int k = 5; k >= i; k--) {
                System.out.print(" ");
            }
            //模拟左边三角形
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            //模拟右边三角形
            for (int j = 1; j < i; j++) {
                System.out.print("*");
            }

            System.out.println();
            /*
                      *
                     ***
                    *****
                   *******
                  *********
             */
        }
    }
避坑指南:在Ubuntu 20.04上从零部署IS-Fusion环境(含CUDA 11.1和PyTorch 1.10.1配置) 本文提供了在Ubuntu 20.04系统上从零部署IS-Fusion 3D目标检测环境的详细避坑指南。内容涵盖CUDA 11.1、PyTorch 1.10.1、spconv等核心组件的精确版本安装与兼容性配置,并指导如何准备nuScenes数据集及启动模型训练,旨在帮助研究者和开发者高效搭建稳定的多模态融合算法开发环境。 阅读详情

相关推荐

无人机避障——卡内基梅隆大学(CMU)CERLAB 无人机自主框架复现

CMUCERLAB无人机自主框架是一个模块化的无人机自主导航系统,包含感知、测绘、规划和控制等组件。安装过程中遇到的主要问题包括:(1)cv_bridge路径未正确识别,需手动指定路径;(2)OpenCV版本冲突(4.2与4.6),导致动态导航节点崩溃。解决方案包括:完全卸载OpenCV4.2,重新编译安装OpenCV4.6,并修改相关CMakeLists文件指定版本。最终成功运行仿真环境,实现无人机在Gazebo和RViz中的自主避障导航功能。

weixin_45390670的博客 1646

js中breack 和continue的区别

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> for(var i = 519; i < 550; i++) { ...

Bohn的博客 629

2025软考中级《数据库系统工程师》案例模拟题合集

1.【说明】某销售企业正在实施电商平台项目,主要功能模块包括用户中心、商品中心、交易中心、支付中心、营销中心等。其中支付中心模块包括了一个账户表:Account (ano, aname, balance),其中属性含义分别为:账户号,账户名称和账户余额。 假设现在存在事务Ti对账户表Account进行余额的修改,系统记录了修改账户表的日志记录,假设更新日志记录表示为 <Ti,A,V1,V2>,表明事务Ti对账户A执行了一个写操作,写操作前账户A的余额是V1,写操作后账户A的余额为V2。<Ti,D

2301_76902257的博客 2329

GO之流程控制

for range 结构时Golang语言特有的一种迭代结果,在许多情况下都非常有用,for range 可以遍历数组、切片、字符串、map及通道。这三种基本逻辑是相互支撑的,他们构成了算法基本机构,无论怎样复杂的逻辑结构,都可以通过他们来表达。fmt.Printf("索引为: %d, 具体的值为:%c \n", i, value)索引为: 10, 具体的值为:d。索引为: 11, 具体的值为:!索引为: 15, 具体的值为:你。索引为: 18, 具体的值为:好。索引为: 21, 具体的值为:,

happy_king_zi的博客 1136

【HCIE】FRR+BFD+OSPF与BGP联动

FRR+BFD+OSPF与BGP联动

Wenrs的博客 1997

正交试验minitab

1.创建正交试验 2.根据自己的实验选择水平数和因子数,并选定一个正交表 3.得到正交表 4.填写实验结果 5.进行正交分析 点击结果,点击分析 6.得到分析结果 7.方差分析 选择响应变量与因子,点击确定 得到方差分析的结果 ...

a999999123的博客 1万+

mysql流程控制

注意:只能用于存储程序顺序结构:程序从上往下依次执行分支结构:程序按条件进行选择执行,从两条或多条路径中选择一条执行循环结构:程序满足一定条件下,重复执行一组语句MySQL 的流程控制语句主要有 3 类。条件判断语句:IF 语句和 CASE 语句循环语句:LOOP、WHILE 和 REPEAT 语句跳转语句:ITERATE 和 LEAVE 语句。

学习笔记,相关教程 分享 2902

Altium Designer 18 将Gerber文件逆向转换成PCB(详细记录)

自己看了网上的教程,弄了很久,估计还有不足的地方,但是先把思路理一理(初学AD) 同时遇到了许多问题: 不是AD导出的Gerber估计不能自动识别层 要自己设置层顺序 要有钻孔文件数据制作NC工具(我也不懂是怎么说,就是size尺寸的) 这里记录一下,以防忘记。 正常顺序: 1.新建CAM 2.导入Gerber,选择CAM文件夹下的所有文件导入 3.设置层属性和物理顺序 4.设置NC工具 5.提取网络表 ...

lb_monkey的博客 1万+

PHP流程控制

流程控制是指用于控制代码执行顺序的机制,PHP提供了多种流程控制结构,例如条件判断语句以及循环语句等。

长风破浪会有时 1815

uniapp [安卓苹果App端] - 解决支付宝支付报错requestPayment:fail [payment支付宝:62009]未知错误,使用uni.requestPayment支付报错排查方案

uni-app支付宝,uniapp支付宝沙箱支付报错,uni.requestPayment,uniAPP App支付宝支付提示错误requestPayment:fail [payment支付宝:62009]未知错误,UNI-APP支付宝报错"code": -100,uniapp 解决安卓App使用uni.requestPayment实现沙箱环境支付宝支付报错,uniapp安卓app使用支付宝的沙箱环境支付时报了这个错,安卓端app支付宝支付,在沙箱测试环境测支付,提示“商家订单参数异常,请重新发起付款,选择

🏆 前端领域优质创作者 9609

Android So加载机制分析----基于Android14源码

本文深入分析Android 14系统中SO(共享库)的两种加载机制:System.loadLibrary()和System.load()。前者通过ClassLoader查找标准路径加载,后者直接加载指定路径的SO文件。文档详细追踪了从Java层到动态链接器的完整加载链路,包括ClassLoader路径查找、JNI桥接、ART虚拟机处理以及底层linker的符号解析和重定位过程。同时还分析了Namespace隔离、JNI_OnLoad机制等核心内容,为开发者提供全面的SO加载技术解析和问题排查指南。

保持专注,保持热爱 350

python流程控制

Python 流程控制是编程的关键部分,用于掌控程序执行流程,决定代码块的执行顺序和次数。主要包括条件判断语句(如 if 语句)和循环语句(如 while 循环、for 循环),配合循环控制语句(break 和 continue),可实现复杂逻辑功能。

2501_91112123的博客 1325

PCL:读写pcd点云的两种方式

本文介绍了PCL读写点云的两种方式:PCDReader,PCDWriter;loadPCDFile,savePCDFile.

孙悟空 1万+

流程控制 (js语句)

在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行流程控制主要有三种结构,分别是,这是三中结构代表三种代码执行的顺序。

2503_90189180的博客 981

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python 流程控制

Python 流程控制是 Python 编程中非常重要的一部分,它用于控制程序的执行流程。Python 提供了多种流程控制语句,包括 if 语句、while 循环、for 循环、break 和 continue 语句等。这种流程控制在各个语言中都是大同小异的。

2501_91344566的博客 1181

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Go流程控制

随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过它们来表达。(9)switch穿透,利用fallthrough关键字,如果在case语句块后增加falthrough,则会继续执行下一个case,也叫switch穿透。(5)case后面不需要带break,程序匹配到一个case后就会执行对应的代码块,然后退出switch,如果一个都匹配不到,则执行default。

LSL91com的博客 1053

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java流程控制

程序在运行时,当执行某一个代码片段时,会有以下三种执行结构:1、顺序结构代码从上到下,依次执行,这种执行结构是程序运行的基本结构。2、分支结构代码执行到了某一个节点,遇到了多种继续执行的可能性,选择其中的一种继续向下执行。3、循环结构某一段代码因为某种条件,需要重复执行多次。我们通过指定的语法,来控制程序的执行流程,这种语法就叫流程控制语法。

m0_74837480的博客 1099

go流程控制

流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go 语言中最常用的流程控制有 if 和 for,而 switch 和 goto 主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。

SunnyRivers 1167

Zig 流程控制

Zig 的流程控制机制以显式性、类型安全和性能为核心,提供简洁直观的语法。主要结构包括条件语句(if)、分支语句(switch)、循环(for/while)和控制语句(break/continue/return)。if支持可选类型和错误处理,switch强化多路分支并强制穷尽枚举。循环支持迭代和条件控制,而comptime实现编译时流程优化。Zig 通过严格类型检查和显式设计避免隐式行为,适用于高性能场景。注意事项包括穷尽分支检查、循环性能优化及编译时控制的应用。本文基于 Zig 0.14.1,完整示例见原

m0_57545130的博客 872

python的三大流程控制

三大流程控制 顺序流程控制 分支流程控制 循环流程控制 1.顺序流程控制 一步到底、墨守成规 2.分支流程控制 分支流程语句 # python中input接收的是字符串, 如果接收整型数, 需要通过int转成整型数。 age = int(input("年龄:")) # 需求: 如果年龄大于18岁, 输出成年, 否则输出未成年。 # 注意点: 冒号和缩进是python的语法规范。 if age > 18: print("成年") else: print("未成年") 运行: 分

m0_51140575的博客 304

JS-流程控制

④ 执行表达式“i <= 100”,若表达式的值为 true,继续执行②,只要表达式的值为 true。一段代码执行的顺序是对程序的结果有直接影响的,所以我们要通过控制代码的执行顺序来达到我们想要的结果。② 判断“i <= 100 ”是否为 true,如果为 true,向下执行③,否则结束循环;流程控制主要有三种结构,分别是顺序结构,分支结构和循环结构,这三结构代表三种代码的执行顺序。// 输出 1、2、3、4、5、6……② 执行循环体,通过“console.log(i)”在控制台输出变量 i 的值。

2401_86250264的博客 986

流程控制命令

流程控制命令 流程控制命令在易语言中是非常重要的一类命令,可以控制程序的运行路线,如在满足一定的条件时候运行一些代码,在不满足条件运行另外的代码,大多数程序编写都离不开这类命令。 分支类流程控制符: 如果() 如果真() 判断() 循环类流程控制命令:判断循环首() 循环判断首() 计次循环首() 变量循环首() 跳转类流程控制命令:到循环尾() 跳出循环() 返回() 结束(...

java火推阳光的博客 1639

python中的流程控制

流程控制 流程: 计算机执行代码的顺序,就是流程。 流程控制: 对计算机代码执行顺序的控制,就是流程控制。 流程分类: 流程控制一共分为三类,分别是 顺序结构、分支(选择)结构、循环结构。 顺序结构 顺序结构就是代码一种自上而下执行的结构,这是Python默认的流程。 分支(选择)结构 分支结构一共分为4类,分别是 单项分支、双项分支、多项分支、巢状分支 单项分支 格式: if 1 <...

秋叶夏风的博客 895

Java流程控制语句

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。//需求:判断a是否大于b,如果是,在控制台输出:a的值大于b,否则,在控制台输出:a的值不大于b。System.out.println("a的值不大于b");

qq_39914918的博客 844

【Linux】shell中的运行流程控制

脚本默认的程序运行时自上而下在生产环境,有的动作需要重复做,有的动作需要满足条件去做如何按照我们需要的逻辑运行动作,这就是流程控制。

fjwyyy的博客 688
上一篇: Vue基本指令
下一篇: 方法
code_Floyed
博客等级 码龄7年 3粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值