一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情。
什么是方法
- 方法(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);
}
}
}