Day4-JAVA-方法

JAVA-方法

Day4-JAVA-方法

方法是语句的集合,他们在一起执行一个功能

设计方法原则:一个方法只完成1个功能,这样有利于后期扩展

方法的定义

java的方法类似于其他语言的函数

1
2
3
4
修饰符 返回值类型 方法名(参数类型 参数名){
方法体
return 返回值;
}

返回值类型void,表示没有返回

参数类型:

  1. 实参:是用于传递参数的
  2. 形参:是用来接受参数的
1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
// 1和2就是实参
int sum = add(1, 2);
System.out.println(sum);
}
// a和b就是形参
public static int add(int a, int b) {
return a+b;
}

return 0表示终止方法

当方法返回一个值的时候,方法通常被当做一个值

1
int sum = add(1, 2);

当方法返回值是void,方法调用是一条语句

1
System.out.println("abc")

方法的重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数

方法的重载规则:

  • 方法名称必须相同
  • 参数列表必须不同(形参个数不同、类型不同、参数排列顺序不同等)
  • 方法的返回类型可以相同也可以不同
  • 仅仅返回类型不同不足以成为方法的重载

命令行传参

就是靠cmd终端传递参数,==需要传递参数给main()函数==

1
2
3
4
5
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("arge["+ i +"]:"+args[i]);
}
}

需要到命令行先编译成class文件

  1. 先切换到文件路径

    1
    cd J:\代码\JavaSE\JavaSE\Basic grammar\src\com\nubt156\method
  2. 编译成class文件

    1
    javac .\Dome02.java -encoding utf-8
  3. 然后在切换到src目录下运行

    1
    cd J:\代码\JavaSE\JavaSE\Basic grammar\src
    1
    java com.nubt156.method.Dome02 zhen shuai a

    image-20230205114858052

可变参数

指形参可以接受任意个参数,一个方法中只能有一个

在方法生命中,在指定参数类型后加一个省略号…

1
public void test(int... i){}

==切记可变参数必须放在最后,也就是int… i必须放在最后==

1
2
3
4
5
6
7
8
9
10
11
12
public class Dome03 {
public static void main(String[] args) {
Dome03 dome03 = new Dome03();
dome03.test(1,2,3,44,5);
}
public void test(int... i){
for (int j = 0; j < i.length; j++) {
System.out.print(i[j]+"\t");
}
}
}
// 1 2 3 44 5

递归

递归就是自己调用自己

递归结构包括两个部分:

  • 递归头:什么时候不调用自身方法,就是加一个结束递归的条件。如果没有,将陷入死循环。
  • 递归体:什么时候需要调用自身的方法。

适用于小计算,不适合用于大计算

1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int i){
if (i==1){
return 1;
}else {
return i * f(i -1);
}
}

对于递归详细理解:

image-20230211175336662


简单理解:

image-20230211180416970