解读Java中BigDecimal.ZERO.compareTo()的返回值含义[通俗易懂]

解读Java中BigDecimal.ZERO.compareTo()的返回值含义[通俗易懂]JavacompareTo()用法例如:publicstaticvoidmain(String[]args){BigDecimalbnum1,bnum2;bnum1=newBigDecimal(“10”);bnum2=newBigDecimal(“20”);intres=bnum1.compareTo(bnu…

大家好,又见面了,我是你们的朋友全栈君。

Java compareTo() 用法

例如:

public static void main(String[] args) {

    BigDecimal bnum1, bnum2;

    bnum1 = new BigDecimal(“10”);
    bnum2 = new BigDecimal(“20”);

    int res = bnum1.compareTo(bnum2); 

    String str1 = “两个数相等”;
    String str2 = “第一个数更大”;
    String str3 = “第二个数更大”;

    if( res == 0 )
        System.out.println( str1 );
    else if( res == 1 )
        System.out.println( str2 );
    else if( res == -1 )
        System.out.println( str3 );
    }
}

运行代码,得到以下结果:
第二个数更大

为什么比较返回值是0,-1和1呢? 我们去看看源代码!

解读Java中BigDecimal.ZERO.compareTo()的返回值含义[通俗易懂]

根据源码中的三元运算符

解读Java中BigDecimal.ZERO.compareTo()的返回值含义[通俗易懂]

可以发现:

情况1. 如果xs等于ys,则返回0。

情况2. 如果xs不等于ys,则会执行另外一个三元运算符((xs > ys) ? 1 : -1)

这时候就会比较 xs 和 ys:

 xs > ys 返回 1,

xs < ys 返回 -1。

因此得到结论!

两个数比较的返回值

  • 如果第一个参数与第二个参数相等返回0。

  • 如果第一个参数小于第二个参数返回 -1。

  • 如果第一个参数大于第二个参数返回 1。

广告时间

我总结的个人面经以及面试资料,非常非常实用,欢迎点赞和Fork!

https://github.com/doinb08/bat_offer

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159883.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ideavim怎么用_intellij idea使用教程2020

    ideavim怎么用_intellij idea使用教程2020IdeaVim-常用操作IdeaVim简介IdeaVim是IntelliJIDEA的一款插件,他提高了我们写代码的速度,对代码的跳转,查找也很友好。安装之后它在Tools>VimEmulator具体操作i模式i模式即为编辑模式,按下字母i开启就可以打字。Esc从i模式切换为Vim,按下键盘的Esc键切

    2022年9月30日
  • 稳定dns服务器,国内DNS服务器推荐 选对了让你网速开挂

    稳定dns服务器,国内DNS服务器推荐 选对了让你网速开挂有个小伙伴看了一则美国服务商声称自己的DNS(1.1.1.1)是互联网最快的公共服务的新闻后,询问小编是不是真的要比国内常用的DNS或者说运营商自动分配的DNS服务要厉害很多?针对这个问题,先和大家聊一下什么是DNS吧。DNS(DomainNameSystem)简单点来说,就是用来翻译网站IP的一种工具,让大家不用在浏览器中输入每个网站的IP地址(也就是XXX.XXX.XXX.XXX),直接用…

    2022年9月7日
  • canvas rotate方法

    canvas rotate方法接上一篇图片上传功能中的ios下横屏拍的图片,最终上传却变成了竖向的解决方法。理解canvas的rotate,得先了解几个概念varc=document.getElementById("myCanvas");varctx=c.getContext("2d");ctx.fillRect(0,0,50,100);1、rotate的圆心是canvas的00位置2、将canvas…

    2022年10月28日
  • centos6.5防火墙关闭命令(cmd关闭防火墙)

    cmd命令关闭防火墙netstopmpssvc CentOS6关闭防火墙使用以下命令,//临时关闭serviceiptablesstop//禁止开机启动chkconfigiptablesoffCentOS7中若使用同样的命令会报错,stop iptables.serviceFailedtostopiptables.service:Unitipt…

    2022年4月11日
  • 多线程之儿子买盐问题

    多线程之儿子买盐问题

    2021年8月23日
  • iOS友盟消息推送总是推送失败或者token无效[通俗易懂]

    iOS友盟消息推送总是推送失败或者token无效[通俗易懂]最近遇到的问题,仅仅贴出来我的解决办法问题(开发环境下)我的原因AppleDevCenter中的开发者provisioningfile无效了,重新生成了一个就OK。选择iOSAppDevelopment然后一步步生成一个,下载到本地,双击安装。然后,手动的在buildSetttings中,修改codesign(因为我的电脑中有三个AppStore账号的证书,所以手动靠谱些

    2022年9月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号