Java int a>b 和 a-b>0

784 阅读1分钟

a>b 与 a-b在正常情况下都可以等价替换,但是在值溢出的情况下会出现不同的结果。

一、足够大

考虑一种场景,a为一个足够大的值,b为a的值加n(n为一个正整数),此时我们希望得到的结果为 a<b

打印结果为:

这种场景下b溢出变成了一个足够小的数,b>a即为false,但是b-a>0却可以得到我们想要的结果。

二、足够小

考虑另一种场景,一个足够小的数跟一个正整数比较大小

打印结果为

a-b 溢出变成了一个足够大的数