函数定义

函数的基本语法结构:

1
2
3
4
修饰符 返回值类型 函数名字(参数类型 参数名字,...) {
操作 ...
return 返回值;
}

定义函数就是定义了一段有着明确功能的子程序,但定义函数本身不会执行任何代码,函数要被执行,需要被调用。

java中,任何函数都需要放在一个类中。函数放在类中,类中包含多个函数。

函数一般叫做方法。

一个类里面可以定义多个函数,可以定义一个叫做main的函数,形式如下:

1
2
3
public static void main(String[] args) {
...
}

main函数表示程序的入口,String[] args表示从控制台接收到的参数。

java中运行一个程序的时候,需要指定一个定义了main函数的类,java会寻找main函数,并从main函数开始执行。

对于需要重复执行的代码,可以定义函数,然后在需要的地方调用,这样可以减少重复代码。

数组参数

数组作为参数与基本类型不同,基本类型不会对调用者中的变量造成任何影响(不懂这句= =),但数组不是,在函数内修改数组中的元素会修改调用者中的数组内容。

1
2
3
4
5
6
7
8
9
10
11
12
public static void reset(int[] arr){
for(int i=0;i<arr.length;i++){
arr[i] = i;
}
}
public static void main(String[] args){
int[] arr = {10,20,30,40};
reset(arr);
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}

在reset函数内给参数数组元素赋值,在main函数中数组arr的值也会变。

可变长度的参数

有的时候,参数个数不是固定的,数量是未知的。

java支持可变长度的参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static int max(int min,int... a) {
int max = min;
for(int i=0;i<a.length;i++) {
if(max<a[i]) {
max = a[i];
}
}
return max;
}

public static void main(String[] args) {
System.out.println(max(0));
System.out.println(max(0,2));
System.out.println(max(0,2,4));
System.out.println(max(0,2,4,5));
}

max函数接受一个最小值,以及可变长度的若干参数,返回其中的最大值。

可变长度参数的语法是在数据类型后面加三个点…,在函数内,可变长度参数可以看作是数组,可变长度参数必须是参数列表中的最后一个参数,一个函数也只能有一个可变长度的参数。

可变长度参数实际上会转换为数组参数,函数声明max(int min,int… a)实际上会转换为max(int min,int[] a)。在main函数调用max(0,2,4,5)的时候,实际上会转换为调用max(0,new int[]{2,4,5}),使用可变长度参数主要是简化了代码书写。

函数的返回值最多只能有一个,void情况下没有返回值。

同一个类里,函数可以重名,但是参数不能一样。一样是指参数个数相同,每个位置的参数类型也一样。但参数的名字不算,返回值类型也不算。

换句话说,函数的唯一性标示是:类名_函数名_参数2类型_…参数n类型

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021 Silver Shaded
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信