• 专题(十五)数值运算及布尔运算


    一、整数运算

    1、知识点

    运算符 说明
    let 表示整数值自增、自减
    (())

    用于整数之间计算的常用的运算符,双括号之间可以 如下计算:

    +、-、:代表着加号 和减号 或者,负号

    *、/、%:代表着乘号,除号,和取模。

    **   : 幂运算

    ++、-- :表示着增加或者减少,它可以放在前置,也可以放在变量的结尾

    !、||、&&、(取反)(或) (and)

    <、<=、>、>=  :比较符号,小于、小于等于、大于、大于等于

    ==、!=、= :相等,不相等, =表示相等于

    <<     >>  向左移动 向右移动

    2、示例

    1)  整数自增/自减

    #!/bin/bash
    
    count=1
    let count++
    echo $count
    let count--
    echo $count
    

     2) 使用 (()) 进行整数值计算

    • ((var=计算))  表示把计算后的结果赋值给 var 这个变量
    • $((var=计算))  表示把计算后的结果赋值给 var 这个变量,同时将结果返回出来,使用 $ 时左侧要么是 echo ,要么是  var2=  表示将结果再次赋值给了 var2 变量
    #!/bin/bash
    a=1
    b=2
    if (( a > b ));then
      echo "a>b"
    else
      echo "a<b"
    fi
    
    $((a=a+1))     #不合法,$(()) 返回的结果必须赋值给另外一个变量或者通过 echo 显示到界面上,但是这里((a=a+1))还是正常计算的
    echo $a
    
    ((a=a+1))    #a加1
    echo $a
    
    a=$((a=a+1))  #a加1 ,同时将结果返回有赋值给了a
    echo $a
    echo $((a=a+1)) # a加1,并将结果返回输出到控制台上

    •  条件成立返回0,不成立返回1
    #!/bin/bash
    a=1
    ((a=1+2**3-4%3))
    echo $a
    
    if ((8>7&&5==5));then
     echo "条件成立"
    else
     echo "条件不成立"
    fi
    
    echo $((1>2))    #控制台显示的 0
    echo $((1<2))    # 在控制台显示的 1
    

     二、布尔运算

    1、知识点

       1)shell 中的变量可以直接 设置 boolean 值 ,true 或 false

       2)bollean 变量的 true / false 条件判断,需要使用 == 或 != 进行判断

    2、示例

    #!/bin/bash
    
    boolean_test()
    {
      boolean_var=$1
      if [ -z $boolean_var ] || [[ $boolean_var == false ]];then
          echo "param does not exit or value is false"
      else
          echo "param value is true"
      fi
    }
    
    boolean_test true
    boolean_test false
    boolean_test
    

     其中:

          -z 可以判断变量有没有存在,或变量的值存不存在,根据以上示例,若:在函数 boolean_test 中没有定义 boolean_var 这个变量,直接 -z $boolean_var 也是可以判断的。

    参考资料:

    https://www.jb51.net/article/134292.htm

      

      

     

  • 相关阅读:
    FreeRTOS 任务栈大小确定及其溢出检测
    FreeRTOS任务优先级说明
    leetcode 263 Ugly Number
    L2,breakfast or lunch
    Redis(2)用jedis实现在java中使用redis
    L1,a private conversation
    Redis(1)在windows环境下的安装和测试
    springMVC的拦截器工作流程
    求交集,差集,并集,善用java的set
    java下发电子邮件demo
  • 原文地址:https://www.cnblogs.com/sandyflower/p/15399167.html
Copyright © 2020-2023  润新知