JAVA基础——方法和类型转换

JAVA基础——方法和类型转换

一、方法详解

(一)方法的定义与作用
  • 定义:方法是执行特定任务的代码块,代表一个功能,可接收数据处理并返回结果。
  • 作用:封装重复逻辑,提高代码复用性;模块化设计,增强程序可读性。
(二)方法的完整定义格式
修饰符 返回值类型 方法名(形参列表) {
    方法体代码; // 实现具体功能
    return 返回值; // 无返回值时省略(返回值类型为void)
}
  • 修饰符:控制方法的访问权限(如public static)。
  • 返回值类型:方法处理结果的数据类型,若无结果则为void
  • 形参列表:接收的数据参数(如int a, int b),可无参数。
  • 方法体:具体执行的逻辑代码。
  • return:返回处理结果(void方法中可省略或用return;提前结束方法)。
(三)方法的调用方式
  • 无参数无返回值:直接调用方法名。
    public static void printHello() {
        System.out.println("Hello World!");
    }
    // 调用
    printHello(); // 输出:Hello World!
    
  • 有参数有返回值:调用时传入参数,用变量接收返回值。
    public static int sum(int a, int b) {
        return a + b;
    }
    // 调用
    int result = sum(3, 5); // result = 8
    
(四)方法的注意事项
  1. 方法重载(Overload)
    • 同一类中,方法名相同但形参列表不同(参数个数、类型或顺序不同)。
    • 作用:简化方法调用,适应不同参数类型的需求。
    public static void print(int num) {
        System.out.println("整数:" + num);
    }
    public static void print(String str) {
        System.out.println("字符串:" + str);
    }
    // 调用
    print(100); // 输出:整数:100
    print("黑马程序员"); // 输出:字符串:黑马程序员
    
  2. void方法的return
    • 可使用return;提前结束方法(无返回值)。
    public static void checkAge(int age) {
        if (age < 0) {
            System.out.println("年龄不能为负数!");
            return; // 提前结束方法
        }
        System.out.println("年龄合法:" + age);
    }
    

二、类型转换

(一)自动类型转换(隐式转换)
  • 定义:小范围类型自动转换为大范围类型,无需额外代码。
  • 数据类型范围顺序
    byte < short < char < int < long < float < double
  • 规则
    • 整数类型之间,范围小的可直接赋值给范围大的(如byte → int)。
    • byteshortchar参与运算时自动转为int
  • 示例
    byte b = 100;
    int i = b; // 自动转换,i = 100
    
    char c = 'A'; // 'A'的ASCII码为65
    int num = c + 1; // c自动转为int,num = 66
    
(二)强制类型转换(显式转换)
  • 定义:大范围类型转为小范围类型,需手动添加类型转换符(数据类型)
  • 格式
    数据类型 变量 = (数据类型) 值或变量;
    
  • 注意事项
    • 可能导致数据丢失或溢出(如整数超出目标类型范围)。
    • 浮点型转整型会直接截断小数部分。
  • 示例
    int i = 150;
    byte b = (byte)i; // 150超过byte范围(-128~127),结果为-106(二进制溢出)
    
    double d = 3.9;
    int num = (int)d; // num = 3(直接丢弃小数部分)
    
(三)表达式的自动类型提升
  • 规则:表达式中,小范围类型自动转为最大范围类型后再运算。
  • 示例
    byte b1 = 10, b2 = 20;
    int sum = b1 + b2; // b1、b2自动转为int,sum = 30
    
    int i = 10;
    double d = i + 3.14; // i自动转为double,d = 13.14
    

三、典型案例

(一)方法重载案例
public class MethodDemo {
    // 计算两个整数的和
    public static int sum(int a, int b) {
        return a + b;
    }

    // 计算三个整数的和(重载方法)
    public static int sum(int a, int b, int c) {
        return a + b + c;
    }

    // 计算两个小数的和(重载方法)
    public static double sum(double a, double b) {
        return a + b;
    }

    public static void main(String[] args) {
        System.out.println(sum(1, 2)); // 3
        System.out.println(sum(1, 2, 3)); // 6
        System.out.println(sum(1.5, 2.5)); // 4.0
    }
}
(二)类型转换案例
public class TypeConversionDemo {
    public static void main(String[] args) {
        // 自动类型转换
        short s = 100;
        long l = s; // 自动转换,l = 100

        // 强制类型转换
        int i = 200;
        byte b = (byte)i; // 200的二进制为11001000,强制转byte后为-56(补码规则)
        System.out.println(b); // 输出:-56

        // 表达式类型提升
        char c = 'B'; // ASCII码66
        int result = c + 3.5; // c转为int(66),3.5转为double,result自动为double(69.5)
        System.out.println(result); // 输出:69.5
    }
}

四、注意事项

  1. 方法调用:必须通过方法名调用,否则编译报错。
  2. 类型转换安全:强制转换前需确保数据在目标类型范围内,避免意外结果。
  3. 表达式运算顺序:先进行类型提升,再按运算符优先级计算。
背景描述本数据集包含了多个与心力衰竭相关的特征,用于分析预测患者心力衰竭发作的风险。数据集涵盖了从40岁到95岁不等年龄的患者群体,提供了广泛的生理生活方式指标,以帮助研究人员医疗专业人员更好地理解心衰的潜在风险因素。每条患者记录包含以下关键信息:年龄(Age):记录患者的年龄,心脏病的风险随年龄增长而增加。贫血(Anaemia):贫血可能影响心脏功能,记录患者是否患有贫血。高血压(High blood pressure):高血压是心脏病的主要风险因素之一。肌酸激酶(Creatinine phosphokinase, CPK):血液中的CPK水平可以反映心肌损伤。糖尿病(Diabetes):糖尿病与心脏病风险增加有关。射血分数(Ejection fraction):心脏每次收缩时泵出的血液百分比,是心脏功能的重要指标。性别(Sex):性别可能影响心脏病的风险表现形式。血小板(Platelets):血小板水平可能与血液凝固心脏病风险相关。血清肌酐(Serum creatinine):血液中的肌酐水平可以反映肾脏功能,与心脏病风险有关。血清钠(Serum sodium):钠水平的异常可能与心脏疾病相关。吸烟(Smoking):吸烟是心脏病的一个重要可预防风险因素。时间(Time):记录患者的随访期,用于观察长期健康变化。死亡事件(death event):记录患者在随访期间是否发生了死亡事件,作为研究的主要结果指标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盐可颂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值