东南博职业技术学院
课 时 授 课 计 划 编号:Win001
班级
班
班
班
日期
第4教学周
课
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
方法
目的
要求
要求学生掌握Java中方法的声明格式、调用方式,理解参数传递
重
点
方法的声明与调用
难
点
方法的声明与调用
教
法
讲 授
动手操作
教 具
教材及课外资料
无课外资料
课时
分配
组织教学
0
复习旧课
上机练习
讲授新课
2
小结巩固
1
布置作业
上机练习
其他
1
教
学
内
容
及
进
程
1、 方法声明
2、 方法调用
3、 参数传递
课外
作业
课后
作业
1. 求1!+2!+3!+…+n!的值。
2. 编写方法判断一个数是否是水仙花数。(水仙花数指满足abc与a*a*a+b*b*b+c*c*c相等的三位数)
第4章 方法
本章导读
类由成员变量和方法组成。
方法定义类对象的行为或动作,即对象可以执行的操作,与子程序、函数概念相当。
一个类可以有多个方法,通过方法完成特定的功能。方法一旦定义,就可以在不同的程序段中多次调用。
讲述方式:以求“1+2+…+15”、“1+2+…+21”和“1+2+…+30”为例,讲述方法的多次调用意义,然后讲模块化,然后改写为有返回值的方法。
4.1 方法声明
方法在类中声明,格式如下:
[修饰符] 返回值类型 方法名([参数表])
{
声明部分;
语句部分;
}
说明:
(1)修饰符:可以是公共访问控制符public、私有访问控制符private、保护访问控制符protected等。
(2)返回值类型:如int、float、String或void;
(3)参数表传递参数的个数和类型,参数间用逗号隔开;无参方法:即方法没有参数,但方法名后面的一对圆括号不能省;
(4)有返回值的方法(即返回值类型不是void的方法)至少有一条return语句,形式为return (表达式)或return 表达式;
(5)方法不能嵌套声明(或定义),即不能在方法中再声明其他方法。
4.2 方法调用
1.方法调用的方式
有返回值的方法调用:val=add(x,y);
无返回值的方法调用:showTime();
注意:
(1)形参(形式参数)、实参(实际参数)的个数、顺序类型要一一对应,且实参可以是常量、变量或表达式,实参无需写类型;
(2)调用方法时,首先将实参传递给临时形参,然后执行方法体;
示例:以P52第5题为例,求1!+2!+3!+…+n!的值。
import java.io.*;
class TestM
{
public static long jieCheng(int x) //定义方法,求阶成x!
{
long he=1;
for(int i=1; i<=x; i++)
{
he = he * i;
}
return he;
}
//he=x!
public static long zongHe(int m)
//定义方法,求阶成之和1!+2!+3!+...+m!
{
long zHe = 0;
for(int i=1; i<=m; i++)
{
long temp = jieCheng(i);
//调用另一个方法,temp=i!
zHe = zHe + temp;
}
//zHe = 1!+2!+...+m!
return zHe;
}
public static void sCJieGuo(long n)
{
System.out.println("1!+2!+...x!="+n);
}
public static void main(String args[]) throws IOException
{
BufferedReader shuru = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入数字:");
String str = shuru.readLine();
//读入一行
int x = Integer.parseInt(str);
//将键盘输入的字符串转为整数
long y = zongHe(x);
//调用有返回值的方法
sCJieGuo(y);
//调用无返回值的方法
}
}
4.3 构造方法
· 构造方法:是一个特殊的方法,方法名与其所在的类名相同;
· 构造方法在初始化类的对象时,被自动调用;
· 构造方法可以有多个,它们的区别是参数个数或类型不同;
还有静态方法(如main),以后介绍。
4.4 参数传递
在Java中,参数传递是以传值的方式进行,即将实际参数的值传递给形式参数。系统为形式参数重新分配存储单元。(P48)
4.5 递归
递归就是用自身的结构来描述自身,如求n!就用到递归。
练习:
P52页第4题:Fibonacci数列的第一项是0,第二项是1,以后各项都是前两项的和,编写方法求第N项的值。