系统相关类——java.lang.Math (三)(案例详细拆解小白友好)

前言:

小编打算近期更俩三期类的专栏,一些常用的专集类,给大家分好类别总结和详细的代码举例解释。

今天是第三个 java.lang.Math 类

我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,

把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,

为什么用这串代码关键字,对比同类型的代码,

让大家真正看完以后融会贯通,举一反三,实践应用!!!!


①官方定义 和 大白话拆解对比

②举生活中常见贴合例子、图解辅助理解的形式

③对代码实例中关键部分进行详细拆解、总结



给小编一个 赞或者关注吧,我们一起进步!!

java.lang.Math类是Java标准库中的一个工具类,提供了大量的静态方法来执行基本的数学运算,如绝对值、向上取整、向下取整、四舍五入、幂次方、平方根、随机数生成等。这些方法不需要创建对象实例即可调用,非常方便。

官方语言

  • Math.abs(double a):返回给定数值的绝对值。
  • Math.ceil(double a):返回大于等于参数的最小整数。
  • Math.floor(double a):返回小于等于参数的最大整数。
  • Math.round(double a):返回最接近参数的long值(四舍五入)。
  • Math.pow(double a, double b):返回a的b次幂。
  • Math.sqrt(double a):返回a的平方根。
  • Math.random():返回0.0到1.0之间的随机double值。
  • Math.PI:返回π(圆周率)的值。
  • Math.max(double x, double y):返回x和y中的最大值。
  • Math.min(double x, double y):返回x和y中的最小值。
  • 其他三角函数如Math.sin(double a)、Math.cos(double a)、Math.tan(double a)等。

大白话拆解:

  • java.lang.Math类就像是一个数学计算器,它能帮你做很多数学计算,比如求绝对值、向上取整、向下取整、四舍五入、求幂次方、求平方根、生成随机数等。你不需要创建任何对象就可以直接使用这些方法,就像直接在计算器上按按钮一样简单。

举个栗子:

假设你正在开发一款简单的健身应用,这个应用需要计算用户每日所需的基础代谢率(Basal Metabolic Rate, BMR),然后根据BMR来推荐每日的卡路里摄入量。我们将使用java.lang.Math类中的方法来帮助我们完成一些必要的计算。

案例描述

  • 基础代谢率是指人体在清醒而又极端安静的状态下,不受精神紧张、肌肉活动、食物及环境温度等因素影响时的能量代谢率。对于男性和女性,有不同的公式来估算BMR:

男性:

  • 𝐵𝑀𝑅=88.362+(13.397×体重𝑘𝑔)+(4.799×身高𝑐𝑚)−(5.677×年龄𝑦𝑒𝑎𝑟𝑠)BMR=88.362+(13.397×体重kg)+(4.799×身高cm)−(5.677×年龄years)

女性:

  • 𝐵𝑀𝑅=447.593+(9.247×体重𝑘𝑔)+(3.098×身高𝑐𝑚)−(4.330×年龄𝑦𝑒𝑎𝑟𝑠)

  • BMR=447.593+(9.247×体重kg)+(3.098×身高cm)−(4.330×年龄years)

    public class BMRCalculator {
    public static void main(String[] args) {
    // 用户输入数据
    double weight = 70; // 体重,单位为千克
    double height = 175; // 身高,单位为厘米
    int age = 25; // 年龄
    char gender = 'M'; // 性别,'M'代表男性,'F'代表女性

          // 计算BMR
          double bmr;
          if(gender == 'M') {
              bmr = 88.362 + (13.397 * weight) + (4.799 * height) - (5.677 * age);
          } else if(gender == 'F') {
              bmr = 447.593 + (9.247 * weight) + (3.098 * height) - (4.330 * age);
          } else {
              System.out.println("请输入正确的性别");
              return;
          }
          
          // 使用 Math.round() 方法将BMR四舍五入到整数
          long roundedBMR = Math.round(bmr);
          
          // 输出结果
          System.out.println("您的基础代谢率为:" + roundedBMR + " 千卡/天");
      }
    

    }

代码解释和总结:

  1. 用户输入数据

首先,我们需要一些基本信息来计算用户的BMR。这些信息包括:

体重:用户身体的重量,单位是千克(kg)。

身高:用户的身高,单位是厘米(cm)。

年龄:用户的年龄,以年为单位。

性别:区分是男性还是女性,因为BMR的计算公式对不同性别是不一样的。

double weight = 70; // 体重,单位为千克
double height = 175; // 身高,单位为厘米
int age = 25; // 年龄
char gender = 'M'; // 性别,'M'代表男性,'F'代表女性
  1. 计算BMR

接下来,根据用户的性别,使用不同的公式来计算BMR。这是因为男性和女性的基础代谢率通常不同。

对于男性,使用的公式是:

  • 𝐵𝑀𝑅=88.362+(13.397×体重)+(4.799×身高)−(5.677×年龄)BMR=88.362+(13.397×体重)+(4.799×身高)−(5.677×年龄)

对于女性,使用的公式是:

  • 𝐵𝑀𝑅=447.593+(9.247×体重)+(3.098×身高)−(4.330×年龄)BMR=447.593+(9.247×体重)+(3.098×身高)−(4.330×年龄)

在代码中,通过if和else if语句来判断性别,并选择相应的公式进行计算:

double bmr;
if(gender == 'M') {
    bmr = 88.362 + (13.397 * weight) + (4.799 * height) - (5.677 * age);
} else if(gender == 'F') {
    bmr = 447.593 + (9.247 * weight) + (3.098 * height) - (4.330 * age);
} else {
    System.out.println("请输入正确的性别");
    return;
}
  1. 四舍五入BMR值
  • 得到BMR后,它可能是一个带有小数点的数字。为了让结果看起来更整洁,我们可以使用Math.round()方法将这个数值四舍五入到最接近的整数。

    long roundedBMR = Math.round(bmr);

  1. 输出结果

最后,将计算并四舍五入后的BMR值输出给用户。

System.out.println("您的基础代谢率为:" + roundedBMR + " 千卡/天");


我们今天就到这里,下次见吧!!



相关推荐
matlabgoodboy3 分钟前
代码编写java代做matlab程序代编Python接单c++代写web系统设计
java·python·matlab
Jacob程序员19 分钟前
leaflet绘制室内平面图
android·开发语言·javascript
liuyunshengsir30 分钟前
Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
java·spring boot·prometheus
AitTech37 分钟前
C#编程:List.ForEach与foreach循环的深度对比
开发语言·c#·list
路上阡陌39 分钟前
Java学习笔记(二十四)
java·笔记·学习
爱敲代码的边芙41 分钟前
Linux:信号的保存[2]
linux·运维·服务器
葛小白144 分钟前
第五天 Labview数据记录(5.1 INI配置文件读写)
服务器·labview
何中应1 小时前
Spring Boot中选择性加载Bean的几种方式
java·spring boot·后端
苏苏大大1 小时前
zookeeper
java·分布式·zookeeper·云原生
阿俊仔(摸鱼版)1 小时前
Python 常用运维模块之OS模块篇
运维·开发语言·python·云服务器