java取模运算怎么算(关于java除法向上取整函数)

在代码开发中,我们应该做到 “知其然,并知其所以然”。

判断一个数是奇数还是偶数是小学里学的基本知识,在代码开发中,一个数字是否是偶数,只需要判断是否能被2整除,那你会有几种写法呢?

int a = 10;  int flag = a % 2;  if (flag == 0) {      System.out.println("是偶数");  } else {      System.out.println("是奇数");  }

或者还可以这样写:

 int a = 10;   int flag = a % 2;   if (flag == 1) {        System.out.println("是奇数");    } else {        System.out.println("是偶数");    }

对于这个例子来讲,两种运行效果是一致的:


然后我们来升级一下,动态的输入奇偶数来判断:

 public static void mn(String[] args) {       //接收键盘输入参数       Scanner input = new Scanner(System.in);       System.out.println("请输入多个数字判断奇偶");       while (input.hasNextInt()) {           int a = input.nextInt();           int flag = a % 2;           if (flag == 1) {               System.out.println(a+" => 是奇数");           } else {               System.out.println(a+" => 是偶数");           }       }  }

当输到-1、-3时,结果就出错了,这和Java中的取余计算算法有关系:

    /**       * 取余计算 Java 处理取余原理       *       * @param dividend 被除数       * @param divisor  除数       * @return       */      public static int remainder(int dividend, int divisor) {          return dividend - dividend / divisor * divisor;      }

根据上面的方法,当输入-1时,计算结果是 -1,不等于1,所以结果就被判定为偶数了,我们修改一下判断方式:


在计算机语言中,% (或mod) 是一个常见的数学运算符,但不同的计算机语言对 % 有不同的定义,有的语言把 % 定义为取模,有的则把 % 定义为取余。

在中文体系下,取模和取余的定义不同1,在英文体系中,只有一个模运算 (Modulo operation)2,但是有最小正余数 (the least positive remainder) 和最小绝对余数 (the least absolute remainder) 的概念。

在 Java 中,% 代表的是取余。如果要进行取模,可以用 Math.floorMod() 方法。

感谢您访问:美文云网站!本文永久链接:https://meiwenyun.com/429133.html。侵删或不良信息举报请联系邮箱:820608633@qq.com或微信:meiwenyun888。
上一篇 2024年8月19日 03:50
下一篇 2024年8月19日 03:50

相关推荐

  • 毕业论文格式规范要求(论文摘要写的内容)

    毕业论文是一种严谨的学术报告形式,目的在于考察学生整个学习阶段的成果,培养学生的基本科研写作能力,所以每一项工作都应该按照毕业论文标准进行,本篇文章整理毕业论文格式要求供不同院校学…

    2024年8月17日
    179
  • 针灸能治痤疮吗

    针灸能治痤疮吗?中医认认为痤疮的出现,这与患者的饮食有关,且与患者心情有关,如果长期精神不舒,热毒之邪乘虚而入,客于肌腠之间,或流窜于经络,以致气血脉络受阻,瘀久化腐成脓而致脓疮。…

    2023年1月1日
    454
  • 要避免恒大的风险传染至其他房企 易纲行长说恒大风险是个案风险

    中国人民银行网站10月20日发布易纲行长在2021年G30国际银行业研讨会的发言及问答: 很高兴参加本届国际银行业研讨会,我将主要介绍近期中国经济形势、挑战与宏观政策应对。 当前,…

    2024年8月8日
    248
  • 怎样用药物治疗贫血

    怎样用药物治疗贫血?    对造血有特异性作用的药物有铁剂、维生素B 12 和叶酸。肝注射液中所含的造血物质也是维生素B 12 或B 12 加叶酸。这些药物各有其特异的药理作用和治…

    2022年12月31日
    391
  • 宝宝长牙的次序是怎样的?宝宝长牙时需要哪些营养?

    许多 父母会发觉宝宝长牙的年纪并不相同,有的宝宝看起来晚,而有的宝宝看起来早。那麼,宝宝好多个月长牙才算得上一切正常的呢?今日我就给大伙儿解读下宝宝长牙的一些基本常识,期待父母们都…

    2023年4月30日
    359
  • 食滞胃脘心律失常的辨证要点是什么

    食滞胃脘心律失常的辨证要点是:  (1)有饮食不节、暴饮暴食史。  (2)脘腹胀痛,大便不爽。  (3)心悸,心前区疼痛。  (4)苔腻,脉滑或结代。  (5)具有心律失常的心电图…

    2022年12月31日
    263
分享本页
返回顶部