关系运算符
最近准备考可信,顺带会查漏补缺一些Python与Java的知识点分享给大家,今天聊聊运算符优先级:
关系运算符的优先级比算数运算符低,这点Python与Java是相同的,举个例子
>>> 7>=3+4
output: True
public class Main {
public static void main(String[] args) {
System.out.println(7>=8-2);
}
}
output: true
既然是相同的内容,又有什么值得记录的呢?且往下看...
在Java中,关系运算符的子类等于和不等于符号的运算符却要比其他子类更低,举个例子:
public class Main {
public static void main(String[] args) {
System.out.println(6>3 == 8>2);
}
}
output: true
但在Python中,却没有这个特例,等于与不等于和其他的关系运算符权重是相同的:
6>3 == 8>2
output:False
字符(串)拼接
还有那些区别呢?顺便总结下关于字符(串)与数字的拼接
Python中单引号和双引号,都表示字符串。字符串是不能与数字拼接的:
"No."+1
output:
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
然而在Java中,字符(串)不仅可以和数字拼接,当他们的位置不同时,还会产生不同的结果哦:
public class Main {
public static void main(String[] args) {
System.out.println("No."+1);
System.out.println('A'+1);
System.out.println("No."+1+'A');
System.out.println('A'+1+"No.");
}
}
output:
No.1
66
No.1A
66No.
是不是觉得考试不会考?错了,出题的二货们,最爱考这些问题了!
布尔型(Boolean)与数字运算
刚才说到了Java可以Python不可以的操作,那么现在来说一个Python可以但Java却不能的运算!
Python当存在布尔值与数字进行运算是,会将True转化为数字1,False转化为数字0,看看下面的运算:
True +10:
output: 11
0 <= False <1
output: True
然而,Java是不能这么操作的
Error:(8, 33) java: 不可比较的类型: boolean和int
中国的考试很奇怪,越是偏门不用的越是爱考,貌似这种为难考生的方式,会让出题人很有成就感,简直是干(丧)得(心)漂(病)亮(狂)
The End
期待你关注我的公众号清风Python
,如果你觉得不错,希望能动动手指转发给你身边的朋友们。