標籤:問題 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的運算子