(一)、数据运算
一、运算符
1.算数运算符
- 四则运算、乘幂/开方(**)、取余(%)、单目负操作(叠用单目负要带括号,否则为自减)
$data1=$data1+$data2
$data1=$data1+5
$(-5)**2.5 ##error 涉及开方运算,基数不能为负
- 字符串的四则运算:perl会对字符串从左往右判断,如果遇到的不是0-9,则后面的字符和字符串都抛弃
- abc3就是0
3abc就是3
30abc2就是30 -
简写方式
2.比较运算符
数字比较运算符
- 大于小于等于不等于……都相似
- 成立返回1,否则返回0
- 特殊的是perl中有比较操作符:<=>,返回1,0,-1(前小于后)
字符串比较运算符
- ASCII码的比较
- eq要求比较字符完全一样,包括空格大小写等
3.逻辑运算符
- 或 ||,or
- 与&&,and
- 非!,not
- 异或:xor
定义:A和B同时为真或假,则返回假,A和B真假值不等,则返回真
4.位运算符
- 以“位”为单位,对数据进行修改等操作,多用于二进制运算
- 位或 ||
- 位与&(不能用于负整数,perl会把他们转化成无符号数)
- 位非~
- 位异或:^
- 左移:$x<<1
- 右移:$x>>2
-
位运算返回将得到一个数值,数值不一定是1,可能是别的值,而逻辑运算返回只有0和1,真和假
5.赋值运算符
- 简略写法
- 等号可以在赋值语句多次出现,即连续赋值
- 等号可以作为子表达式
($a=$b)+=3;
#等价于
$a=$b;$a=$a+3;#定义了一个新变量a,并对其值进行修改
6.其他运算符
- 自增自减运算符:++,--
- 如果运算符放在变量名左边,变量本身及返回值立马改变
- 如果运算符放在右边,则返回值为原值,但变量本身要下一次才能发生变化,例:
$data1=30;
$data2=$data1++;
#则data1=31,data2=30
-
字符串的自增运算说明
- 连接运算符:.
- 重复运算符:x
- 逗号运算符,对逗号前面的表达式先运算,如:
$val=26;
$result=(++$val,$val+5);
#$result=32
- 条件运算符:如果条件成立,取值1,否则取值2
- 形式:条件?值1:值2
$result = $var==0?14:7;
如果var值是0,那么result等于14,否则等于7
二、运算符的优先级和结合性
- 粗略规则:单目操作符优先级高于双目操作符
-
同等情况下:位运算>逻辑运算>赋值运算
- 难以记忆,实际使用时用括号确定优先级
网友评论