前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每日一题(11)

每日一题(11)

作者头像
KEN DO EVERTHING
发布2019-01-17 15:12:19
5042
发布2019-01-17 15:12:19
举报

上题回顾与解析

public static void main(String[] args) {
        System.out.println("3 % 2 = "+(3 % 2));
        System.out.println("2 % 3 = "+(2 % 3));

        System.out.println("-3 % 2 = "+(-3 % 2));
        System.out.println("-2 % 3 = "+(-2 % 3));
        System.out.println("3 % -2 = "+(3 % -2));
        System.out.println("2 % -3 = "+(2 % -3));

        System.out.println("-3 % -2 = "+(-3 % -2));
        System.out.println("-2 % -3 = "+(-2 % -3));
    }

输出:
3 % 2 = 1
2 % 3 = 2
-3 % 2 = -1
-2 % 3 = -2
3 % -2 = 1
2 % -3 = 2
-3 % -2 = -1
-2 % -3 = -2

解析: 整数的取余就不用解释了,主要是负数的取余

维基百科中的余数:在算术中,当两个整数相除的结果不能以整数商表示时,余数便是其“余留下的量”。可见,余数是两整数相除的结果,但java中允许负数的取余

模拟java取余算法,如下:

/**
     * @desc 取余模拟算法
     * @param dividend 被除数
     * @param divisor 除数
     * @return
     * @return int
     */
    public static int remainder(int dividend,int divisor){
        return dividend - dividend / divisor * divisor;
    }

记住一点就行,java中的取余,结果的正负由被除数决定,被除数为正则正,反之亦然。 即,取余中含负数,按整数计算,结果正负为被除数的正负。

每日一题

public static void main(String[] args) {
        final long lg1 = 24 * 60 * 60 * 1000 * 1000;
        final long lg2 = 24 * 60 * 60 * 1000;
        System.out.println(lg1/lg2);
    }
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java从心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档