在 Java 编程的学习路上,定义变量和编写方法(函数)是入门阶段的两大核心基础。掌握好这两点,就如同拿到了开启 Java 世界大门的两把钥匙。今天,我们就从这两个基础点出发,结合一个具体的方法调用案例,聊聊 Java 入门的学习思路与实践感悟。

一、Java 入门第一步:搞定变量定义

变量就像我们日常生活中用来存放东西的 “盒子”,在 Java 里,它是用来存储数据的容器。想要用好变量,关键要掌握 “三要素”:变量类型、变量名和变量值。

1. 明确变量类型

Java 是强类型语言,每个变量在定义时都必须指定明确的类型,不同类型对应不同的数据存储需求。常见的基础类型有:

  • 整数类型:int(如 1、5、10,适用于存储没有小数部分的整数);
  • 浮点类型:double(如 3.14、2.5,适用于存储带小数的数值);
  • 字符类型:char(如 'a'、' 中 ',适用于存储单个字符);
  • 布尔类型:boolean(只有truefalse两个值,适用于表示 “是” 或 “否” 的判断)。

比如我们要存储一个 “学生的年龄”,年龄是整数,就可以用int类型定义变量:int studentAge;

 python语言在定义数据之前没有定义数据类型  javaScript:弱类型语言

弱类型语言不是没有数据类型,而是根据数据去推测数据类型

2. 规范变量名

变量名就像 “盒子” 的标签,要让人一眼能明白里面装的是什么。Java 中变量名有明确的命名规则:

  • 只能以字母、下划线(_)或美元符号($)开头,后续可以跟字母、数字、下划线或美元符号;
  • 不能使用 Java 的关键字(如intclassif等);
  • 区分大小写(比如ageAge是两个不同的变量)。

推荐使用 “小驼峰命名法”,即首字母小写,后续每个单词的首字母大写,比如studentName(学生姓名)、mathScore(数学成绩),这样的命名既规范又易读。

3. 赋值与使用

定义变量后,要么在定义时直接赋值,要么在使用前赋值(否则会报错)。比如:

// 定义时赋值

int num = 5;

// 先定义后赋值

int result;

result = 10;

赋值后,我们就可以通过变量名调用它的值,比如进行计算、打印输出等:

System.out.println (num); // 输出5

int sum = num + result; //sum 的值为 15

二、Java 入门第二步:学会编写与调用方法

如果说变量是 “盒子”,那方法(函数)就是 “工具”—— 它把一段实现特定功能的代码封装起来,需要时直接 “拿来用”,不用重复写代码,大大提高效率。

1. 方法的基本结构

一个完整的 Java 方法通常包含四部分:修饰符、返回值类型、方法名和参数列表,格式如下:

修饰符 返回值类型 方法名 (参数类型 参数名 1, 参数类型 参数名 2, ...) {

// 方法体:实现功能的代码

return 返回值;// 若返回值类型不是 void,必须有 return 语句

}

  • 修饰符:入门阶段常用public static(表示公开的静态方法,可直接通过类名调用);
  • 返回值类型:方法执行后返回的数据类型,若不返回任何值,用void
  • 方法名:遵循 “小驼峰命名法”,要能体现方法的功能(如add表示加法,getFactorial表示求阶乘);
  • 参数列表:方法需要的 “输入数据”,若不需要参数,括号内留空。

比如写一个 “求两个整数之和” 的方法:

public static int add (int a, int b) {
int sum = a + b;return sum; // 返回计算结果
}

2. 从案例看方法的递归调用

在图片中,我们看到了一串f(5)f(4)f(3)... 的调用关系,这很可能是一个递归方法的执行过程(递归即方法自身调用自身,常用于解决有 “重复子问题” 的场景,比如求斐波那契数列、阶乘等)。

结合文档中的数字(f(5)最终关联到多个12),我们可以推测这是一个 “求斐波那契数列第 n 项” 的递归方法(斐波那契数列规律:第 1 项和第 2 项为 1,从第 3 项起,每一项等于前两项之和,即f(n) = f(n-1) + f(n-2))。

(1)编写递归方法

按照斐波那契数列的规律,我们可以写出方法:

public static int f (int n) {

// 递归终止条件:第 1 项和第 2 项都是 1(避免无限递归)

if (n == 1 || n == 2) {

return 1;

}

// 递归调用:第 n 项 = 第 n-1 项 + 第 n-2 项

return f (n - 1) + f (n - 2);

}

(2)拆解f(5)的执行过程

当我们调用f(5)时,方法会层层拆解成更小的f(n)调用,就像文档中呈现的关系一样,具体过程如下:

  1. 计算f(5):需要f(4) + f(3)
  2. 计算f(4):需要f(3) + f(2)
  3. 计算f(3)(第一次):需要f(2) + f(1)
    • f(2)返回 1,f(1)返回 1,所以f(3) = 1 + 1 = 2
  4. 回到f(4)f(3)=2f(2)=1,所以f(4) = 2 + 1 = 3
  5. 计算f(3)(第二次):同样是f(2) + f(1) = 2
  6. 回到f(5)f(4)=3f(3)=2,所以f(5) = 3 + 2 = 5

这个过程正好对应文档中的调用链:f(5)依赖f(4)f(3)f(4)依赖f(3)f(2)f(3)依赖f(2)f(1),而f(2)f(1)最终返回 1—— 这就是递归方法 “自顶向下拆解、自底向上计算” 的核心逻辑。

三、入门学习的小提醒

  1. 先理解再动手:不管是变量还是方法,不要死记格式,要先想清楚 “它是用来做什么的”“为什么要这么写”,比如变量类型要匹配数据,递归方法必须有 “终止条件”(否则会无限调用导致程序崩溃);
  2. 多写多调试:看完知识点后,一定要自己敲代码验证 —— 比如把上面的add方法、f方法写进 Java 类里,调用后看看输出是否符合预期,遇到报错(如 “变量未初始化”“递归栈溢出”)时,慢慢排查原因,这是进步最快的方式;
  3. 从简单案例入手:刚开始不用写复杂功能,先实现 “定义变量存成绩并计算平均分”“写方法求两个数的最大值” 这类小需求,积累信心后再挑战递归、循环等稍复杂的逻辑。

Java 入门没有捷径,但只要把 “变量” 和 “方法” 这两个基础打牢,再逐步探索循环、条件判断、类与对象等知识,就能慢慢感受到编程的乐趣。下次遇到类似f(n)的方法调用时,不妨试着拆解它的执行过程,你会对方法的理解更深入~

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐