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

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

第一章:函数or方法



1.1什么是方法?


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


定义函数过程:


1.是一个封闭区间,需要大括号封装。

2.需要给这个区间起名字,以后多次使用该区间。

3.为区间提供数据的输入,以便使用额外数据进行运算。

4.需要定义结果类型。


2.1定义方法的语法机制?


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


1.关于修饰符列表:(可选项,public,private等)

2.关于返回值类型:

①Java中的合法数据类型。(基本and 引用)

②返回值类型:一般指,一个方法执行结束后的数据结果。

③void表示方法执行结束后不返回任何结果。

④如果返回值类型不是void,必须使用"return 值;"

⑤有return执行,当前方法必然结束。

3.方法名:见名知意。首字母小写后面每个单词首字母大写。

4.形参:形参列表中,每个数据为局部变量,方法结束后释放。


代码演示:


  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方法内存加载的过程


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就是一个方法,使用重载!!


代码演示:


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); // 参数名也是不会认为是参数列表的属性,名称只是形式,所以参数列表里的参数名全是形式参数
    }
}


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


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()有


相关文章
【JavaSE】Java(五十二):核心要点总结
1. java中普通类和抽象类有哪些区别 Java中普通类(也就是非抽象类)和抽象类有以下几个区别: 实例化:普通类可以直接被实例化为对象,而抽象类不能直接被实例化。抽象类需要被继承后,由其子类来实现其中定义的抽象方法。 抽象方法:普通类不能包含抽象方法,而抽象类必须至少包含一个抽象方法。抽象方法是一种没有具体实现的方法,它只有声明而没有方法体。抽象方法必须在抽象类的子类中被实现。
|
10月前
|
Java 编译器
JavaSE学习之常见易错点总结--第一期
JavaSE学习之常见易错点总结--第一期
55 0
|
算法 Java 数据安全/隐私保护
【JavaSE专栏39】Java常用类 Math 解析,编程的底层还是数学
【JavaSE专栏39】Java常用类 Math 解析,编程的底层还是数学
226 0
【JavaSE专栏39】Java常用类 Math 解析,编程的底层还是数学
|
存储 Oracle IDE
一遍过JavaSE基础知识
一遍过JavaSE基础知识
140 0
|
IDE Java 开发工具
【JavaSE专栏33】用大白话解释Java的方法重载和方法覆盖
【JavaSE专栏33】用大白话解释Java的方法重载和方法覆盖
123 0
【JavaSE成神之路】一文洞悉Java语言的作用域
哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路! 这一节啊,咱们要学习的内容是Java语言的作用域。
185 0
|
存储 搜索推荐 IDE
【JavaSE成神之路】一文洞悉Java语言的基本语法
哈喽,我是兔哥,今天就让我们继续这个JavaSE成神之路! 这一节,咱们要学习的内容是Java语言的基本语法,包括变量、常量、数据类型、运算符、流程控制语句、数组、字符串。 这是我们学好Java的基石,万丈高楼平地起的前提就是打好地基。 下面就让我们来一一参悟这些概念吧。
104 0
|
存储 算法 安全
【JavaSE】Java(五十七):核心要点总结
1. HashMap 的实现原理 HashMap 是一种基于哈希表的数据结构,它的实现原理简单来说就是将键值对存储在一个数组中,并通过哈希算法计算出每个键对应的下标。下面是 HashMap 实现原理的具体步骤: 初始化:创建一个长度为 n 的数组(初始默认长度为 16),该数组每个位置可存放一个链表;以及一个负载因子(load factor),用来表示哈希表允许填充的程度。
|
安全 Java
JavaSE核心知识点总结(二)
JavaSE核心知识点总结
125 0
|
网络协议 Java 索引
JavaSE核心知识点总结(一)
JavaSE核心知识点总结
110 0