java 方法定义与调用、以及调试技巧

java 方法定义与调用、以及调试技巧

解决方案goocz2025-05-08 12:45:335A+A-

一、方法定义与调用

1.1 方法基础

public class MethodDemo {
    // 无返回值方法
    public static void sayHello() {
        System.out.println("你好,世界!");
    }

    // 带参数和返回值的方法
    public static int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        sayHello();                          // 直接调用
        int result = add(3, 5);              // 接收返回值
        System.out.println("相加结果:" + result); // 输出8
    }
}

关键点

  • public static:方法修饰符(后续面向对象讲解)
  • void:表示无返回值
  • 方法签名:方法名 + 参数列表(add(int, int))

1.2 方法重载

public class OverloadDemo {
    // 方法重载:同名方法,参数不同
    public static void print(int num) {
        System.out.println("整数:" + num);
    }

    public static void print(String text) {
        System.out.println("字符串:" + text);
    }

    public static void main(String[] args) {
        print(100);       // 调用第一个print
        print("Java");     // 调用第二个print
    }
}

二、数组操作

2.1 数组基础

public class ArrayDemo {
    public static void main(String[] args) {
        // 声明并初始化数组
        int[] scores = {85, 92, 78, 90};
        String[] names = new String[3];  // 长度为3的空数组
        
        // 数组赋值与访问
        names[0] = "张三";
        names[1] = "李四";
        System.out.println(scores[1]);   // 输出92
        System.out.println(names[2]);    // 输出null(未赋值)

        // 遍历数组
        for (int i = 0; i < scores.length; i++) {
            System.out.println("成绩" + (i+1) + ": " + scores[i]);
        }
    }
}

2.2 多维数组

public class MultiArray {
    public static void main(String[] args) {
        // 二维数组:3行2列
        int[][] matrix = {
            {1, 2},
            {3, 4},
            {5, 6}
        };
        
        // 嵌套循环遍历
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
    }
}

输出结果

1 2 
3 4 
5 6 

三、基础调试技巧

3.1 IntelliJ IDEA调试

  1. 设置断点:在代码行号左侧点击出现红点
public static void main(String[] args) { 
int x = 5; // 断点设置处 
x = x * 3; 
System.out.println(x); 
}

2.启动调试

  • 右键选择Debug 'ClassName.main()'
  • 使用工具栏按钮控制执行:F8:单步执行(Step Over)F7:进入方法(Step Into)F9:恢复程序(Resume)

3.观察变量

  • 在Variables窗口查看当前变量值
  • 鼠标悬停变量查看即时值

3.2 Eclipse调试

  1. 调试模式启动:点击工具栏甲虫图标
  2. 表达式评估:在Expressions窗口输入变量名
  3. 修改变量值:右键变量选择Change Value

四、控制台输出

4.1 基础输出

public class OutputDemo {
    public static void main(String[] args) {
        // 标准输出
        System.out.println("Hello World");  // 换行输出
        System.out.print("不换行");          // 不换行
        
        // 格式化输出
        String name = "王五";
        int age = 25;
        System.out.printf("姓名:%s,年龄:%d", name, age);
    }
}

输出结果

Hello World
不换行姓名:王五,年龄:25

4.2 调试输出技巧

public class DebugOutput {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        
        // 调试输出(完成后需删除)
        System.out.println("[DEBUG] a=" + a + ", b=" + b);
        
        int sum = a + b;
        System.out.println("结果:" + sum);
    }
}

五、综合练习

数组处理方法

public class ArrayMethod {
    // 计算数组平均值
    public static double getAverage(int[] arr) {
        int sum = 0;
        for (int num : arr) {
            sum += num;
        }
        return (double)sum / arr.length;
    }

    public static void main(String[] args) {
        int[] data = {80, 75, 90, 85};
        double avg = getAverage(data);
        System.out.printf("平均分:%.2f", avg); // 输出82.50
    }
}

学习建议

1.实践步骤

  • 在IDE中手动输入所有示例代码
  • 尝试修改方法参数观察结果变化
  • 在调试模式下观察数组内存地址

2.常见错误处理

  • ArrayIndexOutOfBoundsException:检查数组长度
  • NullPointerException:确保数组已初始化
  • 方法返回值丢失:检查是否用变量接收返回值

3.扩展练习

  • 编写方法实现数组反转
  • 用调试模式跟踪冒泡排序过程
  • 创建方法输出二维数组对角线元素
点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5