Java方法
system.out.print(),(类,对象,方法)。
方法:
- 一起执行一个功能,解决一类问题的有序组合。
- 包含于类或者对象中。
- 在程序中创建,在其他地方被引用。
原则: 保持原子性,一个方法一个功能。便于后续扩展。方法要严谨。
定义:
包括方法头和方法体。
格式:
public static int add(int a,int b){
return a+b;
}
修饰符 返回值类型 方法名( 参数类型 参数名){
方法体
返回值}
- 修饰符 包括 public static final 不加限定词static,无法调用方法。
- 返回值 void 表示返回值为空
- 方法名 遵守规则开头小写,后面大写。
- 参数类型 占位符
- 形参:用来定义
- 实参:实际调用传递的参数。
- 返回值 中止方法,方法结束;返回需要的值。
Java都是值传递
方法的重载
方法名称必须相同,方法参数必须不同(个数,类型,排序),返回类型可以相同也可以不同。
实现理论:根据方法名称,参数个数逐个匹配。若匹配失败则编译器报错。
命令行传参
程序运行时给它传递消息。需要 传递命令行参数 main()方法。
public static void main(String[] args) {
for (int i = 0; i <args.length ; i++) {
System.out.println("args["+i+"]:"+args[i]);
}
}
java 命令行编译时,在Javac编译后要在src下运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a0FRvDKm-1677073588054)(image/day07方法/1677071510523.png)]
可变参数
避免方法重载过多,支持传递同类型可变参数给一个方法。
声明时,参数类型后加 …
方法的最后一个参数可为指定可变参数,一个方法中只能有一个。
public class Demo02 {
public static void main(String[] args) {
Demo02 demo02=new Demo02();
demo02.teat(1,2,3,4);
}
public void teat(int ... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
}
}
递归
a方法调用a方法
结构包括:
- 递归头:何时不调用自身方法。若无递归头,陷入死循环。
- 递归体:合适调用自身方法。
Java 栈方法
阶乘例子:
public class Demo03 {
public static void main(String[] args) {
//阶乘
System.out.println(f(5));
}
public static int f(int n){
if(n==1){
return 1;
}else {
return n*f(n-1);
}
}
}