1.8 方法
1.8.1方法的的定义
定义:完成特定功能的代码块。在很多语言里面有函数的定义,而在Java中函数被称为方法。
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){
方法体语句;
return 返回值;
}
解释:
修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。
返回值类型:就是功能结果的数据类型。
方法名:符合命名规则即可。方便我们的调用。
参数类型:就是形式参数的数据类型
形式参数;就是方法定义上的,用于接收实际参数的。
实际参数:就是实际参与运算的。
参数名:就是变量名
方法体语句:就是完成功能的代码。
return:用于结束方法。
返回值:就是功能的结果,由return带给调用者。
想要写出一个方法,就必须先明确两点:返回值类型和参数列表
示例1:
class FunctionDemo{
public static void main(String [] args){
int x = 10;
int y = 2;
int result = sum(x,y);
System.out.println(result);
}
public static int sum(int a,int b){
return (a+b);
}
}
运行结果:
示例2:在键盘中录入两个数据,并比较两个数据的值是否相等。
import java.util.Scanner;
class FunctionTest2{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int a = sc.nextInt();
System.out.println("请输入第二个数:");
int b = sc.nextInt();
boolean result = compare(a,b);
if(result==true){
System.out.println("您所输入的两个数据相等");
}
else {
System.out.println("您所输入的两个数据不相等");
}
}
public static boolean compare(int a,int b){
return (a == b);
}
}
运行结果:
示例3:键盘录入行数和列数,输出对应的星形
import java.util.Scanner;
class FunctionTest4{
public static void main(String [] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.print("请输入行数:");
int m = sc.nextInt();
System.out.print("请输入列数:");
int n = sc.nextInt();
//调用打印星星的方法
getXing(m,n);
}
public static void getXing(int m,int n){
for(int x = 1;x <= m;x++){
for(int y = 1;y <= n;y++){
System.out.print("*");
}
System.out.println();
}
}
}
运行结果:
示例4:键盘录入一个数据n(1<=n<=9),输出对应的nn乘法表
import java.util.Scanner;
class FunctionTest5{
public static void main(String [] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入n的值(1-9):");
int n = sc.nextInt();
printNN(n);
}
public static void printNN(int n){
for(int x = 1;x <= n;x++){
for(int y = 1;y <= x;y++){
System.out.print(y+"x"+x+"="+x*y+'\t');
}
System.out.println();
}
}
}
运行结果:
1.8.2 方法的重载
定义: 在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
注意:重载与与返回值类型无关。
示例:
class FunctionDemo{
public static void main(String[] args){
System.out.println(add(3,4));
System.out.println(add(3.0,4.0));
System.out.println(add(3,4,5));
}
//加法运算,两个整数的和
public static int add(int a, int b){
return a + b;
}
//加法运算,两个小数的和
public static double add(double a, double b){
return a + b;
}
//加法运算,三个整数的和
public static int add(int a, int b,int c){
return add(a,b) + c;
}
}
运行结果: