细节"/>
聚焦面(考)试:那些Python与Java中,你忽略的细节
Python实战社群
Java实战社群
长按识别下方二维码,按需求添加
扫码关注添加客服
进Python社群▲
扫码关注添加客服
进Java社群▲
作者丨王翔丨
来源丨清风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 "<input>", line 1, in <module>
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.");78 }9}
10output:
11No.1
1266
13No.1A
1466No.
是不是觉得考试不会考?错了,出题的二货们,最爱考这些问题了!
布尔型(Boolean)与数字运算
刚才说到了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
中国的考试很奇怪,越是偏门不用的越是爱考,貌似这种为难考生的方式,会让出题人很有成就感,简直是干(丧)得(心)漂(病)亮(狂)...
程序员专栏 扫码关注填加客服 长按识别下方二维码进群近期精彩内容推荐: 内部泄露版!互联网大厂的薪资和职级一览 在互联网公司上班 VS 在金融公司上班 动态图展示6个常用的数据结构,一目了然 去掉烦人的 “ ! = null " (判空语句)在看点这里好文分享给更多人↓↓
更多推荐
聚焦面(考)试:那些Python与Java中,你忽略的细节
发布评论