算术运算符:
+ -(减) * **(幂) % -(负)
**:结果不能超出数的范围。当指数为小数时,底数不能为负数;
%: 操作数为整数,否则要截取;
-: 负。-$a = $a*(-1)
当一个字符串参加运算,需要转化为整数;如果不能转化为整数,则值为0
数字比较运算符:
< > == <= >= != <=>
<=>: $a<=>$b 当$a>$b时,值为 1;当$a<$b时,值为-1;当$a==$b时,值为 0。
自动把操作数转化为整数,不能转化为整数的为 0;
浮点数不精确,不要把值相近的数比较。
串比较运算符:
lt gt eq le ge ne cmp
按照字母表的顺序比较,数字 < 大写字母 < 小写字母;
字符串从左到右比较。'azz' < 'bc'
当一个串是另一个的前缀时,长度长的为大。dog < doghouse
字符串可以从右向左进位,但字母数字分别进行;
自动把操作数转化为字符串。 123 lt 45 => '123' lt '45'
cmp比较同<=>,结果为 1/-1/0;
空串,0,undef 为假;
串连接、串重复:
. 连接:$a='a'.'b'; => 'ab'
在print时可以直接写print $a$b => print $a.$b;
x 重复:x前后有空格(为了和变量名分开) 'a' x 5 = 'aaaaa'
如果重复次数 < 1,则返回空串。
逻辑运算符:
&&(and) ||(or) !(not) xor
先算左边的值,后算右边的值;
&&和and的优先级不同,但除非特殊情况,难有区别
运算符优先级:
一般:自增自减最高,单操作数高于多操作数,数字运算 > 比较运算 > 位运算 > 赋值运算 > 逻辑运算
阅读(465) | 评论(0) | 转发(0) |