引言
继昨日的基础语法学习之后,今天我们将进一步探索Java的方法、类型转换、输入输出以及运算符的高级使用。通过这些知识点的学习,我们将能够进行更复杂的编程任务,并最终实现一个综合实战项目——计算身体健康指数(BMI)和基础代谢率(BMR)。
基础语法-方法详解
Java中的方法(Method)是一段完成特定功能的代码块。每个方法都有一个返回类型,可以是基本数据类型、对象类型,或者是void(无返回值)。
代码示例:BMI计算方法
1 2 3 | public static double calculateBMI(double height, double weight) { return weight / (height * height); } |
基础语法-方法的注意事项
在编写方法时,需要注意以下几点:
- 方法的返回类型必须与方法体内返回语句的值类型一致。
- 方法的参数列表必须正确匹配调用时提供的参数。
- 使用
1void
作为返回类型的方法不应该有返回语句。
基础语法-自动-强制类型转换
Java支持自动类型转换(从小范围类型到大范围类型)和强制类型转换(从大范围类型到小范围类型)。自动类型转换不需要程序员显式指定,而强制类型转换需要使用类型转换语法。
代码示例:自动类型转换
1 2 | int a = 10; long b = a; // 自动类型转换 |
基础语法-表达式的自动类型提升
在表达式中,如果存在不同类型的操作数,Java会自动将较小的数据类型转换为较大的数据类型,以确保计算的准确性。
基础语法-输入-输出
Java中的输入输出操作主要通过
1 | Scanner |
类和
1 | System.out |
对象来实现。
1 | Scanner |
类用于从控制台读取输入,而
1 | System.out |
用于向控制台输出。
代码示例:用户输入处理
1 2 3 4 5 6 7 8 9 10 11 |
运算符-基本运算符-自增自减运算符
Java提供了自增(
1 | ++ |
)和自减(
1 | -- |
)运算符,它们可以用于快速增加或减少变量的值。
代码示例:自增自减运算符
1 2 3 | int count = 0; count++; // count 变为 1 count--; // count 变为 0 |
运算符-赋值运算符-三元运算符
Java中的赋值运算符用于将值赋给变量,而三元运算符是一种简洁的条件表达式,用于在两个值之间选择一个。
代码示例:三元运算符
1 | int max = (a > b) ? a : b; |
运算符-逻辑运算符
逻辑运算符用于执行布尔逻辑运算,包括与(
1 | && |
)、或(
1 | || |
)和非(
1 | ! |
)。
代码示例:逻辑运算符
1 2 | boolean isAdult = age >= 18; boolean isEmployed = isAdult && hasJob; |
综合实战-身体健康指数计算
结合以上知识点,我们可以进行一个综合实战项目——计算身体健康指数(BMI)和基础代谢率(BMR)。
代码示例:BMI和BMR计算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import java.util.Scanner; public class HealthIndexCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入年龄:"); int age = scanner.nextInt(); System.out.print("请输入身高(米):"); double height = scanner.nextDouble(); System.out.print("请输入体重(千克):"); double weight = scanner.nextDouble(); System.out.print("请输入性别(男/女):"); String sex = scanner.next(); System.out.println("BMI:" + calculateBMI(height, weight)); System.out.println("BMR:" + calculateBMR(height, weight, age, sex)); scanner.close(); } public static double calculateBMI(double height, double weight) { return weight / (height * height); } public static double calculateBMR(double height, double weight, int age, String sex) { double bmr; if ("男".equals(sex)) { bmr = 13.7 * weight + 5 * height - 6.8 * age + 66; } else { bmr = 9.6 * weight + 1.8 * height - 4.7 * age + 655; } return bmr; } } |