精华内容
下载资源
问答
  • 当然也可以用if语句来完成也可以,如输入月份判断一年的季节,代码如下:public static void main(String[] args) { System.out.println("请输入一个月份:"); Scanner scanner = new Scan...
    switch : 在编程中常见的问题就是检测一个变量是否符合某个条件,如果条件不符合,再用另一个值来检测,以此类推.当然也可以用if语句来完成也可以,如输入月份判断一年的季节,代码如下:
    public static void main(String[] args) {
        System.out.println("请输入一个月份:");
        Scanner scanner = new Scanner(System.in);
        int luna = scanner.nextInt();
        if(luna==3||luna==4||luna==5){
            System.out.println("春季");
        }
        if(luna==6||luna==7||luna==8){
            System.out.println("夏季");
        }
        if(luna==9||luna==10||luna==11){
            System.out.println("秋季");
        }
        if(luna==12||luna==1||luna==2){
            System.out.println("冬季");
        }
    }

    这个程序显得比较笨重,而且要是我要对单一月份进行特殊的输出的时候,就会改掉一块if语句,像这种要实现"多选一"的情况就应该用switch语句来进行判断,代码如下:
    public static void main(String[] args) {
        System.out.println("请输入一个月份:");
        Scanner scanner = new Scanner(System.in);
        int luna = scanner.nextInt();
       switch(luna){
           case 3 :
           case 4 :
           case 5 :
               System.out.println("春季");
               break;
           case 6 :
               System.out.println("春季的开头");
           case 7 :
           case 8 :
               System.out.println("夏季");
               break;
           case 9 :
           case 10 :
           case 11 :
               System.out.println("秋季");
               break;
           case 12 :
           case 1 :
           case 2 :
               System.out.println("冬季");
               break;
               default:
                   System.out.println("输入的月份不符合规则!");
    }
    }

    如此,我要对三月进行一个特殊的输出,我只要在它,对应的 case 后面加上我的改动就可以了,这里注意 break 的用法! 在switch 结构中不是每一个 case后面都要跟break 的,
    这里我先来说一说 switch的运行机制: 将整个switch结构看成是一个博物馆 我们的现在手上的 Luna 这个变量就是我们的门票,我们要通过门票进入我们我们对应的房间,然后一间一间的去游览我们的展厅,
    break 相当于展览馆的保安,你碰到保安代表后面的门票你并没有购买,然后你就要被保安请出去了,要是你的门票并没有找到对应的展馆,你就会进入一个 特殊的展馆 default ; 如图

    注意,switch 语句的中表达式的的值必须是整形,字符型,字符串型,或常量型 1 ~ n 必须也是整形,字符型或字符串型. default 语句为可选的,如果它不存在,且 switch 语句中表达式的值不予任何 case 的常量值相同,switch 则不做任何处理!

    switch 的 流程图:

                                                  

    作者:唐平

    时间:2018.4.19



    展开全文
  • shell流程控制之多分支if语句

    千次阅读 2019-07-02 09:13:55
    if [ 条件判断式1 ];then 当条件判断式1成立时,执行程序1 elif [ 条件判断式2 ];then 当条件判断式2成立时,执行程序2 ........ else 当所有条件都不成立时,最后执行此程序 fi 2.练习5:字符界面加减乘除的...

    1.格式

    if [ 条件判断式1 ];then
    	当条件判断式1成立时,执行程序1
    elif [ 条件判断式2 ];then
    	当条件判断式2成立时,执行程序2
    ........
    else
    	当所有条件都不成立时,最后执行此程序
    fi
    

    2.练习5:字符界面加减乘除的计算器

    思路

    1.有没有输入内容
    2.判断输入的内容是不是数值
    3.判断输入的运算符
    4.执行运算符操作
    

    脚本

    [root@catyuan ~]# vim if5.sh
    #!/bin/bash
    ##字符界面加减乘除计算器
    read -t 30 -p "please input num1:" num1
    read -t 30 -p "please input num2:" num2 #通过read命令接受要计算的值,并赋予变量num1,num2
    read -t 30 -p "please input a operator:" ope    #通过read命令接受要计算的符号,并赋予变量ope
    if [ -n "$num1" -a -n "$num2" -a -n "$ope" ];then       #第一层判断,判断num1和num2中都有值
            test1=$(echo $num1 | sed 's/[0-9]//g')  #定义变量test1和test2的值为$(命令)的结果
            test2=$(echo $num2 | sed 's/[0-9]//g')  #sed命令是把变量test1的值替换为空。如果能替换为空,证明num1的值为数字
    
            if [ -z "$test1" -a -z "$test2" ];then  #第二层判断,用来判断test1与test2为数值,如果test1和test2的值为空,则是数
    字
                    if [ "$ope" == '+' ];then       #第三次判断用来确认运算符,测试$ope中是什么运算符
                            sum=$(($num1 + $num2))
                    elif [ "$poe" == '-' ];then
                            sum=$(($num1 - $num2))
                    elif [ "$poe" == '*' ];then
                            sum=$(($num1 * $num2))
                    elif [ "$poe" == '/' ];then
                            sum=$(($num1 / $num2))
                    else
                            echo "please input + | - | * | /"
                            exit 10 #如果运算符不匹配,返回错误代码10
                    fi
            else
                    echo "please enter a valid value"       #如果num1和num2不为空,说明输入的num1和num2不是数字,则提示输入有
    效的数值
                    exit 11 #并退出程序,返回错误代码11
            fi
    else
            echo "please input"     
            exit 12
    fi
    
    echo "$num1 $ope $num2 : $sum"  #输出数值运算结果
    
    [root@catyuan ~]# chmod 755 if5.sh 
    [root@catyuan ~]# ./if5.sh
    please input num1:2
    please input num2:3
    please input a operator:+
    2 + 3 = 5
    [root@catyuan ~]# ./if5.sh 
    please input num1:a
    please input num2:s
    please input a operator:+
    please enter a valid value
    [root@catyuan ~]# ./if5.sh 
    please input num1:1
    please input num2:2
    please input a operator:?
    please input + | - | * | /
    

    3. 练习6:判断用户输入的是什么文件

    脚本

    [root@catyuan ~]# vim if6.sh
    #!/bin/bash    
    #判断用户输入的是什么文件
    
    read -p "please input a filename:" file #接受键盘输入,并赋予变量file
    
    if [ -z "$file" ];then  #判断file变量是否为空
            echo "error,please input a filename"
            exit 1
    
    elif [ ! -e $file ];then        #判断file的值是否存在
            echo "your input is not a file" 
            exit 2
    
    elif  [ -f "$file" ];then       #判断file的值是否为普通文件
            echo "$file is a regulare file"
    
    elif [ -d "$file" ];then        #判断file的值是否为目录文件
            echo "$file is a directory"
    
    else
            echo "$file ia an other file"
    fi
    

    测试脚本

    [root@catyuan ~]# chmod 755 if6.sh 
    [root@catyuan ~]# ./if6.sh 
    please input a filename:/
    / is a directory
    [root@catyuan ~]# ./if6.sh 
    please input a filename:sa
    your input is not a file
    [root@catyuan ~]# ./if6.sh 
    please input a filename:if5.sh    
    if5.sh is a regulare file
    [root@catyuan ~]# ./if6.sh 
    please input a filename:
    error,please input a filename
    
    展开全文
  • 【Linux】shell脚本实战-if单双分支条件语句详解

    千次阅读 热门讨论 2020-08-05 22:05:31
    文章目录if单分支1. 单分支语法分析2. 单分支语法规范3. if单分支脚本举例a. 检查是否为超级用户b. 找一个金钱大于1000000的结婚c. 判断文件是否为普通文件d....if语句流程图: 1. 单分支语法分析 第一种语法: if

    if单分支

    在所有的编程语言里面,if条件语句几乎是最简单的语句格式,且用途最广。

    当if后面的<条件表达式>成立(真)的时候,就会执行then后面的指令或语句,否则,就会忽略then后面的指令或语句,转而执行fi下面的程序。

    if语句流程图:
    在这里插入图片描述

    1. 单分支语法分析
    第一种语法:
    
    if <条件表达式>
    then
        指令
    fi
    
    第二种语法:
    
    if <条件表达式>;then
        指令
    fi
    
    

    上文中的“<条件表达式>”位置部分,可以使用test、[]、[[]]、(())等条件表达式

    2. 单分支语法规范

    if语句语法规范**

    • if与[之间要有空格
    • [ ]与判断条件之间也必须有空格
    • ]与;之间不能有空格
    • 以fi结尾,表示if语句的结束
    if双分支语法分析
    语法:
    if <条件表达式>
      then
        指令
      else
        指令
    fi
    
    例如:
    if [ 你有钱 ]
      then
         我就嫁给你
      else
         我考虑下
    fi
    
    3. if单分支和双分支脚本举例
    a. 检查是否为超级用户(双分支)
    [root@ecs-c13b ~]# cat iftest01.sh 
    #!/bin/bash
    if [ $UID -ne 0 ];then
      echo not  root user ,please run as root.
    else
      echo Root user
    
    fi
    
    

    返回结果:

    [root@ecs-c13b ~]# bash iftest01.sh 
    Root user
    
    [root@ecs-c13b ~]# whoami
    root
    
    
    b. 找一个金钱大于1000000的结婚(单分支)
    #!/bin/bash
    read -p 'please input your money:' num
    if [ $num -ge 10000000 ]
    then
            echo 'let us get married!!'
    fi
    
    

    返回结果

    [root@ecs-c13b ~]# bash iftest02.sh 
    please input your money:10000000
    let us get married!!
    
    c. 判断文件是否为普通文件(双分支)
    #!/bin/bash
    read -p 'please input a file name, for example /root/test.txt:' filename
    if [ -f $filename ];then
            echo '这是一个普通文件'
    else
            echo '请重新输入一个文件'
    fi
    

    返回结果:

    [root@ecs-c13b ~]# bash iftest03.sh 
    please input a file name, for example /root/test.txt:iftest02.sh
    这是一个普通文件
    
    d. 判断一个文件是否存在(双分支)
    #!/bin/bash
    fpath=/etc/passwd
    if [ -e $fpath ];then
            echo File exits;
    else
            echo File not exits;
    fi
    ~    
    

    返回结果:

    [root@ecs-c13b ~]# bash iftest04.sh 
    File exits
    

    总结

    单分支语句和双分支语句是最简单的一种语句,涉及到一层的判断,但这种属于整个判断语句的基础,如果基础判断语句整不明白,后面学再多也是白学,建议大家多加练习。 其实难点在于条件测试中的各类运算, 比如-f -d -z 等等,还有大于小于整明白了,这块的内容就不算难。

    所以说上一节 的内容是重点,都是需要记忆的东西,能全记下来更好,如果不能全部记下,只记住重点就好。

    你对Linux的精通程度,决定了你的shell脚本能不能写好,与逻辑思维,编程思维,没有太大的关系。

    小伙伴们: 要下苦功夫了!

    展开全文
  • shell脚本:if多分支语句简单案例

    千次阅读 2020-02-26 14:12:44
    语法 if [ 条件判断1 ] ; then commands elif [ 条件判断2 ] ; then ...例1:用多分支 if 条件语句来判断用户输入的是一个文件还是一个目录。 脚本内容: #!/bin/bash #date:2020-2-26 #描述:判断文...

    if

    if多分支执行流程:首先对if后面的条件进行判断,若成立则执行then后面的命令序列,然后转到fi结束。若if条件不成立,则跳过,对elif后面的条件进行判断,若成立,则执行then后面的命令序列,然后转到fi结束,以此类推…若所有条件都不成立,则执行else后面的命令序列,然后转到fi结束,执行后续命令。

    语法


    if [ 条件判断1 ] ; then
    commands
    elif [ 条件判断2 ] ; then
    commands
    elif [ 条件判断3 ] ; then
    commands

    else
    commands
    fi


    简单案例

    例1:用多分支 if 条件语句来判断用户输入的是一个文件还是一个目录。
    脚本内容:

    #!/bin/bash
    #date:2020-2-26
    #描述:判断文件类型
    read -p "请输入一个文件:" file
    if [ -z $file ]
    then
    	echo	"错误!输入的文件为空."
    elif [ ! -e $file ]
    then
    	echo	"错误!输入的文件不存在."
    elif [ -f $file ]
    then
    	echo	"$file是一个普通文件"
    elif [ -d $file ]
    then
    	echo	"$file是一个目录"
    else
    	echo	"$file是其他类型文件"
    fi
    

    执行结果:

    [root@linus ~]# sh if_test1.sh 
    请输入一个文件:1.sh
    1.sh是一个普通文件
    [root@linus ~]# sh if_test1.sh 
    请输入一个文件:/var
    /var是一个目录
    [root@linus ~]# sh if_test1.sh 
    请输入一个文件:/backup
    错误!输入的文件不存在.
    [root@linus ~]# sh if_test1.sh 
    请输入一个文件:
    错误!输入的文件为空.
    您在 /var/spool/mail/root 中有新邮件
    

    例2:根据输入的考试分数的不同来区分优秀,合格,不合格。
    脚本内容:

    #!/bin/bash
    #date:2020-2-26
    #描述:考试分数判断
    read	-p	"请输入一个您的成绩(0-100):" num
    if [ $num -gt 100 ]
    then
    	echo	"您输入的数字超过范围,请重新输入"
    elif [ $num -ge 80 ]
    then
    	echo	"您的分数为$num,优秀"
    elif [ $num -ge 60 ]
    then	
    	echo	"您的分数为$num,及格"
    else
    	echo	"您的分数为$num,不及格"
    fi
    

    执行结果:

    [root@linus ~]# sh if_test2.sh 
    请输入一个您的成绩(0-100)10
    您的分数为10,不及格
    [root@linus ~]# sh if_test2.sh 
    请输入一个您的成绩(0-100)60      
    您的分数为60,及格
    [root@linus ~]# sh if_test2.sh 
    请输入一个您的成绩(0-100)100
    您的分数为100,优秀
    [root@linus ~]# sh if_test2.sh 
    请输入一个您的成绩(0-100)1000
    您输入的数字超过范围,请重新输入
    
    展开全文
  • 分支 if 语句

    千次阅读 2016-03-24 18:00:50
    说明: A one-way if statement executes an action if and only if the condition is true. 语法格式: if (boolean-expression) { statement(s); } 对应程序流程图
  • 程序执行 的流程是:先计算conditon表达式的值,如果其值为true,则执行statements语句,否则跳过if结构直接执行if结构后的语句。 下面,我们来看一个案例:键盘输入一个整数,检查该数是否能被5和6整除,是否能被5...
  • if类型的分支语句

    2021-08-08 21:14:18
    if分支语句 做任何事情都需要遵循一定的规则,例如:一个公司的...单分支if语句将原本的顺序结构,当某个条件成立时执行一个额外语句模块。 单分支语句采用if…的格式编写: if(表达式) {语句块一} /...
  • if…else if…else语句用于对个条件进行判断,从而进行多种不同的处理。 if…else 语句的具体语法格式如下: if (判断条件1) { 执行语句1 } else if (判断条件2) { 执行语句2 } ............... ..................
  • 分支语句 工作生活无处不在的判断...每个if语句的核心都是判断条件的编写 判断条件必须是返回True(成立)或者False(不成立)的表达式 我们通常称返回布尔类型的表达式为“布尔表达式” 等值判断: 判断条件中...
  • 执行流程图: 举例: //使用if语句实现百分制向等级制的转换, #include #include int main() { int x; printf("请输入百分制成绩:\n"); scanf("%d",&x); printf("转换为等级成绩: \n"); if(x||x>100) ...
  • 分支结构和流程图

    千次阅读 2019-03-17 08:57:28
    1.if分支 2.swith 3.流程图
  • if 语句满足某种条件,就进行相应的处理。...流程图如下: 接下来用if 语句来判断两个数的大小 #include<stdio.h> int main() { int x=40; int y=30; int max=y; if(x>y) { max=x; prin
  • 选择结构:选择结构是根据条件判断的结果来选择执行不同的代码。...注意:if语句由条件表达式和紧随其后的语句组成。如果表达式后方有个语句,必须要用花括号把所有语句包括起来。即: if(表达式)
  • if关键字可以用来编写分支if语句要求为每种可能性编写对应的处理语句。if语句中需要为每组语句编写一个对应的逻辑表达式,如果某个逻辑表达式的结果为真就执行它后面所对应的那组语句。 只有不会同时出现多种...
  • 流程控制语句(应用) 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执 行流程。而且,很时候要通过控制语句的执行顺序来实现...3、分支结构之if语句 3.1、
  • 前面我们也编写过程序,只不过我们的程序都是执行完第一条语句后便依次执行第二条、第三条、第四条……一直到最后,程序从头到尾所有的语句都将按部就班的被执行,没有漏掉任何一条语句,这种结构我们称之为顺序结构...
  • 流程图基本元素共有7种,其中,连接点将流程图连接在一起,常用于将较大的流程图分隔为若干部分。2 表达式2.1 定义数据和算术、关系、逻辑运算符的这一组合逻辑序列为表达式,它又可以作为下一步算术、逻辑运算...
  • C语言入门(10)——if分支语句

    千次阅读 2014-06-27 08:05:38
    除了从前到后顺序执行之外,有时候我们需要检查一个条件,然后根据检查的结果执行不同的后续代码,在C语言中可以用分支语句实现,比如: if (x != 0) { printf("x不等于0!\n");} 其中x != 0表示“x不等于0”这个...
  • if…else语句 if…else 语句是指如果...if…else 语句流程图: 下面通过一个例子来更好的了解if…else 语句,三个数比较大小,求出最小值。 代码: #include<stdio.h> int main() { int x,y,z; int max; p
  • if分支、双分支多分支

    千次阅读 2018-01-23 11:22:52
    if的单分支简单条件例子1 、、、 package zhsq.com.text; import java.util.Scanner; public class Ifwork { /** *1.如果张浩的java成绩大于98分,张浩就能获得一个MP4作为奖励 *利用if分支 */ public ...
  • )2020.3.5程序导引:分时问候机器人程序流程图定义符号的意义if结构 前言(转载请说明作者!)2020.3.5 在之前学过的Java SE语言中,程序是按照从上到下的顺序来执行的,即顺序结构程序,顺序结构程序也是程序设计...
  • 流程控制是用来控制程序中各个语句的执行顺序。
  • 2.2 分支结构-if语句

    2016-06-11 10:23:47
    if语句是实现分支结构的常用分支语句之一,另外还有条件运算符、switch语句等。 if语句的功能是:根据给定条件,选择程序执行方向。 if语句的基本格式 “if语句”又称条件语句,其基本格式为:  if(表达式)...
  • Python 基础 分支与循环 ;目 录;程序设计基本结构;...if语句格式;说明比较运算符;说明逻辑运算符;二分支决策;二分支决策示例;多分支决策;多分支决策;PM2.5指数分级例子版本升级;PM2.5指数分级例子采用小于
  • if分支结构

    2020-04-16 20:38:05
    java中if分支结构 1.代码运行过程中常见的结构 1.顺序结构 代码从上到下,从左至右执行,最基本原则 2.分支结构 代码满足不同条件,执行不同的结果 3.循环结构 代码中存在需要次执行的情况,会使用到循环结构 ...
  • Python语言基础分支语句_循环语句PPT62页;目 录;程序设计基本结构;...if语句格式;说明比较运算符;说明逻辑运算符;二分支决策;二分支决策示例;多分支决策;多分支决策;PM2.5指数分级例子版本升级;PM2.5指
  • if语句的嵌套

    千次阅读 2019-10-02 17:10:31
    if语句来构成多重分支结构 流程图如下: 转化为语句组形式为: 实例求解: 题目: 任务和代码: /* *Copyright (c)2019,CSDN学院 *All rights reserved. *文件名称:main.c *作 者:Aurora *完成时间:2019年10月2...
  • if语句是js里面条件语句的一种,它的结果可以用下面的伪代码来表示: if(表达式){ //todosomethinghere... }elseif(表达式){ //todosomethinghere... }else{ //todosomethinghere... } 其中,else if 与else都...
  • 使用if语句对四个整数排序及三目运算符对三个整数的排序 package day02; import java.util.Scanner; //2019/03/09 9:35 public class TestSort { public static void main(String[] args){ // show1(); show2()...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,310
精华内容 9,724
关键字:

多分支if语句流程图