细说Java中方法的定义以及两种调用方式

细说Java中方法的定义以及两种调用方式

一、Java中方法的定义在讲示例之前,我先总结一下Java中方法如何定义以及如何调用

1.1 四种方法类型Java中的方法可以分为以下四类:

无参数无返回值无参数有返回值有参数无返回值有参数有返回值1.2 方法定义的格式 格式: 访问修饰符 返回值类型 方法名(参数列表){

方法体;

}

1.3 名词解释(1)访问修饰符:方法允许被访问的权限范围,可以是public、protected、private,还可以忽略,还有一点,public可以被任意代码调用

(2)返回值类型:这个可以为int,float,byte等等一些数据类型,一般在方法体中最后一句用return 返回一个参数

(3)参数列表:通常是我们在方法外要传入的参数,还可以传入数组等等

(4)方法体:这就很简单了呗,写下你想写的语句来满足你的要去就可以啦

1.4 看看这几个实例你也许就懂了先举个最简单的实例把

代码语言:javascript代码运行次数:0运行复制//方法一,这是无参数无返回值的方法,有返回值的就是用return

public void show(){

System.out.print("大家好");

}下面这个定义的就是有参数有返回值的方法

代码语言:javascript代码运行次数:0运行复制//很明显,这是一个比大小的方法,大的一者返回

public int exchange(int a,int b){

if(a>b)

return a;

else

return b;

}是不是很简单呢?

二、Java中方法的调用2.1 两种调用方法的方式通过创建主函数的对象来调用方法通过把 “static” 修饰符把方法可以直接调用函数下面这个实例可能会有些复杂,但是看懂方法的调用的方式就可以了

2.2.1 问题描述给定一个正整数N,然后求1! + 2! +3! +4!……N!

2.2.2 输入样例 3

2.2.3 输出样例 9

2.2.4 代码实现方法一:

代码语言:javascript代码运行次数:0运行复制package gorit;

//求阶乘之和

import java.util.Scanner;

public class Main{

public static void main(String[] args){

Scanner input=new Scanner(System.in);

Main a=new Main();// ==============看这里,我们在这里创建了一个Main 的对象 a,

int n=input.nextInt();

int S=0;

for(int i=1;i<=n;i++){

S += a.fac(i);//求阶乘之和 ==================在这里我们通过对象a来调用方法,这是第一种方法

}

System.out.print(S);

}

//定义求阶乘的函数,递归法

public int fac(int i){

if(i==0||i==1)

return 1;

else

return fac(i-1)*i;

}

}方法二:

代码语言:javascript代码运行次数:0运行复制package gorit;

//求阶乘之和

import java.util.Scanner;

public class Main{

public static void main(String[] args){

Scanner input=new Scanner(System.in);

//Main a=new Main(); 我们把这里把Main 创建的对象 注释掉=======1

int n=input.nextInt();

int S=0;

for(int i=1;i<=n;i++){

S += fac(i);//求阶乘之和 ===============这里把 a. 也去掉====2

}

System.out.print(S);

}

//定义求阶乘的函数,递归法

public static int fac(int i){

/*在这里public 与 int 之间加一个 static,

然后程序就可以运行了,我解释一下:因为main是static类型的,是类成员,类成员可以直接使用类成员,

所以我设置的方法用static修饰的话就可以直接使用,不需要创建对象*/

if(i==0||i==1)

return 1;

else

return fac(i-1)*i;

}

}

相关文章