Perl語言學(xué)習(xí)(三)Perl數(shù)據(jù)運(yùn)算

三、Perl數(shù)據(jù)運(yùn)算

1、運(yùn)算符

  • 算術(shù)運(yùn)算符
    • 用來進(jìn)行常用的數(shù)據(jù)計(jì)算
    • 四則運(yùn)算符
      • 包括加、減、乘、除四種(+、-、*、/)
      • 特殊的四則運(yùn)算:使用字符串進(jìn)行四則運(yùn)算(字符串和整數(shù)進(jìn)行相加)
    • 乘冪運(yùn)算符
      • 對(duì)數(shù)據(jù)做冪指數(shù)操作,操作符為**
      • 使用方法:$data = 5; $data2 = 3; $data3 = $data1**$data2; $data4 = $data3**3.5;
      • 涉及到開方運(yùn)算時(shí),基數(shù)不能為負(fù)
      • 乘冪結(jié)果不能超過計(jì)算機(jī)的顯示范圍
    • 取余運(yùn)算符
      • 對(duì)數(shù)據(jù)進(jìn)行取余操作,用%表示
      • 使用方法:($data1,$data2) = (18,4); $data3 = $data1 % $data2;
      • 取余的操作數(shù)不是整數(shù)時(shí),對(duì)操作數(shù)進(jìn)行取整后運(yùn)算:$data = 18 % 2.6; ##相當(dāng)于$data = 18 % 2,返回值為0
      • 運(yùn)算符的右側(cè)不能為0
    • 單目負(fù)運(yùn)算符
      • 屬于單目操作符,表示數(shù)字的正負(fù)屬性
      • 使用方法:$data1 = -5; $data2 = -$data1;
      • 自減操作符:兩個(gè)減號(hào)--
    • 運(yùn)算符的省略形式
      • 對(duì)變量自身進(jìn)行算術(shù)運(yùn)算時(shí),可使用省略形式


        image.png
  • 比較運(yùn)算符
    • 用于數(shù)據(jù)之間的大小、相等性比較
    • 數(shù)字比較運(yùn)算符
      • 數(shù)據(jù)對(duì)象是數(shù)字值或者數(shù)字變量


        image.png
    • 字符串比較運(yùn)算符
      • 數(shù)據(jù)對(duì)象是字符串或者字符串變量


        image.png
      • 字符串的大小比較
        • 在Perl中,基于字符串的ASCII碼對(duì)字符串進(jìn)行大小比較


          image.png
  • 邏輯運(yùn)算符
    • 用于邏輯判斷,結(jié)果為"真"或"假",屬于布爾類型
    • 邏輯或:$a || $b, 或者$a or $b
    • 邏輯與:$a && $b, 或者$a and $b
    • 邏輯非:!$a 或者 not $a
    • 邏輯異或:$a xor $b
    • 邏輯運(yùn)算符一般不單獨(dú)使用,會(huì)和if,while等控制結(jié)構(gòu)一起使用,返回值是0或1
  • 位運(yùn)算符
    • 以“位“為單位,對(duì)數(shù)據(jù)進(jìn)行修改等操作,多用于二進(jìn)制運(yùn)算
    • 位與:&
    • 位或:|
    • 位非:~
    • 位異或:^
    • 左移:$x << 1
    • 右移:$x >> 2
  • 賦值運(yùn)算符
    • 對(duì)數(shù)據(jù)進(jìn)行賦值操作
    • 以等號(hào)“=”作為賦值標(biāo)識(shí),一般的賦值方式是數(shù)值拷貝
    • 包括一些運(yùn)算和等號(hào)一起的省略寫法,如+=,-=,=,/=,%=,*=
    • 另外還有.=, x=等字符串的賦值操作省略寫法
    • 等號(hào)可以在一個(gè)賦值語句中多次出現(xiàn): $data1 = $data2 = $data3 = 5;
    • 等號(hào)也可以作為子表達(dá)式:($a = $b) += 3;等價(jià)于$a = $b; $a = $a + 3;
  • 其他運(yùn)算符
    • 自增自減運(yùn)算符用于變量對(duì)自己本身的操作
    • ++ 自增運(yùn)算符 值加1
    • -- 自減運(yùn)算符 值減1
    • 用法為:$data ++, ++ $data以及$data --, -- $data
    • 運(yùn)算符放在左邊,變量本身及其返回值立馬發(fā)生變化
    • 運(yùn)算符放在右邊,返回值為原值,但變量本身要下一次才能發(fā)生變化
    • 不能在變量兩邊都使用自增自減運(yùn)算符
    • 不能在變量自增或自減后在同一表達(dá)式中再次使用:$data2 = $data1 + ++$data1,這種表達(dá)式是錯(cuò)誤的
    • 在Perl中,自增運(yùn)算符可以用于字符串,當(dāng)結(jié)尾字符為"z","Z","9"時(shí)會(huì)進(jìn)位


      image.png
    • 字符串連接和重復(fù)運(yùn)算符
      • 連接運(yùn)算符:.
      • 重復(fù)運(yùn)算符:x
      • $string1 = "begin";
      • $string1 = $string." here" ##$string = "begin here"
      • $string1 = $string1 x 2; ##$string = "begin here begin here"
    • 逗號(hào)運(yùn)算符
      • 可以用來提高程序的可讀性,其前面的表達(dá)式先行運(yùn)算
      • $var1 += 1, $var2 = $var1;
      • $result = (++$var, $var + 5);
    • 條件運(yùn)算符
      • 形式為:條件?值1:值2
      • 當(dāng)條件為真是取值1,為假是取值2
      • $result = $var == 0 ? 14 : 7;
      • 在Perl5中,還可以在賦值式左邊使用條件操作符來選擇被賦值的變量
      • $convar = 43 ? $var1 = 14 : $var2 = 14;

2、運(yùn)算符的優(yōu)先級(jí)和結(jié)合性

  • 定義
    • 運(yùn)算符的優(yōu)先級(jí)指的是不同運(yùn)算的先后順序
    • 運(yùn)算符的結(jié)合性指的是運(yùn)算符的運(yùn)算方向
  • 優(yōu)先級(jí)和結(jié)合性
    • Perl中的所有運(yùn)算符都有自己的優(yōu)先級(jí)和固有結(jié)合性
    • 優(yōu)先級(jí)的粗略規(guī)則是,單目操作符優(yōu)先級(jí)高于雙目操作符
    • 同等情況下,位運(yùn)算高于邏輯運(yùn)算高于賦值運(yùn)算


      image.png
    • 寫程序時(shí),應(yīng)多使用括號(hào)來進(jìn)行優(yōu)先級(jí)的自定義

參考來源:https://www.jikexueyuan.com/course/1279.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,569評(píng)論 0 13
  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請(qǐng)查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,537評(píng)論 1 19
  • 一、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚_t_閱讀 4,564評(píng)論 1 44
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,717評(píng)論 0 5
  • 準(zhǔn)備工作 基于master代碼,切出hotfix分支,修改bug,改完之后讓測(cè)試看下是否解決了問題。 目前grad...
    紫闞閱讀 426評(píng)論 0 0

友情鏈接更多精彩內(nèi)容