广告
返回顶部
首页 > 资讯 > 精选 >Java基础入门篇之如何理解方法和重载
  • 532
分享到

Java基础入门篇之如何理解方法和重载

2023-06-15 23:06:42 532人浏览 安东尼
摘要

本篇内容介绍了“Java基础入门篇之如何理解方法和重载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么是方法简单来说方法就是一段可以被

本篇内容介绍了“Java基础入门篇之如何理解方法和重载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、什么是方法

简单来说方法就是一段可以被重复调用的代码块。对于一些复杂的代码,如果希望重复使用这些代码,做到随时都可以用,就把这些代码放在大括号({})中,自定义一个名字。需要使用这些代码时,使用这个名字调用就可以。

方法的语法格式

修饰符 返回值类型 方法名([参数类型 参数名1,参数类型 参数名2,...]){ 执行语句 ... return 返回值; }

语法格式的具有说明:

修饰符:方法修饰符比较多,对访问权限进行限定的,现在阶段的有public static两个关键字。

返回值类型:方法最终的结果数据是什么类型。

方法名:自定义的名称,命名规则和变量一样。

参数类型:用在调用方法时传入的参数的数据类型。

参数名:是一个变量,用在接受调用方法传入的数据。

return关键字:结束方法的执行,并将这个返回值还给调用处。

返回值:方法最终的结果数据。

需要注意一点就是“参数类型 参数名1,参数类型  参数名2”这个是叫做参数列表,它的作用是方法被调用时需要接受的参数。如果方法不接受任何参数,参数列表就是空的。方法的返回值一定是方法声明的返回值类型,如果方法的返回值类型声明为void,说明方法没有返回值,这时return就可以省略掉。

定义一个求两个整数和方法:

代码如下所示:

public static void main(String[] args) { // TODO Auto-generated method stub  Scanner scan = new Scanner(System.in);   int a = scan.nextInt();   int b = scan.nextInt();   int add_num = sum(a,b);//调用sum方法   System.out.println(add_num);    } //类的方法--定义一个求两个整数的和,接受两个参数n和m public static int sum(int n, int m) {   int sum = n + m;     return sum; }

输出的结果是:

5 6 11

从上面代码我们可以看出,接受用户输入的两个数a和b,定义一个方法求两个整数的和,分别用于接受调用方法的传入的n和m,把用户输入的a的值传给参数n,b的值传给参数m,定义一个int类型变量sum进行两个数的相加,通过return返回计算两个整数和相加。在main方法中,调用sum方法,获得两个整数的和的值,打印输出两个整数和的值。

二、方法的重载

同一个类中的两个或两个以上的方法可以有相同的名字,只要它们的参数声明不同即可,就是方法重载。

当一个重载方法被调用时,Java  根据参数的类型、参数的个数、参数的顺序来确定实际调用的是重载方法的哪一个版本,只有形式参数与调用参数相匹配的方法被执行。

通过一个小案例分析方法的重载:

public static void main(String[] args) { // TODO Auto-generated method stub  Scanner scan = new Scanner(System.in);   int a = scan.nextInt();   int b = scan.nextInt();   int add_num1 = sum1(a,b);//调用sum1方法   System.out.println("两个整数的和值"+add_num1);      int c = scan.nextInt();   int d = scan.nextInt();   int e = scan.nextInt();   int add_num2 = sum2(c,d,e);//调用sum2方法   System.out.println("三个整数的和值"+add_num2);      double x = scan.nextDouble();   double y = scan.nextDouble();   double z = scan.nextDouble();   double add_num3 = sum3(x,y,z);//调用sum3方法   System.out.println("三个小数的和值"+add_num3); } //sum1方法,求两个整数和的值接受两个参数,a和b public static int sum1(int a, int b) {   int sum = a + b;     return sum; } //sum2方法,求三个整数和的值接受三个参数,c d e public static int sum2(int c, int d,int e) {   int sum = c + d + e;     return sum; } //sum3方法,求三个小数和的值接受三个参数,x y z public static double sum3(double x, double y, double z) {   double sum = x + y + z;   return sum; }

运行的结果是:

1 2 两个整数的和值3 1 2 3 三个整数的和值6 1.2 1.5 1.3 三个小数的和值4.0

从上面我们可以看出如果每个方法的名称都不相同,在调用方法就很难哪种情况去调用哪种方法,解决这个问题就用java的重载的方法。java允许定义多个名称相同的方法,但是它的参数类型和个数不同。把这个例子修改成java的方法重载:

public static void main(String[] args) { // TODO Auto-generated method stub  Scanner scan = new Scanner(System.in);   int a = scan.nextInt();   int b = scan.nextInt();   int add_num1 = sum(a,b);//调用sum方法   System.out.println("两个整数的和值"+add_num1);      int c = scan.nextInt();   int d = scan.nextInt();   int e = scan.nextInt();   int add_num2 = sum(c,d,e);//调用sum方法   System.out.println("三个整数的和值"+add_num2);      double x = scan.nextDouble();   double y = scan.nextDouble();   double z = scan.nextDouble();   double add_num3 = sum(x,y,z);//调用sum方法   System.out.println("三个小数的和值"+add_num3); } //sum方法,求两个整数和的值接受两个参数,a和b public static int sum(int a, int b) {   int sum = a + b;     return sum; } //sum方法,求三个整数和的值接受三个参数,c d e public static int sum(int c, int d,int e) {   int sum = c + d + e;     return sum; } //sum方法,求三个小数和的值接受三个参数,x y z public static double sum(double x, double y, double z) {   double sum = x + y + z;   return sum; }

我们可以发现方法重载它需要满足两个条件:

第一个是方法名一样;

第二个是参数类型或参数的个数不同。

三、方法递归

方法的递归简单而言一个方法内调用自己本身。

使用递归实现九九乘法表:

public static void main(String[] args) { // TODO Auto-generated method stub n(9);  }  public static void n(int i) {      if (i == 1) {        System.out.println("1*1=1 ");      } else {        n(i - 1);        for (int j = 1; j <= i; j++) {          System.out.print(j + "*" + i + "=" + j * i + " ");        }        System.out.println();      }  }

运行的结果如下所示:

1*1=1  1*2=2 2*2=4  1*3=3 2*3=6 3*3=9  1*4=4 2*4=8 3*4=12 4*4=16  1*5=5 2*5=10 3*5=15 4*5=20 5*5=25  1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36  1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49  1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64  1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

递归方法是怎么执行的呢?递归的方式调用如下所示:

n(9) n(8)for(i=9) n(7)for(i=8) n(6)for(i=7) n(5)for(i=6) n(4)for(i=5) n(3)for(i=4) n(2)for(i=3) n(1)for(i=2)

“Java基础入门篇之如何理解方法和重载”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Java基础入门篇之如何理解方法和重载

本文链接: https://www.lsjlt.com/news/281816.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java基础入门篇之如何理解方法和重载
    本篇内容介绍了“Java基础入门篇之如何理解方法和重载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么是方法简单来说方法就是一段可以被...
    99+
    2023-06-15
  • java基础之方法和方法的重载详解
    目录一、带参方法1.1 带参方法的定义和调用1.2 带参方法使用注意事项1.3 带参方法的应用1.4 基本数据类型和引用数据类型传参时的区别1.5 方法传参-对象数组二、构造方法2....
    99+
    2022-11-12
  • Java基础入门篇之如何使用For循环
    这篇文章主要讲解了“Java基础入门篇之如何使用For循环”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java基础入门篇之如何使用For循环”吧! 一、for循环语句在java中...
    99+
    2023-06-15
  • 【Java基础篇】方法的使用(方法的重载和递归)
    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏:Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容 ...
    99+
    2023-08-20
    java 开发语言 jvm
  • 【Java 基础】类和对象 & 方法重载详解
    《Java 零基础入门到精通》专栏持续更新中。通过本专栏你将学习到 Java 从入门到进阶再到实战的全套完整内容,所有内容均将集中于此专栏。无论是初学者还是有经验的开发人员,都可从本专栏获益。 ...
    99+
    2023-10-10
    java 开发语言 后端
  • Java基础入门篇之如何使用面向对象和类的定义
    这篇文章主要讲解了“Java基础入门篇之如何使用面向对象和类的定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java基础入门篇之如何使用面向对象和类的定义”吧!一、面向对象面向对象是在程...
    99+
    2023-06-15
  • 【Java 基础】类和对象 & 方法重载详解
    《Java 零基础入门到精通》专栏持续更新中。通过本专栏你将学习到 Java 从入门到进阶再到实战的全套完整内容,所有内容均将集中于此专栏。无论是初学者还是有经验的开发人员,都可从本专栏获益。 订阅专栏后添加我微信或者进交流群,...
    99+
    2023-08-21
    java 开发语言 后端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作