任务5.1 初步认识方法
要创建一个方法,必须做两件事,即定义方法和调用方法Java编程中的方法有两种类型,一种是没有返回值的方法,另一种是有返回值的方法。要了解更多细节,这里是在Java中定义方法的一般格式。
在定义没有返回值的方法时,将void 关键字用作前缀,然后与方法名一起使用。为一个方法命名通常是根据该方法的用途或功能来调整的。例如,将用于显示数据处理结果的方法可以命名为DisplayResults。或者使用一种方法来检查一个数是否是素数,然后可以将该方法命名为IsPrime。 方法体中包含的语句将在调用该方法时执行。
与使用void关键字作为前缀的没有返回值的方法不同,具有return值的方法以返回值类型开始,然后紧跟着方法的名称。方法的返回值类型可以是整数、浮点数、字符串、数组或对象。具有返回值的方法也返回与返回值类型匹配的值。return关键字用于将值返回给方法。
在本例中,方法定义是在DataForm的类构造函数后面完成的,如第22行到第35行所示。方法定义是在它所在的类中完成的。
下面的案例展示了如何定义具有返回值的方法
任务5.2 参数的方法
如果将处理的数据用作参数,则方法可以处理不同的数据。通过在方法中传递参数,该方法处理的数据将是动态的。有关详细信息,这里是使用参数定义方法的格式如图
或者
任务5.3 如何重载方法
方法重载是一种编程技术,它允许两个或多个方法具有相同的名称,但具有不同类型的参数。通过使用重载技术,可以创建两个或多个具有相同名称的方法,但每个方法具有不同的参数。只有当我们希望方法处理不同类型的数据时,才能对方法进行重载。两个同名的方法能够处理不同类型的数据。下面是简单的方法重载案例如图
这个例子是定义并重载CalculateArea和CalculateCircumference方法
使用格式化字段来读取输入
Formatted Field是java GUI编程中提供的控件之一,通常用于处理格式化输入,如日期或其他格式化条目。此控件由swing库中包含的JFormattedTextField类处理。
任务5.4 如何创建递归方法
递归方法是调用自身的方法。递归是一种允许方法调用自身的编程技术。递归方法将重复调用它自身,因此我们需要一个使调用停止的条件。使用递归方法解决问题与使用循环语句解决问题具有相同的工作原理。因此,可以用循环语句解决的问题也可以用递归方法解决。
例如,一个显示“我爱Java”字符串多达10次的程序可以通过如下循环语句来解决。
for(int i=0;i<10;i++)
{
System.out.println("我爱Java");
}
或者像下面这样使用递归方法。
void Display(int n)
{
if(n>1)
Display (n-1);
System.out.println("我爱Java");
}
通过在调用Display方法时传递值10作为参数,使程序显示字符串“我爱Java”10次
下面的案例将展示递归方法的工作方式。
本例将演示如何在一个列表中使用10次递归地显示字符串“爱你一生一世”。显示名称的方法。当单击“表白”按钮时,字符串将被取消。
以下是创建此应用程序的步骤。
① 创建名为RecursiveDisplay的项目。
② 添加名为StringForm的JFrame Form。
③. 用变量名listString添加一个列表。
④ 添加一个变量名为DisplayButton的按钮,并用“表白”改变文本。
这是单击按钮时显示的应用程序如图所示。
在定义方法之前,必须使用以下代码导入Vector类:
import java.util.Vector;
下面是定义Display方法的代码。
- Vector data=new Vector();
- public StringForm(){
- initComponents();
- }
- void Display(int n)
- {
- if(n>1)
- Display(n-1);
- data.add("爱你一生一世"+n);
- }
以下是“Display”按钮事件的代码。
- private void DisplayButtonActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- Display(10);
- listString.setListData(data);
- }
这是单击按钮时显示的应用程序如图