什么是方法
- 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
- 注意:方法必须先创建才可以使用,该过程成为方法的定义
- 方法创建后并不能直接运行的,需要手动使用后才执行,该过程称为方法的调用
- System.out.println(),是什么意思呢? System是一个系统的类,out是一个对象,println是一个方法
- Java方法是语句的集合,他们在一起执行一个功能。
- 设计方法的原则:一个方法只完成一个功能,这样有利于我们后期的扩展。
修饰符 返回值 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; }
- 举例
public static void main(String[] agrs) { int max=max(10,10); System.out.println(max); } public static int max(int num1,int num2){ int result=0; if (num1==num2){ return 0;//终止方法 } if (num1>num2){ return num1; }else { result = num2; } return result; } }
带参数方法的定义
- 格式
public static void 方法名 (参数){....}
- 格式(单个参数)
public static void 方法名 (数据类型 变量名)
- 格式(多个参数)
public static void 方法名 (数据类型 变量名1,数据类型 变量名2)
- 注意:方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
- 方法定义时,多个参数之间使用逗号(,)分隔
带参数方法调用
- 格式:
方法名(参数)
- 格式(单个参数)
方法名(变量名/常规值)
- 格式(多个参数)
方法名(变量名1/常规值1,变量名2/常规值2)
- 注意:方法调用时,参数的数量与类型必须与方法定义设置相匹配,否则程序会报错
方法的重载
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。
- 方法名相同
- 方法的参数类型,参数个不一样
- 方法的返回类型可以不相同
- 方法的修饰符可以不相同
- main 方法也可以被重载
命令行传参
- 有时候你希望运行一个程序的时候再传递给他消息。这是要考传递命令
public class ddd { public static void main(String[] agrs) { for(int i = 0; i<agrs.length; i++){ System.out.println("args["+i+"]"+agrs[i]); } } }
可变参数
public static void main(String[] agrs) { printMax(34,3,3,2,56.5); printMax(3,5); } public static void printMax(double...numbers){ if (numbers.length==0){ System.out.println("no argument passed"); return; } double result=numbers[0]; //排序! for (int i=1;i<numbers.length;i++){ if (numbers[1]>result){ result=numbers[1]; } } System.out.println("max:"+result); } }
max:34.0 max:5.0
递归(重点)
- 死循环,栈会溢出,自己调用自己
public static void main(String[] agrs) { ddd test = new ddd(); test.test(); } public void test(){ test(); } }
- 例子
public static void main(String[] agrs) { //5! 5*4*3*2*1=120 System.out.println(f(5)); } public static int f(int n){ if (n==1){ return 1; }else { return n* f(n-1); } } }