前言:
小编打算近期更俩三期类的专栏,一些常用的专集类,给大家分好类别总结和详细的代码举例解释。
今天是第三个 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 + " 千卡/天"); }
}
代码解释和总结:
- 用户输入数据
首先,我们需要一些基本信息来计算用户的BMR。这些信息包括:
体重:用户身体的重量,单位是千克(kg)。
身高:用户的身高,单位是厘米(cm)。
年龄:用户的年龄,以年为单位。
性别:区分是男性还是女性,因为BMR的计算公式对不同性别是不一样的。
double weight = 70; // 体重,单位为千克
double height = 175; // 身高,单位为厘米
int age = 25; // 年龄
char gender = 'M'; // 性别,'M'代表男性,'F'代表女性
- 计算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;
}
- 四舍五入BMR值
-
得到BMR后,它可能是一个带有小数点的数字。为了让结果看起来更整洁,我们可以使用Math.round()方法将这个数值四舍五入到最接近的整数。
long roundedBMR = Math.round(bmr);
- 输出结果
最后,将计算并四舍五入后的BMR值输出给用户。
System.out.println("您的基础代谢率为:" + roundedBMR + " 千卡/天");
我们今天就到这里,下次见吧!!