三隘梨、Perl數(shù)據(jù)運算
1、運算符
- 算術運算符
- 用來進行常用的數(shù)據(jù)計算
- 四則運算符
- 包括加舷嗡、減轴猎、乘、除四種(+进萄、-捻脖、*、/)
- 特殊的四則運算:使用字符串進行四則運算(字符串和整數(shù)進行相加)
- 乘冪運算符
- 對數(shù)據(jù)做冪指數(shù)操作中鼠,操作符為**
- 使用方法:$data = 5; $data2 = 3; $data3 = $data1**$data2; $data4 = $data3**3.5;
- 涉及到開方運算時可婶,基數(shù)不能為負
- 乘冪結果不能超過計算機的顯示范圍
- 取余運算符
- 對數(shù)據(jù)進行取余操作,用%表示
- 使用方法:($data1,$data2) = (18,4); $data3 = $data1 % $data2;
- 取余的操作數(shù)不是整數(shù)時援雇,對操作數(shù)進行取整后運算:$data = 18 % 2.6; ##相當于$data = 18 % 2,返回值為0
- 運算符的右側不能為0
- 單目負運算符
- 屬于單目操作符矛渴,表示數(shù)字的正負屬性
- 使用方法:$data1 = -5; $data2 = -$data1;
- 自減操作符:兩個減號--
- 運算符的省略形式
-
對變量自身進行算術運算時,可使用省略形式
image.png
-
- 比較運算符
- 用于數(shù)據(jù)之間的大小惫搏、相等性比較
- 數(shù)字比較運算符
-
數(shù)據(jù)對象是數(shù)字值或者數(shù)字變量
image.png
-
- 字符串比較運算符
-
數(shù)據(jù)對象是字符串或者字符串變量
image.png - 字符串的大小比較
-
在Perl中具温,基于字符串的ASCII碼對字符串進行大小比較
image.png
-
-
- 邏輯運算符
- 用于邏輯判斷,結果為"真"或"假"筐赔,屬于布爾類型
- 邏輯或:$a || $b, 或者$a or $b
- 邏輯與:$a && $b, 或者$a and $b
- 邏輯非:!$a 或者 not $a
- 邏輯異或:$a xor $b
- 邏輯運算符一般不單獨使用铣猩,會和if,while等控制結構一起使用茴丰,返回值是0或1
- 位運算符
- 以“位“為單位达皿,對數(shù)據(jù)進行修改等操作,多用于二進制運算
- 位與:&
- 位或:|
- 位非:~
- 位異或:^
- 左移:$x << 1
- 右移:$x >> 2
- 賦值運算符
- 對數(shù)據(jù)進行賦值操作
- 以等號“=”作為賦值標識较沪,一般的賦值方式是數(shù)值拷貝
- 包括一些運算和等號一起的省略寫法鳞绕,如+=,-=尸曼,=们何,/=,%=控轿,*=
- 另外還有.=, x=等字符串的賦值操作省略寫法
- 等號可以在一個賦值語句中多次出現(xiàn): $data1 = $data2 = $data3 = 5;
- 等號也可以作為子表達式:($a = $b) += 3;等價于$a = $b; $a = $a + 3;
- 其他運算符
- 自增自減運算符用于變量對自己本身的操作
- ++ 自增運算符 值加1
- -- 自減運算符 值減1
- 用法為:$data ++, ++ $data以及$data --, -- $data
- 運算符放在左邊冤竹,變量本身及其返回值立馬發(fā)生變化
- 運算符放在右邊,返回值為原值茬射,但變量本身要下一次才能發(fā)生變化
- 不能在變量兩邊都使用自增自減運算符
- 不能在變量自增或自減后在同一表達式中再次使用:$data2 = $data1 + ++$data1鹦蠕,這種表達式是錯誤的
-
在Perl中,自增運算符可以用于字符串在抛,當結尾字符為"z","Z","9"時會進位
image.png - 字符串連接和重復運算符
- 連接運算符:.
- 重復運算符:x
- $string1 = "begin";
- $string1 = $string." here" ##$string = "begin here"
- $string1 = $string1 x 2; ##$string = "begin here begin here"
- 逗號運算符
- 可以用來提高程序的可讀性钟病,其前面的表達式先行運算
- $var1 += 1, $var2 = $var1;
- $result = (++$var, $var + 5);
- 條件運算符
- 形式為:條件?值1:值2
- 當條件為真是取值1,為假是取值2
- $result = $var == 0 ? 14 : 7;
- 在Perl5中,還可以在賦值式左邊使用條件操作符來選擇被賦值的變量
- $convar = 43 ? $var1 = 14 : $var2 = 14;
2肠阱、運算符的優(yōu)先級和結合性
- 定義
- 運算符的優(yōu)先級指的是不同運算的先后順序
- 運算符的結合性指的是運算符的運算方向
- 優(yōu)先級和結合性
- Perl中的所有運算符都有自己的優(yōu)先級和固有結合性
- 優(yōu)先級的粗略規(guī)則是票唆,單目操作符優(yōu)先級高于雙目操作符
-
同等情況下,位運算高于邏輯運算高于賦值運算
image.png - 寫程序時屹徘,應多使用括號來進行優(yōu)先級的自定義