java 方法定义与调用、以及调试技巧
一、方法定义与调用
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调试
- 设置断点:在代码行号左侧点击出现红点
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调试
- 调试模式启动:点击工具栏甲虫图标
- 表达式评估:在Expressions窗口输入变量名
- 修改变量值:右键变量选择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.扩展练习:
- 编写方法实现数组反转
- 用调试模式跟踪冒泡排序过程
- 创建方法输出二维数组对角线元素