前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaSE篇学习之路:(四)【函数or方法】

JavaSE篇学习之路:(四)【函数or方法】

作者头像
百思不得小赵
发布2022-12-01 11:38:33
2010
发布2022-12-01 11:38:33
举报
文章被收录于专栏:小赵Java总结

目录

第一章:函数or方法

1.1什么是方法?

方法定义就是具有特定功能的一段 独立小程序,可以被多次使用 实现代码复用,提高复用性。 定义函数过程:

  1. 是一个封闭区间,需要大括号封装。
  2. 需要给这个区间起名字,以后多次使用该区间。
  3. 为区间提供数据的输入,以便使用额外数据进行运算。
  4. 需要定义结果类型。

2.1定义方法的语法机制?

代码语言:javascript
复制
[修饰符列表]  返回值类型 方法名(形参列表){
			方法体;
			 return 返回值;
	// return 关键字用于结束,并将返回值返回给调用者
    // 注意如果 返回值类型为void 可以省略return 其他情况下 return必有 并且return后面不能再有语句
   }

1.关于修饰符列表:(可选项,public,private等) 2.关于返回值类型: ①Java中的合法数据类型。(基本and 引用) ②返回值类型:一般指,一个方法执行结束后的数据结果。 ③void表示方法执行结束后不返回任何结果。 ④如果返回值类型不是void,必须使用"return 值;" ⑤有return执行,当前方法必然结束。 3.方法名:见名知意。首字母小写后面每个单词首字母大写。 4.形参:形参列表中,每个数据为局部变量,方法结束后释放。

代码演示:

代码语言:javascript
复制
	public class Demo06 {

    public static void main(String[] args) {
        int sum =  add(3,4);
        System.out.println("sum = "+sum);
    }
    public static int add(int num01,int num02){
       return  num01 + num02;
    }
}

3.1方法内存加载的过程

代码语言:javascript
复制
public class Demo06 {

    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        int sum =  add(a,b);
        System.out.println("sum = "+sum);
    }
    public static int add(int num01,int num02){
       return  num01 + num02;
    }
}

说明:

1. JVM加载main方法进入 栈内存 中,并执行main的方法。执行到4 、5行先给a、b开辟空间,并赋值。 2. 第6行,先将add函数压进 栈内存 中,执行add函数。在add函数所属空间里 再开辟两片空间给num01和num02,接收main传来的值 3,4. 3. 执行add函数,并将结果return给main中调用的地方,然后add函数弹栈。 4. main方法将add函数执行的结果给sum变量。然后继续进行。全部执行完,main方法弹栈。

第二章:方法重载

java为我们提供了重载这个功能,使用重载就可以解决某个功能不同场合的泛用性,一个函数的多个版本。

1.1重载的概念

在一个类中,允许存在一个以上同名函数,只要他们的参数列表(个数和类型)不同。就形成了重载,函数重载和返回值无关。 (功能相似的代码,使用相同代码名。)

2.1方法重载的条件

1.必须在同一个类中。 2.方法名相同。 3.参数列表不同。(个数不同,类型不同,顺序不同) println就是一个方法,使用重载!!

代码演示:

代码语言:javascript
复制
public class Demo07 {
    // 方法{}里的内容为方法体
    public static int computer(int a,int b){
        return a+b;
    }

    public static int computer(int a, int b ,int c){
        return a+b+c;
    }

    public static double computer(double a, double b){
        return a/b;
    }

//    public static double computer(double num01, double num02){
//        return 0;
//    } 函数的参数是一种形式参数

//    public static int computer(double a, double b){
//        return (int)a/b;
//    }
    public static void main(String[] args) {
        computer(2.3,1.7); // JVM不知道调用结果的 如果重载跟返回值有关 调用时就会产生歧义
        computer(1.0,2.0); // 参数名也是不会认为是参数列表的属性,名称只是形式,所以参数列表里的参数名全是形式参数
    }
}

重载练习:下面方法有没有使用重载?

代码语言:javascript
复制
void show(int a,float b,char c){} 为蓝本

1. int show(int x,float y,char z) 没有
2. void show(float b,int a, char c) 有 
3. void show(int c,float a,char b) 没有
4. void show(int a,int b,int c) 有
5. double show()有
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 第一章:函数or方法
    • 1.1什么是方法?
      • 2.1定义方法的语法机制?
        • 3.1方法内存加载的过程
        • 第二章:方法重载
          • 1.1重载的概念
            • 2.1方法重载的条件
            相关产品与服务
            云开发 CloudBase
            云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档