前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >细说Java中方法的定义以及两种调用方式

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

作者头像
Gorit
发布2021-12-09 15:21:58
3240
发布2021-12-09 15:21:58
举报
文章被收录于专栏:Gorit 带你学全栈系列

一、Java中方法的定义

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

1.1 四种方法类型

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

  1. 无参数无返回值
  2. 无参数有返回值
  3. 有参数无返回值
  4. 有参数有返回值
1.2 方法定义的格式

格式: 访问修饰符 返回值类型 方法名(参数列表){ 方法体; }

1.3 名词解释

(1)访问修饰符:方法允许被访问的权限范围,可以是public、protected、private,还可以忽略,还有一点,public可以被任意代码调用 (2)返回值类型:这个可以为int,float,byte等等一些数据类型,一般在方法体中最后一句用return 返回一个参数 (3)参数列表:通常是我们在方法外要传入的参数,还可以传入数组等等 (4)方法体:这就很简单了呗,写下你想写的语句来满足你的要去就可以啦

1.4 看看这几个实例你也许就懂了

先举个最简单的实例把

代码语言:javascript
复制
//方法一,这是无参数无返回值的方法,有返回值的就是用return
public void show(){
	System.out.print("大家好");
}

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

代码语言:javascript
复制
//很明显,这是一个比大小的方法,大的一者返回
public int exchange(int a,int b){
	if(a>b)
		return a;
	else
		return b;
}

是不是很简单呢?

二、Java中方法的调用

2.1 两种调用方法的方式
  1. 通过创建主函数的对象来调用方法
  2. 通过把 “static” 修饰符把方法可以直接调用函数

下面这个实例可能会有些复杂,但是看懂方法的调用的方式就可以了

2.2.1 问题描述

给定一个正整数N,然后求1! + 2! +3! +4!……N!

2.2.2 输入样例

3

2.2.3 输出样例

9

2.2.4 代码实现

方法一:

代码语言:javascript
复制
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
复制
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;
  }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Java中方法的定义
    • 1.1 四种方法类型
      • 1.2 方法定义的格式
        • 1.3 名词解释
          • 1.4 看看这几个实例你也许就懂了
          • 二、Java中方法的调用
            • 2.1 两种调用方法的方式
              • 2.2.1 问题描述
                • 2.2.2 输入样例
                  • 2.2.3 输出样例
                    • 2.2.4 代码实现
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档