Java中可变参数与作用域使用细节

Java中可变参数与作用域使用细节

可变参数

概念:Java中允许将同一个类中多个同名同功能但是参数个数不同的方法,封装成一个方法,可以通过可变参数实现。一个形参列表中只能有一个可变参数。

基本语法:

访问修饰符 返回类型 方法名(数据类型 …形参名){

}

举个例子

首先大家看一下以下一段代码,如果想要求得100个,那岂不是很麻烦,这个时候就可以使用可变参数

1
2
3
4
5
6
7
8
9
10
11
12
13
class Function {
public int sun(int n1, int n2) {
return n1 + n2;
}

public int sun(int n1, int n2, int n3) {
return n1 + n2 + n3;
}

public int sun(int n1, int n2, int n3, int n4) {
return n1 + n2 + n3 + n4;
}
}

使用可变参数进行实现,这个时候就可以把参数当作数组来进行对待,其用法与数组类似:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**利用递归求取斐波那契数,数量大于2*/
import java.util.Scanner;
public class Test {

public static void main(String []args){
Test test=new Test();
test.sums(10,20,30,40,50);
}

public int sums(int ...num){
System.out.println("参数的个数为"+num.length);
int res=0;
for (int i=0;i<num.length;i++){
res=res+num[i];
}
System.out.println("和为"+res);
return res;
}

}

image-20220417114801844

作用域使用细节

  1. Java中,主要的变量就是属性(成员变量)与局部变量
  2. 局部变量一般是指成员方法中定义的变量。
  3. 作用域分类:全局变量:就是属性,作用域为整个类体,局部变量:也就是除了属性之外的其他变量,作用域为定义他的代码块
  4. 全局变量使用可以不赋值,系统自动匹配默认值,而局部变量必须赋值后才能使用。
  5. 全局变量可以加上修饰符,但是局部变量不可加修饰符。