编程原理

Posted yxq-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程原理相关的知识,希望对你有一定的参考价值。

编程原理

1、编程介绍

  [计算机只能识别二进制指令]

  程序 = 指令 + 数据

  根据服务的重心不同,我们分为面向过程编程,面向对象编程;

    面向过程  -- 侧重指令

    面向对象  -- 侧重数据

  又根据程序翻译成二进制指令的方式不同,我们分为低级语言和高级语言;

    低级语言  -- 汇编语言

    高级语言  -- 由于编译方式不同分为:

      解释型语言 -- 编译器 -- C、C++、java

      解释型语言 -- 解释器 -- shell、perl、python

    编程语言的执行方式:

      1)顺序执行

      2)循环执行 -- for、while、until

      3)选择执行 -- 分支 if、case

2、shell脚本语言介绍

  2、1shell脚本中的条件判断

    整数条件判断

    -eq  // 等于

    -nq  // 不等于

    -gt  // 大于

    -lt  // 小于

    -ge  // 大于等于

    -le  // 小于等于

  例:添加用户

 1 #!/bin/bash
 2 #添加用户
 3 if id $* &> /dev/null;then
 4     echo "这个用户已存在"
 5 else 
 6     for i in $*;do
 7         useradd $i
 8         echo "123456" | passwd --stdin "$i" &> /dev/null
 9         echo "$i这个用户添加成功"
10     done
11     exit 0   
12 fi

  2、2 优缺点

    优点:调用os(操作系统)的命令行,来实现所有功能;

    缺点:没有库调用(与python区别)

  2、3 shell脚本

    shell脚本包括:

      1)命令

      2)变量(全局变量、局部变量、本地变量、传参)

      3)逻辑关系

    关于shell脚本

      #!/bin/bash  --定义脚本解释器(必须写)

      #!/usr/bin/python

      /etc/shells --查看当前系统支持的shell程序

      echo $SHELL  --c查看当前会话的shell程序

      /etc/passwd  --制定了用户默认支持的shell程序(/sbin/nologin)

    shell的执行

      bash命令来执行脚本

        -n  //查看shell脚本的逻辑错误(注意:单词错误不算)

        -x  //逐行显示执行的脚本程序(方便排错)

3、变量

  1)环境变量

  2)局部变量

    declare  -- 定义变量类型

  3)本地变量

    local  -- 在函数中使用

  4)变量类型

    数值型: 

        整型 int

        浮点型 float

        布尔型 blood

    字符串:

        普通字符及字符串

        数组

  5)编程语言的分类:
              强类型语言  --  数值必须被定义,才能进行处理或运算
              弱类型语言  --  编程语言可以自动识别变量类型
              【*多态* 一个数据具有多个属性,而最后使用的属性取决于和它进行运算的数据】
  6)传参
          $?  --  上一条命令的执行状态 0 正确 1-255 错误
          $1  $2 ... $10  --  命令后面传入脚本的数据,以空格为分隔符
          $# --  统计传参数量         $$#  ?
          $* --  表示所有的传参,所有的传参以字符串形式进行输出
          $@ -- 表示所有传参,将所有的传参以列表的形式进行输出
          【工作中要对所有的传参进行操作的时候,就要考虑$*和$@】

    7)定义变量格式:
          NAME=VALUE  (一个等号叫赋值,两个等号叫判断)
          我们通过命令declare 定义变量类型
          declare -i 整数   int()  str()
          declare -a 数组
    8)变量命令:
          下划线的方式指定变量名称
          驼峰命名方式

4、test文件测试,条件判断

在脚本中,我们需要进行 语句分支; 说白了,就要做判断;判断就是使用test命令来实现;
    4、1使用格式:
        1)test [option] file
        2)[ 条件语句 ]
    4、2常见的test选项:
        比较选项:
            -eq 等于
            -ne 不等于
            -gt 大于
            -ge 大于等于
            -lt 小于
            -le 小于等于
        判断选项:
            -f 判断是否为普通文件
            -d 判断是否为目录文件
            -L  判断是否为连接文件
            -r -w -x  判断文件是否具有 读 写 执行 权限
        关联选项:
            -o  或
            -a  与
            !    非
        字符串判断:
            =  判断两边的字符串是否相同
            !=  不等于
            -z  判断字符串是否存在
            -n  和 -z 相反,存在为假,不存在为真

5、逻辑运算

  与    &&   : 两边的命令,都为真,结果才是真

  或    ||       : 两边的命令,一边为真,就是真,同时为假,才是假

  非    !=

  这个逻辑运算符,前后对接的都是单独存在的命令;
    例:
      [ $? -eq 0 ] && exit 0 || exit 1

6、算术运算

  *let 1+1
          let a=1+1
          echo $a
      expr 1*1
          expr 1 * 10
      *$[$1+10]
          a=$[2+3]
          echo $a
      $(($1/$2))
          a=$((3/2))
          echo $a
      + - * / % **

以上是关于编程原理的主要内容,如果未能解决你的问题,请参考以下文章

Java并发编程:Synchronized及其实现原理

Java并发编程:Synchronized及其实现原理

Java 并发编程:volatile的使用及其原理

Java并发编程:Synchronized及其实现原理

浅析 Linux 中的时间编程和实现原理一—— Linux 应用层的时间编程

Linux--shell编程原理--03