1.方法的作用:减少重复性代码,实现代码复用;方便后期维护
2.方法:具有特定功能一段独立代码
3.声明方法:
3.1:语法:
访问修饰符 扩展修饰符【static/final/abstract】 返回值类型 方法名(
数据类型1 参数1,数据类型2 参数2... ){
代码块;
【return 结果;】
}3.2: 访问修饰符:public,protected,default,private ,表示方法访问权限,现在常用public作 方法的访问修饰符。
3.3:返回值类型:方法执行完后返回的结果的类型叫返回值类型,常用的方法返回值类型有 void,Java支持所有数据类型。如果方法执行完后不想返回任意结果就用 void,如果方法执行完后想返回结果,返回值类型就是这个结果的数据类 型,同时一定要用return返回结果。
3.4:方法名:自定义,采用驼峰式命名法。
3.5:方法参数:执行方法时所需要原材料。参数名与变量名命名规则一致,一个方法的参数可 以有0个到多个,参数前一定要有数据类型。参数在方法中当作已知变量来用。
3.6:return 结果:方法执行完后要返回的结果。方法的返回结果可以任意类型,只能返回一 个值。只要方法的返回值类型不为void,方法中一定要用return 结果,且结 果的类型与返回值类型一致。
3.7:声明方法只表示有这种功能,方法不调用不执行。
3.8:方法与方法之间是一种并列的关系,不能嵌套。
3.9: 一个方法只要声明一次,就可以多次调用。
3.10:在同一个类中不能有相同方法。
3.11:方法的类型:eg:/** * 声明刷屏的方法,是一个无参无返回值的方法 */ public static void flushScreem(){ System.out.println("刷屏了"); } /** *声明自我介绍的方法,是一个有参无返回值的方法 */ public static void showMyself(String name,int age){ System.out.println("大家好,我叫"+name+",今年"+age); } /** *声明榨汁的方法,是一个有参有返回值的方法 */ public static String juicing(String fruit){ return "榨出一杯"+fruit+"汁"; } /** * 声明提示发红包的方法,无参有返回值的方法 */ public static String money(){ return "迟到要发红包"; }
4.调用方法:方法名(参数1,参数2...);
eg://调用无参无返回值的方法 flushScreem(); //调用有参无返回值的方法 showMyself("小明",18); //调用有参有返回值的方法,将方法的返回结果存在变量中 String result=juicing("西瓜"); System.out.println(result); //调用无参有返回值的方法,将方法的返回结果存在变量中 String result2=money(); System.out.println(result2);
5.参数类型
形参:方法声明时小括号中参数。形参前一定要带数据类型。
实参:方法调用时小括号中参数。方法调用时实参直接给值,一定不能写数据类型。
对同一个方法,形参与实参的个数要一致,类型要匹配,位置要一一对应。
6.方法重载的作用:解决同一个类,功能相同,多个方法的命名和调用
7.方法重载的条件
7.1:在同一个类中(一般情况都是,特殊情况子类继承父类的方法,再写一个构成重载);
7.2:方法名相同;
7.3:参数列不同(参数的个数不同,数据类型不同)
7.4: 返回值类型一致
8.方法重载调用,用实参数列表来判断调用了哪个方法
eg:/** *方法重载使用 */ public class MethedTest2{ /** *程序的入口方法 */ public static void main(String[] args){ //调用方法,并将方法的返回结果存在变量中 double result=sum(1,2,7,11); System.out.println("和为:"+result); } /** *计算两个数之和的方法 */ public static double sum(double num1,double num2){ System.out.println("计算两个数之和的方法"); double sum=num1+num2; return sum; } /** *计算三个数之和的方法 */ public static double sum(double num1,double num2,double num3){ System.out.println("计算三个数之和的方法"); double sum=num1+num2+num3; return sum; } /** *计算四个数之和的方法 */ public static double sum(double num1,double num2,double num3,double num4){ System.out.println("计算四个数之和的方法"); double sum=num1+num2+num3+num4; return sum; } }
练习:声明两个打印直角三角形的方法,第一个方法打印高度为5的直角三角形,图形的符号作为参数;第二个方法打印直角三角形,高度和符号都作为参数,用方法重载去实现。
9.递归:方法自身调用自身
递归使用条件:
1:可以将原问题拆分为若干子问题,子问题的解决方法与原问题一样。
2:原问题的解决依赖所有子问题的解决。
3:递归一定要有出口简单的问题能用递归解决,也可以循环结构解决。
一般复杂的问题能用递归解决,不一定能循环结构解决