聚焦面(考)试:那些Python与Java中,你忽略的细节

关系运算符

最近准备考可信,顺带会查漏补缺一些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,如果你觉得不错,希望能动动手指转发给你身边的朋友们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值