👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇作者丨王翔丨
来源丨清风Python (BreezePython)
最近准备考可信,顺带会查漏补缺一些Python与Java的知识点分享给大家,今天聊聊运算符优先级:
关系运算符的优先级比算数运算符低,这点Python与Java是相同的,举个例子:
1>>> 7>=3+4
2output: True
Java也不例外:
1public class Main {
2 public static void main(String[] args)
{
3 System.out.println(7>=8-2);
4
5 }
6}
7output: true
既然是相同的内容,又有什么值得记录的呢?且往下看…
在Java中,关系运算符的子类等于和不等于符号的运算符却要比其他子类更低,举个例子:
1public class Main {
2 public static void main(String[] args) {
3 System.out.println(6>3 == 8>2);
4
5 }
6}
7output: true
但在Python中,却没有这个特例,等于与不等于和其他的关系运算符权重是相同的:
16>3 == 8>2
2output:False
还有哪些区别呢?顺便总结下关于字符(串)与数字的拼接
Python中单引号和双引号,都表示字符串。字符串是不能与数字拼接的:
1"No."+1
2output:
3Traceback (most recent call last):
4 File "", line 1, in
5TypeError: can only concatenate str (not "int") to str
然而在Java中,字符(串)不仅可以和数字拼接,当他们的位置不同时,还会产生不同的结果哦:
1public class Main {
2 public static void main(String[] args) {
3 System.out.println("No."+1);
4 System.out.println('A'+1);
5 System.out.println("No."+1+'A');
6 System.out.println('A'
+1+"No.");
7
8 }
9}
10output:
11No.1
1266
13No.1A
1466No.
是不是觉得考试不会考?错了,出题的二货们,最爱考这些问题了!
刚才说到了Java可以Python不可以的操作,那么现在来说一个Python可以但Java却不能的运算!
Python当存在布尔值与数字进行运算是,会将True转化为数字1,False转化为数字0,看看下面的运算:
1True +10:
2output: 11
30 <= False <1
4output: True
然而,Java是不能这么操作的
Error:(8, 33) java: 不可比较的类型: boolean和int
中国的考试很奇怪,越是偏门不用的越是爱考,貌似这种为难考生的方式,会让出题人很有成就感,简直是干(丧)得(心)漂(病)亮(狂)...
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
在看点这里好文分享给更多人↓↓