Java09-java语法基础(八)java中的方法
一、方法(函数/过程):是一个程序块,可以完成某种功能
1、java中方法的定义格式
[访问控制修饰符] 返回值类型 方法名(参数列表){
方法体;
}
注意:
(1)返回值类型:方法运算结果的类型,若方法没有结果值,返回值类型为void
(2)方法名:用户标识符(字母、_、$开头),建议用动词开头,做到见名知意,首字母小写。如:setName、printInfo。
(3)参数列表:方法可以有参数,可以没有参数。但是“()”不能省略。如果有多个参数,参数之间用“,”分隔。
强调:java的主方法
java程序分类:
(1)java应用程序:Java Application
(2)java小程序:Java Applet
(3)java web
参数:是一个String类型的一维数组,从命令行项main方法传递参数
示例一:无参方法,计算0到100的和
强调:方法的返回值类型必须和方法体中return后的表达式一致;若方法体中没有return语句,则该方法的返回值类型为void
示例二:有参方法,计算某个数的阶乘,数由参数传递
2、方法的调用
(1)无参方法
有返回值:类型名 变量名 = 对象名.方法名();
无返回值:对象名.方法名();
(2)有参方法
有返回值:类型名 变量名 = 对象名.方法名(实参);
无返回值:对象名.方法名(实参);
强调:
形参(形式参数):在方法定义的时候出现在方法首部的参数为形参,该参数没有确定的值;
实参(实在参数):在方法调用时出现在方法首部的参数,该参数有确定的值。
参数的传递方向是单向的:只能从实参将数据传递给形参,形参的改变不影响实参。
二、方法的重载
1、面向对象编程的特性:封装、多态、继承(例子:现实生活)
(1)封装性:对象的属性和行为封装在一起,某些属性和方法无法在外部直接访问。
(2)多态性:对象在接收到同一信息时,做出的反应是不同的。
(3)继承性:子类可以继承父类的属性和方法,而不需要重新再写属性和方法。
2、方法的重载
相同的方法名,在接收到不同的参数后,能实现不同的功能。
强调:不同参数:个数或类型不同
示例:实现不同类型方法的求和运算
三、递归调用:方法自己调用自己
1、前提条件
(1)问题可以进行分解,分解后新问题的解法和原问题的解法相同
(2)必须有明确的结束条件
2、递归的过程
(1)自上而下分解问题
示例:递归计算阶乘
5!—— > 5*4!
4!—— > 4*3!
3!—— > 3*2!
2!—— > 2*1!
(2)自下而上解决问题
5! <—— 5*4!
4! <—— 4*3!
3! <—— 3*2!
2! <—— 2*1!