java程序的基本语法02

100 阅读4分钟

方法

介绍

方法是一种用于执行特定任务或操作的代码块,代表一个功能,它可以接收数据进行处理,并返回一个处理后的结果
是一个封装了一定逻辑代码的可重用代码块

方法的定义与调用

方法的声明格式
[修饰符1 修饰符2...] 返回值类型 方法名(形式参数列表) {
    代码;
    return 返回值;
}
方法的调用方式
非静态方法调用:通过对象来调用,格式为对象名.方法名(实参列表)
静态方法调用:通过类名来调用,格式为类名.方法名(实参列表)
方法的返回值
无返回值

image.png

有返回值

image.png


注意事项


1、返回值类型与方法签名的一致性:返回值类型必须与方法签名中的声明一致。如果返回类型与实际返回的值类型不符,编译器会报错
2、方法可以返回null:对于引用类型,方法可以返回null,这意味着没有实际的对象返回。调用者需要处理null的可能性,以避免NullPointerException
3、返回数组或集合:方法可以返回数组或集合,返回的数组或集合可以在调用处进行遍历或处理

方法的重载

重载的概念与规则
一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了
在同一个类中,方法名一样,但是形参不一样(数据类型、顺序、个数)这些不一样都可,与返回值没有关系
重载的示例与解析

image.png

image.png

类型转换

自动类型转换

介绍
类型范围小的变量,可以直接赋值给类型范围大的变量
执行原理

image.png

基本数据类型间的自动转换

image.png

image.png

为什么要进行类型转换
存在不同类型的变量赋值给其他类型的变量

表达式的自动类型提升

在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算

image.png

image.png

注意事项
表达式的最终结果类型由表达式中的最高类型决定
在表达式中,byteshortchar 是直接转换成int类型参与运算的

image.png

强制类型转换

什么是强制类型转换,为什么要进行强制类型转换?
类型范围大的变量, 不可以直接赋值给类型范围小的变量,会报错,需要强制类型转换过去
基本数据类型间的强制转换

image.png


注意事项


强制类型转换可能造成数据(丢失)溢出;浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

image.png

案例

/*
    // 练习:做一个健康计算器
*/
public class Test05 {
    public static void main(String[] args) {
        // // 1.实例控制台输入对象Scanner
        // Scanner scanner = new Scanner(System.in);
        //
        // // 2.提示用户输入:“请输入您的年龄(1~120):”,并获取输入的年龄
        // System.out.print("请输入您的年龄:");
        // int age = scanner.nextInt();
        //
        // // 3.提示用户输入:“请输入您的性别(男或女):”,并获取输入的性别
        // System.out.print("请输入您的性别:");
        // String gender = scanner.next();
        //
        // // 4.提示用户输入:“请输入您的体重(KG):”,并获取输入的体重
        // System.out.print("请输入您的体重:");
        // double weight = scanner.nextDouble();
        //
        // // 5.提示用户输入:“请输入您的身高(M):”,并获取输入的身高
        // System.out.print("请输入您的身高:");
        // double height = scanner.nextDouble();
        //
        // // 6.计算BMI,公式 = 体重 / (身高  *  身高)
        // double bmi = weight / (height * height);

        double bmi = 30;
        System.out.print("您的BMI为:" + bmi + ","); // 将println改为print

        if (bmi < 18.5) {
            System.out.println("体重过低");
        } else if (bmi >= 18.5 && bmi <= 24.9) {
            System.out.println("正常范围内");
        } else if (bmi > 24.9 && bmi <= 29.9) {
            System.out.println("超重");
        } else {
            System.out.println("肥胖");
        }

        // 7.计算BMR
        // 男计算公式 = 88.362+(13.397 ×体重[kg]) +(4.799×身高[cm])-(5.677 × 年龄[岁])
        // 女计算公式 = 447.593 + (9.247 × 体重[kg]) + (3.098 × 身高[cm]) -(4.330 × 年龄[岁])
        // 将身高单位从m转换为cm
        // height *= 100;
        // double bmr = gender.equals("男") ?
        //         88.362 + (13.397 * weight) + (4.799 * height) - (5.677 * age) :
        //         447.593 + (9.247 * weight) + (3.098 * height) - (4.330 * age);
        // System.out.println("您的BMR为:" + bmr);
    }
}

输入输出

调用java封装好的输入输出API(Scanner)

输入

程序读取用户键盘输入的数据

输出

把程序中的数据展示出来
  // 1.实例Scanner对象
        Scanner scanner = new Scanner(System.in);

        // 2.提示用户输入年龄,并获取用户输入的年龄
        // 提示
        System.out.print("请输入您的年龄:"); // println输出后会在后面换行(\n)print是不用换行
        // 获取用户输入
        int age = scanner.nextInt(); // 会阻塞等待到用户输入完成
        // 打印
        System.out.println("您输入的年龄为:" + age);

        // 3.提示用户输入姓名,并获取用户输入的姓名
        // 提示
        System.out.print("请输入您的姓名:");
        // 获取用户输入
        String name = scanner.next();
        // 打印
        System.out.println("您输入的姓名为:" + name);

image.png

运算符

算术运算符

image.png

image.png

自增自减运算符

image.png

image.png

扩展赋值运算符

image.png

image.png

关系运算符

image.png

image.png

逻辑运算符

image.png

image.png

三元运算符

image.png

image.png