Perl語言入門--2--perl的運算子

來源:互聯網
上載者:User

標籤:問題   aaa   效果   用法   條件運算   字串   兩種   執行   問號   

一、算數運算子

**:是冪 結果不能超過數的範圍 當指數為小數時 底數不能為負數

%:取餘數  兩邊的運算元為整數,如果不是則要截取,把所有的小數部分去掉 

注意:當一個字串參加運算,需要轉化為整數時,如果不能轉化為整數則值為零, ‘2‘+1=3   ‘a‘+1=1

 

二、數字比較子

大於小於等於   :比較結果為真或非零 ,假或零

<=> : 比較運算   $a <=> $b

  當a大於b時:值為1

  當a小於b時:值為-1

  當a等於b時:值為0

用這個運算子的時候,自動把運算元轉化為整數,不能轉化為整數的則值為零

注意:因為浮點數不精確 不要把值相近的數拿來進行比較

 

三、字串比較

四、字串串連和重複

.  :點是串連符  $a=‘a‘.‘b‘ -->變為  ‘ab‘

  在print是可以直接寫print $a$b - ->效果和這個一樣  print $a.$b

x :  重複  (x前後有空格,為了和變數名分開) ‘a‘ x 5 - ->  ‘aaaaa‘

  如果重複次數小於1 則返回空串

 

四、邏輯運算子

&&(and)   ||(or)    !(not)   xor

這個邏輯運算子左右跟的是布爾類型的值   先算左邊的 在算右邊的

 

五、賦值運算子

$a +=1  - ->等同於$a =$a +1

可以連等 :$a=$b=3  - ->$a =3 $b=3

 

六、自增 自減

++var--    $var2=$var1 +++$var1   #這兩種用法是不行的

1、可以用做字串的自增:$a=‘az‘;   $a++ 就變為 $a=‘ba‘

2、不可以用做字串的自減:當$a--時 按數字運算,將字串先轉化為0再自減

3、當字串中有數字時,或非字母和數位符號(比如#[email protected]#$%^),自增也是先變為0再自增

  比如‘ab$c’   ‘we5a‘ 

4、預增: $b=++$a  #$a先自增在賦值            #   $a=1  $b =++$a;  $a=2 $b=2

   後增:$b=$a++  #$a先賦值再自增            #   $a=1  $b =$a++;  $a=2 $b=1

 

七、逗號

  就是一個串連的作用:  $a+=1 , $b=$a;     ==>  $a +=1 ; $b=$a;

  沒什麼卵用

 

八、條件運算子

三個運算元:先對條件運算式運算,為真時執行問號(?)後面的運算,為假時執行冒號(:) 後的運算。

$result = $var == 0 ? 14 : 7   #一般只用於簡單的條件 太複雜的就不如if語句看著直觀了

 

九、運算子的優先順序(precedence)

自增自減最高,單運算元高於多運算元(就是取值、賦值之類的高於加減),數字運算  >  比較運算(大於小於等於什麼的,但大於小於(<>)高於等於(==)和不等於(!=))

  >  位元運算  >  賦值運算(=)  >   邏輯運算

 

十、結合性(associativity)

結合性associativity:運算式中多個符號是同一優先順序時,哪個先算,哪個後算?是先算左邊的(左結合性),還是先算右邊的(右結合性)

  一般都是左結合性:先算左 再算右

  右結合性:除了(**)以外  、一般根本見不到 

      舉個栗子: $a =$b=1    #一起賦值

            $a=$b+=1    #先算b加一  再賦值給a

  當不知道優先順序時,加括弧,解決所有問題

Perl語言入門--2--perl的運算子

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.