函数
函数定义
概念:函数,也称方法;我们把一定功能模块封装成一个独立的模块,在我们需要用到它时调用它,在没有调用时不会执行。
目的:提高代码的复用性和维护性。
定义:修饰符 返回类型 函数名(参数类型 参数n){
实现功能的多行代码;
return 返回值;
}
其中参数可以有多个,各参数之间逗号隔开。
函数的调用:对象名.函数名(传入参数);,当方法被static修饰时可以直接类名.方法名(参数);。注意,传入参数与函数参数一致。
例如:
package com.method;
//基本函数的定义
public class Twst01 {
public static void main(String[] args) {
int a = 30;
byte b = 20;
int sum = 0;
int dev = 0;
int number = getNumber(dev, sum, a, b);//方法的调用
System.out.println(number);
}
public static int getNumber(int dev,int sum, int a,int b) {
//方法体开始
if(a<b) {
sum = a+b;
return sum;
}else {
dev = a-b;
return dev;
}
//方法体结尾
}
}
大家可能会觉得在函数调用的时候,结收返回值直接手输入比较麻烦,这里有个快捷键ctrl+1,后续可能有些变量在接收返回值时有些麻烦就可以一键生成。当然,刚刚开始学习的话个人建议手写,便于加深印象。
另外有种特殊情况,当输入参数不定且类型确定时,就可以采用可变参数的形式
如下:
package com.method;
//可变参数
public class Test02 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
int d = 40;
getSun(a,b,c,d);//调用方法,传参
}
public static void getSun(int...arr) {
for(int i = 0;i<arr.length;i++) {
System.out.println(arr[i]);
}
}
}
解释一下,因为传入参数是不确定其数量的,所以将传入参数统一放入一个数组arr中,所以最后输出的是数组的各个元素。
方法的重载
指同一个类中,可以有相同的方法名(或者说函数名),但是其参数类型不同,这种情况称为方法(或者函数)的重载。
如下:
package com.method;
//重载
public class Test03 {
public static void main(String[] args) {
int a = 40;
int b = 20;
byte c = 30;
byte d = 5;
int dev = 0;
int sum = 0;
getNumber(dev,c, d);//调用求dev的函数
a = 10;
b = 10;
getNumber(sum, a, b);//调用了求sum的函数
}
public static void getNumber(int sum,int a,int b) {
System.out.println("hello");
sum = a+b;
System.out.println(sum);
}
public static void getNumber(int dev,byte c,byte d) {
System.out.println("sure");
dev = c-d;
System.out.println(dev);
}
}
所以可以知道的是,在调用重载函数的时候,只需要改变方法的不同对应的参数,就会得到不同的结果。