美文网首页
【perl】perl基础语法之数据运算

【perl】perl基础语法之数据运算

作者: 虫虫工工队 | 来源:发表于2020-05-26 12:35 被阅读0次

    (一)、数据运算

    一、运算符

    1.算数运算符

    • 四则运算、乘幂/开方(**)、取余(%)、单目负操作(叠用单目负要带括号,否则为自减)
    $data1=$data1+$data2
    $data1=$data1+5
    $(-5)**2.5 ##error 涉及开方运算,基数不能为负
    
    • 字符串的四则运算:perl会对字符串从左往右判断,如果遇到的不是0-9,则后面的字符和字符串都抛弃
    • abc3就是0
      3abc就是3
      30abc2就是30
    • 简写方式


    2.比较运算符

    数字比较运算符

    • 大于小于等于不等于……都相似
    • 成立返回1,否则返回0
    • 特殊的是perl中有比较操作符:<=>,返回1,0,-1(前小于后)

    字符串比较运算符

    • ASCII码的比较
    • eq要求比较字符完全一样,包括空格大小写等

    3.逻辑运算符

    • 或 ||,or
    • 与&&,and
    • 非!,not
    • 异或:xor
      定义:A和B同时为真或假,则返回假,A和B真假值不等,则返回真

    4.位运算符

    • 以“位”为单位,对数据进行修改等操作,多用于二进制运算
    • 位或 ||
    • 位与&(不能用于负整数,perl会把他们转化成无符号数)
    • 位非~
    • 位异或:^
    • 左移:$x<<1
    • 右移:$x>>2
    • 位运算返回将得到一个数值,数值不一定是1,可能是别的值,而逻辑运算返回只有0和1,真和假

    5.赋值运算符

    • 简略写法
    • 等号可以在赋值语句多次出现,即连续赋值
    • 等号可以作为子表达式
    ($a=$b)+=3;
    #等价于
    $a=$b;$a=$a+3;#定义了一个新变量a,并对其值进行修改
    

    6.其他运算符

    • 自增自减运算符:++,--
    • 如果运算符放在变量名左边,变量本身及返回值立马改变
    • 如果运算符放在右边,则返回值为原值,但变量本身要下一次才能发生变化,例:
    $data1=30;
    $data2=$data1++;
    #则data1=31,data2=30
    
    • 字符串的自增运算说明


    • 连接运算符:.
    • 重复运算符:x
    • 逗号运算符,对逗号前面的表达式先运算,如:
    $val=26;
    $result=(++$val,$val+5);
    #$result=32
    
    • 条件运算符:如果条件成立,取值1,否则取值2
    • 形式:条件?值1:值2
    $result = $var==0?14:7;
    

    如果var值是0,那么result等于14,否则等于7

    二、运算符的优先级和结合性

    • 粗略规则:单目操作符优先级高于双目操作符
    • 同等情况下:位运算>逻辑运算>赋值运算





    • 难以记忆,实际使用时用括号确定优先级

    相关文章

      网友评论

          本文标题:【perl】perl基础语法之数据运算

          本文链接:https://www.haomeiwen.com/subject/agpmahtx.html