public class Main {
public static void main(String[] aaa) {
int a = 10;
int b = 20;
int c = 30;
int f = 60;
// 函数的调用
double d = avg(a, b, c);
System.out.println(d);
System.out.println(avg(a, c, f));
}
/**
* public static 返回值类型 函数名(参数类型1 参数名1,参数类型2 参数名2,...){
* retuen 函数声明的返回值类型;
* }
*/
public static double avg(int aa, int bb, int cc) {
double sum = (aa + bb + cc) / 3.0;
// 函数声明的返回值类型要和这里一样
return sum;
}
}
2、可变参数
可变参数必须是最后一个,否者会报错,例如print(int…params,int a)
public class Main {
public static void main(String[] args) {
print();
print(12);
print(12,34);
print(new int[]{1,2,3,4});
}
public static void print(int... params){
// params其实就是一个int数组
int param = params[0];
int length = params.length;
for(int a : params){
System.out.println(a);
}
}
}
基本类型数组作为可变参数
public class Main {
public static void main(String[] args) {
// [Ljava.lang.Object;@1b6d3586
// length: 0
print();
// [Ljava.lang.Integer;@4554617c
// length: 1
// 12
print(12);
// [Ljava.lang.Integer;@74a14482
// length: 2
// 12
// 34
print(12,34);
// [[I@1540e19d
// length: 1
// [I@677327b6
// [1, 2, 3, 4]
print(new int[]{1,2,3,4});//int[]整个作为可变参数的第一个数据
}
public static<T> void print(T... params){
System.out.println(params);
System.out.println("length: "+params.length);
for (int i = 0; i < params.length; i++) {
System.out.println(params[i]);
if (params[i] instanceof int[]){
System.out.println(Arrays.toString((int[]) params[i]));
}
}
}
}