Perl語言入門--2--perl的運算符
一、算數運算符
**:是冪 結果不能超過數的範圍 當指數為小數時 底數不能為負數
%:取余數 兩邊的操作數為整數,如果不是則要截取,把所有的小數部分去掉
註意:當一個字符串參加運算,需要轉化為整數時,如果不能轉化為整數則值為零, ‘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、當字符串中有數字時,或非字母和數字的符號(比如#$@#$%^),自增也是先變為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的運算符