精华内容
下载资源
问答
  • 条件不成立时,执行的语句 fi 2.练习3:判断输入是否是一个目录 [root@catyuan ~]# vim if3.sh #!/bin/bash read -t 30 -p "Please input dir:" dir #使用read命令创建一个键盘录入,等待30s,变量为dir if [ -d...

    1.格式

    if [ 条件判断式 ];then
    	条件成立时,执行的程序
    	else
    	条件不成立时,执行的语句
    fi
    

    2.练习3:判断输入的是否是一个目录

    [root@catyuan ~]# vim if3.sh
    #!/bin/bash
    read -t 30 -p "Please input dir:" dir	#使用read命令创建一个键盘录入,等待30s,变量为dir
    if [ -d "$dir" ];then		#判断输入的内容是否为目录
                    echo "it is dir"		#是目录的话输出这句话
            else
                    echo "it is not dir"	#不是目录的话输出这句话
    fi
    [root@catyuan ~]# chmod 755 if3.sh 
    [root@catyuan ~]# ./if3.sh 
    Please input dir:/
    it is dir
    [root@catyuan ~]# ./if3.sh 
    Please input dir:d
    it is not dir
    

    3.练习4:判断Apache服务是否启动

    思路:
    [root@catyuan ~]# ps aux | grep httpd
    root      12603  0.0  0.0 112660   968 pts/1    R+   08:51   0:00 grep --color=auto httpd
    [root@catyuan ~]# ps aux | grep httpd | grep -v grep
    [root@catyuan ~]# systemctl start httpd
    [root@catyuan ~]# ps aux | grep httpd | grep -v grep	#取反,去掉有grep的那行
    root      12622  0.4  0.2 226240  5116 ?        Ss   08:52   0:00 /usr/sbin/httpd -DFOREGROUND
    apache    12631  0.0  0.1 228324  3148 ?        S    08:53   0:00 /usr/sbin/httpd -DFOREGROUND
    apache    12632  0.0  0.1 228324  3148 ?        S    08:53   0:00 /usr/sbin/httpd -DFOREGROUND
    apache    12633  0.0  0.1 228324  3148 ?        S    08:53   0:00 /usr/sbin/httpd -DFOREGROUND
    apache    12634  0.0  0.1 228324  3148 ?        S    08:53   0:00 /usr/sbin/httpd -DFOREGROUND
    apache    12635  0.0  0.1 228324  3148 ?        S    08:53   0:00 /usr/sbin/httpd -DFOREGROUND
    
    编写脚本
    [root@catyuan ~]# systemctl stop httpd
    [root@catyuan ~]# vim if4.sh 
    #!/bin/bash
    test=$(ps aux | grep httpd | grep -v grep)      #截取httpd进程,并把结果赋予变量test
    if [ -n "$test" ];then  #如果test的值不为空,则执行then后的语句
                    echo  "$(date) httpd is ok" >> /tmp/autostart-acc.log	#将httpd is ok这句话及日期写入正确日志文件中 
                      echo "apache is ok"
            else
            	   echo "apache is not ok"
                   systemctl start httpd &> /dev/null	#Apache的标准启动命令,并且将这条命令的结果丢入黑洞文件/dev/null,不在屏幕显示
                   echo "$(date) restart httpd" >> /tmp/autostart-err.log	#将重启httpd这句话及日期写入错误文件中
                    
    fi
    [root@catyuan ~]# chmod 755 if4.sh 
    [root@catyuan ~]# ./if4.sh 
    apache is not ok
    [root@catyuan ~]# vi /tmp/sutostart-err.log	#之前关闭了Apache服务,所以写入错误日志文件并重启,此时的正确日志文件没有内容
    Tue Jul  2 01:09:34 CST 2019 restart httpd
    [root@catyuan ~]# ./if4.sh 
    apache is ok
    [root@catyuan ~]# vim  /tmp/autostart-acc.log
    Tue Jul  2 01:12:55 CST 2019 httpd is ok	#再次执行脚本,由于之前已经重启服务,所以写入正确日志文件
    
    注意:这个脚本的文件名不能出现包含有httpd,否则会出错。无论Apache服务是否正常,都会显示apache is ok。也可以通过检测端口来判断Apache服务
    
    展开全文
  • 判断(分支选择)结构if else语句1.if 单支情况if语句的格式:if语句(单支)的执行流程:首先判断布尔表达式的结果是false还是true如果是true就执行{}里面方法体的内容如果false就不执行{}里面的方法体内容,程序往后加载2...

    流程控制语句的内容

    顺序结构;判断(分支选择)结构;循环结构

    顺序结构

    程序是从上往下进行加载,按照代码的编写顺序进行执行.

    判断(分支选择)结构

    if else语句

    1.if 单支情况

    if语句的格式:860a6ee7b59cf98a2a91f67d2a054466.png

    if语句(单支)的执行流程:首先判断布尔表达式的结果是false还是true

    如果是true就执行{}里面方法体的内容

    如果false就不执行{}里面的方法体内容,程序往后加载

    2.if else 双支情况

    格式:1e1a02067d3834be9d1335b990a8dcf7.png

    if else 多支的执行流程:首先判断布尔类型表达式看它的结果是true还是false

    如果是true,就执行语句体内容1

    如果是false,就执行语句体内容2

    3.if … else if … else语句 多支情形

    格式:fae24cd8e285cf1e7e90cfaf87f843cc.png

    执行流程:首先判断布尔类型表达式1看其结果是true还是false

    如果是true,就执行方法体内容1

    如果是false,就继续判断布尔类型表达式2,看其结果是true还是false

    如果是true,就执行方法体内容2

    如果是false,就继续判断布尔类型表达式…,看其结果是true还是false

    如果以上所有的布尔类型表达式都为false,最后执行else{}里面的方法体内容n+1。

    4.if … if … else …else语句 嵌套情形

    格式:f348cfa4251e4dae5b20b79982f4d98d.png

    执行流程:首先判断布尔类型表达式1,看其结果是true还是false

    如果是true,就执行方法体内容1,在继续判断布尔类型表达式2,看其结果是true还是

    false,如果是true,就执行方法体内容2.

    如果是false,就执行方法体内容3。。。。

    如果是false,就执行方法体内容4,之后加载后面的程序。

    If语句和三目运算符的互换0ef5dfc63ef9a8fd43200df51ddecd28.png

    switch case语句

    格式:141484ab6beefa92e0f0d81dbd210c6b.png

    执行流程:首先计算出表达式中的值

    其次,依次和case后面的常量值做比较,一旦有对应的值,就会执行相应的语句体内容,

    在执行的过程中,遇到break就会结束switch case语句。最后,如果所有的case都和表达式的值不匹配,就会执行default中的语句体内容,然后switce case语句结束。72181a725f9f0e6f358639c670bdbd71.png注意:在switch语句中,表达式的数据类型,可以是byte/short/int/char/enum(枚举),JDK1.7之后可以接收字符串类型。

    case的穿透性

    在switch语句,如果case后面的break省略掉,将会出现穿透现象。不会判断后面的case情形值,直接加载后面的case中的方法体内容,直到遇到break结束。

    循环结构【重点】

    : 【三种基本循环】for、while、do-while

    循环结构组成部分:一般可以分成4部分初始化语句:在循环最初开始时,需要定义一个初始化的变量,而且只会定义一次。

    条件判断(结束条件):如果条件成立满足,进入循环,如果条件不满足,则退出循环

    循环体内容: 重复要做的事情内容,可能包含很多条语句(事情是有规律的)

    迭代语句(步进语句):每次循环结束之后需要执行步进语句(跌代语句),对初始化的变量做步进(迭代)。

    for循环语句结构

    格式:b046286af2d456b1df4a21a93ee4bb84.png

    执行流程:执行顺序: 1–>2–>3–>4–>2–>3–>4–>2—>3–>4…2不满足为止。

    1 负责循环变量的初始化

    2 负责判断是否满足循环条件,不满足退出循环

    3.负责执行具体的语句(逻辑功能)

    4.负责变量的迭代2ab60e384aa44f3e6964ee8161daf134.png

    while循环语句

    格式:0c747124be0477c0b07a15313b928b3d.png

    执行流程:执行顺序:1–>2–>3–>4–>2–>3–>4–>2–>3—>4—>…2不满足为止

    1 负责循环变量初始化

    2 负责判断是否满足循环条件,不满足则跳出循环

    3 负责执行具体语句,实现某个功能。

    4 迭代循环变量

    do-while循环语句

    格式:2bd71d4a54d783265a1456e6e1c0cfe6.png

    执行流程:执行顺序: 1–>3—>4—>2—>3—>4---->2---->3—>4—>…2不满足为止

    1负责定义循环变量,并且进行初始化

    2负责判断是否满足循环条件,不满足则跳出循环

    3负责执行具体语句,实现某个功能

    4迭代循环变量

    备注:无条件执行一次循环体内容,即使判断条件是不满足也依然循环一次,这样的循环是有风险的,不建议使用。

    for和while的区别控制语句中所涉及到的循环变量,当for循环结束后,定义的循环变量不能再被访问到,而while循环结束后依然可以被访问到。如果不继续使用循环变量,建议使用for循环,因为for循环结束后,循环变量就会从内存中消失,能够提高内存的使用效率。

    在已知循环次数的情况下,建议使用for循环,当循环次数不确定时使用while循环。

    跳出语句

    break,continue两个语句

    break

    使用情形:终止switch语句或者循环语句

      备注:离开了使用场景对于break来说没有意义。5d6acc1a2c52d80572ba447c31e8d3a0.png

    continue

    使用情形:结束本次循环,继续下一次循环f4118d170de158e8ba6f7b9e373cc979.png

    执行流程执行流程:1—>2—>3—>5—>6—>7—>8—>6—>7—>8---->…6不满足为止(跳出循环)

    ---->4—>2---->3---->5—>6---->7---->8---->6---->7---->8---->…6不满足为止(跳出循环)

    ---->…2不满足为止(结束整个循环),加载外层for循环后面的语句。

    外循环一次,内循环多次。b1eff838bdfc382d74274a0f2c0382f6.png

    展开全文
  • 该结构的执行流程是先计算condition的值,若为true,则执行statements1语句,否则执行statements2语句。 案例: 如果我们要开发一个随机加法案例(本文以一位数为例),我们可以这样设计: 程序开始运行随机生成2个

    大家好!我是小崇。希望大家不吝赐教,我们互相学习,共同进步!

    if-else语句是最常用的选择结构,它根据条件是真是假,决定执行的路径。if-else结构的一般格式是:

    if(conditon){
    	statements1;
    }else{
    	statements2;
    }
    

    该结构的执行流程是先计算condition的值,若为true,则执行statements1语句,否则执行statements2语句。

    案例:

    如果我们要开发一个随机加法案例(本文以一位数为例),我们可以这样设计:
    程序开始运行随机生成2个一位数,显示出题目再输入计算结果,最后程序判断输入的结果是否正确。
    其中,我们需要使用到一个随机生成double型值的方法:Math.random()。Math.random()可以随机生成0.0-1.0(不包括1.0)的double型值,这里我们为了生成一位数,要使用以下的表达式:

    int number = (int)(Math.random()*10);
    

    随机加法案例最终效果图:
    在这里插入图片描述
    Java代码:

    import java.util.Scanner;
    public class AdditionQuiz {
    	public static void main(String[] args) {
    	//随机生成2个一位数
    		int number1 = (int) (Math.random()*10);
    		int number2 = (int) (Math.random()*10);
    		Scanner input = new Scanner(System.in);
    		System.out.print(number1+"+"+number2+"=");
    		int answer = input.nextInt();
    		if(answer == (number1 + number2)) {
    			System.out.println("恭喜您,您答对了!");
    		}else {
    			System.out.println("很遗憾,打错了!正确答案是\n");
    			System.out.println(number1 + "+" +number2 + "="+(number1 + number2));
    		}
    	}
    }
    

    小结:

    1、当if或者else部分只有一条语句时,大括号可以省略,但是建议使用大括号。因为省略大括号虽然更加整洁,但是也容易出现错误。

    2、从键盘读取数据可以调用Scanner类里的nextInt()或nextDouble()方法。
    首先,创建Scanner类的一个实例,然后调用nextDouble()方法进行读取double型数据或者调用nextInt()方法进行读取int型数据。
    比如:

    Scanner input = new Scanner(System.in);//创建Scanner实例input
    double r = input.nextDouble();//对变量r进行初始化,读取double型数据
    
    展开全文
  • Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。...单()分支流程控制Python 编程中用if 语句控制程序的执行,基本形式为:if判断条件:执行语句……else:执...

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。.

    1.图解流程控制

    可以通过下图来简单了解条件语句的执行过程:

    e9962ef424c442e433000ac3b8d775ed.png

    Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

    2.常用的流程控制语句

    2.1.单(双)分支流程控制

    Python 编程中用if 语句控制程序的执行,基本形式为:

    if判断条件:

    执行语句……else:

    执行语句……

    其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

    else后的为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

    #!/usr/bin/python#-*- coding: UTF-8 -*-

    #例1:if 基本用法flag=False

    name= input("name:")

    if name == 'python': #判断输入的内容是否为'python'

    flag = True #条件成立时设置标志为真

    print 'welcome' #并输出欢迎信息

    else:print name #条件不成立时输出变量名称

    if 语句的判断条件可以用>(大于)、=(大于等于)、<=(小于等于)来表示其关系。

    2.2.多分支流程控制

    当判断条件为多个值时,可以使用以下形式:

    if判断条件1:

    执行语句1……elif判断条件2:

    执行语句2……elif判断条件3:

    执行语句3……else:

    执行语句4……

    实例如下:

    #!/usr/bin/python#-*- coding: UTF-8 -*-#例2:elif用法

    num= input("num:")if num == 3: #判断num的值

    print 'boss'

    elif num == 2:print 'user'

    elif num == 1:print 'worker'

    elif num < 0: #值小于零时输出

    print 'error'

    else:print 'roadman' #条件均不成立时输出

    1)Python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现

    2)如果需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;

    使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

    实例如下:

    #!/usr/bin/python#-*- coding: UTF-8 -*-

    #例3:if语句多个条件

    num= 9

    if num >= 0 and num <= 10: #判断值是否在0~10之间

    print 'hello'

    #输出结果: hello

    num= 10

    if num < 0 or num > 10: #判断值是否在小于0或大于10

    print 'hello'

    else:print 'undefine'

    #输出结果: undefine

    num= 8

    #判断值是否在0~5或者10~15之间

    if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):print 'hello'

    else:print 'undefine'

    #输出结果: undefine

    3)当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,

    此外 and 和 or 的优先级低于>(大于)、

    4)if语句可以进行多级嵌套,注意缩进关系

    2.3.单行语句组进行流程控制:

    也可以在同一行的位置上使用if条件判断语句:

    #!/usr/bin/python#-*- coding: UTF-8 -*-

    var = 100

    if ( var == 100 ) : print "变量 var 的值为100"

    print "Good bye!"

    3.流程控制语句的应用

    写个登陆程序:

    #!/usr/bin/env python

    name=input('请输入用户名字:')

    password=input('请输入密码:')if name == 'xiaoming' and password == '123':print('Welcome login: xiaoming')else:print('用户名或密码错误')

    ---------------- 完毕,呵呵呵呵 -----------------

    展开全文
  • if分支语句if 概述:在某些情况下,需要当某一条件满足时才执行相应代码,...}双分支双分支if语句可以通过三目运算来转换,但前提是双分支各语句中必须是一个表达式;if (布尔表达式) { //布尔表达式为true时需执...
  • 控制语句控制语句分为三类:顺序语句,选择语句和循环语句。1. if条件判断结构1.1if单分支结构语法结构: if(条件表达式){ 语句块 }if“条件表达式”返回...1.2 if双分支结构语法: if(条件表达式) { // ...
  • 对于 if-else 语句,它是 单条件双分支语句,即程序的执行流程是根据 一个条件来控制的;如下代码演示了存在多个 if - else 时的执行顺序:int test11 = 2;if (test11 > 1) { // if语句判断int test21 = 10;test...
  • python之流程控制语句:1、分支语句:单分支if判断条件:代码块双分支if判断条件:代码块else:代码块多分支if判断条件1:代码块1elif判断条件2:代码块2...elif判断条件n:代码块nelse:默认代码块2、循环语句:while循环...
  • python之流程控制语句:1、分支语句:单分支if判断条件:代码块双分支if判断条件:代码块else:代码块多分支if判断条件1:代码块1elif判断条件2:代码块2...elif判断条件n:代码块nelse:默认代码块2、循环语句:while循环...
  • 详解Python流程控制语句,表达式,分支,条件,代码,你是详解Python流程控制语句易采站长站,站长之家为您整理了详解Python流程控制语句的相关内容。流程控制流程:代码执行的过程控制:对代码执行过程的把控三大结构顺序...
  • 控制语句控制语句分为三类:顺序语句,选择语句和循环语句。1. if条件判断结构1.1if单分支结构语法结构: ...1.2 if双分支结构语法if“条件表达式”返回数据类型必须是boolean类型。当“条件表达式”为tru...
  • 目录 一、分支语句 1、if分支语句 2、switch分支语句 二、循环语句 ...•if 概述:在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码。...双分支if语句可以通过三目运算来...
  • 顺序结构是程序中最简单的流程控制,没有特定语法结构,按照代码先后顺序依次执行。 2.分支结构 单分支 if语句 格式: if (关系表达式){ 语句体; } if-else双分支结构 if (){ } else { } if-else多分支结构 格式...
  • 多条件的if语句 1.if语句: 单分支 if (条件表达式) {执行语句} //如果条件表达式为真,则执行花括号中语句 2.if...else语句:双分支 if(条件表达式) { // 如果布尔表达式为真将执行的语句 } else...
  • if控制语句

    2020-11-25 11:14:19
    控制语句 分支语句控制语句 python的分支控制语句根据条件表达式的判断结果为真(包括非零,非空)还是为假(包括零,空),选择运行程序的其中一个...单分支if语句的执行流程图如下图所示: 双分支if/else语句 双分支
  • 对于 if-else 语句,它是 单条件双分支语句,即程序的执行流程是根据 一个条件来控制的; 如下代码演示了存在多个 if - else 时的执行顺序: int test11 = 2; if (test11 > 1) { // if语句判断 int test...
  • 1. 单分支if语句 1.1 语法格式 if 条件 then commands fi 1.2 例子 #!/bin/bash if ls /shell ... echo "there is a dir named shell" ...执行结果 ...1.3 流程图 ...注:根据我们命令退出码来进行...2. 双分支if语句 2.1...
  • 选择结构:选择结构是根据条件判断结果来选择执行不同代码。...注意:if语句由条件表达式和紧随其后语句组成。如果表达式后方有多个语句,必须要用花括号把所有语句包括起来。即: if(表达式)
  • 1、过程式编程语句的执行流程:顺序执行:从上至下一次执行选择执行:逻辑关系:&&、||、!if语句单分支if语句双分支if语句多分支if语句case语句循环执行:2、if语句格式:2.1、单分支if语句语法:if CO...
  • 2.双分支的IF语句结构if [ 条件判断式1 ]then当判断条件1成立时执行程序else当判断条件1不成立时执行程序fi 3.多分支的IF语句结构if [ 条件判断式1 ]then当判断条件成立时执行程序elif [ 条件判断式2 ]t
  • 04_流程控制--if语句

    2019-03-25 15:37:38
    双分支: 多分支: 2)分支实现之case 注意: 1,case 能实现 if elif 都能实现 2,if elif 能实现 case 不一定能实现 3,if elif 语法也更简单,更牛逼,case 是当初因为服务器不行才用,现在服务器都变...
  • 2.当执行if语句内代码,程序继续往下执行。 单分支:  if  条件成立,执行满足条件代码 如下: if a>50: print('too old') #条件成立执行下面语句 双分支:  if  条件成立,执行...
  • python if 流程控制语句

    2019-10-09 01:45:07
    流程: 代码执行的过程 流程控制:对代码执行过程一种管控就是流程控制 1.顺序结构:默认代码从上到下执行 2.分支结构:4种 3.循环结构:for ... in ... while循环 分支结构: 1.单项分支 2.分支 3.多项分支 4...
  • 判断(分支选择)结构if else语句1.if 单支情况if语句的格式:if语句(单支)的执行流程:首先判断布尔表达式的结果是false还是true如果是true就执行{}里面方法体的内容如果false就不执行{}里面的方法体内容,程序往后加载2...
  • 文章目录流程控制语句结构一、 顺序结构1、 输出语句2、 输入语句3、code二、复合语句三、 分支结构1、 条件判断1、单分支结构2、双分支结构3、多分支结构4、嵌套2、 选择结构3、code四、 循环结构1、 for循环2、 ...
  • 流程控制流程:计算机执行代码...选择结构(分支结构)分类:单分支结构、双分支结构、多分支结构、巢状结构(嵌套结构)单分支结构:格式:if 判断条件:条件成立时,要执行的操作举例:注意:1、if条件表达式结果为...
  • 在程序流程控制中。...单分支if语句的格式:if(条件表达式){语句块}单分支if语句流程图:双分支if语句格式:if(条件表达式){语句块1}else{语句块2}如果条件表达式为真,则执行语句块1;否则,执行语句块2双分支...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 505
精华内容 202
关键字:

双分支if语句的执行流程