JAVA方法

目录

 

方法的概念

方法的组成要素

方法的补充说明       

    方法的优点:

    方法名的命名规则:

方法的声明     

 方法的使用(调用) 

方法的参数

方法的返回值

方法的内存展示

      java的内存分区

    方法在内存中的工作原理

方法的重载

方法的递归


方法的概念

          
        Java 的方法( Method )类似于其它语言的函数 ( Function ) ,指一段可以直接被另一
段程序或代码引用的程序或代码。
        一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的
高级语言中都有子程序这个概念,用子程序实现模块的功能。
       面向过程语言中,整个程序就是由函数(相互调用)组成的
       面向对象语言中,方法(函数)是类的组成部份,整个程序是由很多类组成的
 
       通俗讲,方法就是解决某件事情的办法,比如 我要上班,可以选择 步行,骑车,开车,
公共交通,而每一个方式,在程序中就可能是一个方法。

方法的组成要素

        方法的组成要素:修饰符 返回值 方法名 参数 方法体 五个要素

方法的补充说明       

    方法的优点:

1. 使程序变得更简短清晰
2.有利于程序的维护(修改)
3. 可以提高开发效率
4. 可以提高代码的重用性

    方法名的命名规则:

1. 方法名必须以字母 下画线 $ 数字组成
2. 不能以数字开头
3. 方法名尽量由单词组成,如果有多个单词,第一个单词首字母小写,其它单词首字母大写
4. 在同一个类中,方法名一般不能重名(方法重载除外)
 

方法的声明     

      语法:         

访问权限修饰符  其它修饰符  返回值类型  方法名(参数列表) {
             方法体代码
             return 返回值 ; (如果返回值类型为 void 此行可省略)
          }

 

public static void print(){ 
    System.out.println("我是打印方法"); 
    //return;因为返回值类型为 void 所以此行可省略 
}

 方法的使用(调用) 

     调用语法:
          方法名称 ( 实参列表 );
         // 示例 :
         print ();

方法的参数

a. 形参,就是方法声明中的参数,在方法调用前为没有赋值的变量
b. 实参 , 方法调用时,写在方法名后面小括号中的变量或常量
c. 方法被调用时,用实参给形参赋值,这个过程叫传参
d. 传参时需要注意的事项:实参的数量和类型必须和形参的数量和类型保持一致【相兼容的数 据类型】

方法的返回值

1. 在没有返回值的方法中使用 return 语句 , 要求 return 单独成立一条语句,类似于 break
continue ,后面不能跟任何的数值,直接跟一个分号,此时 return 语句作用为 结束整个
方法的运行。
2. 在有返回值的方法中使用 return 语句,要求 return 后加加空格后跟着需要返回的变量和
结尾的分号,此时 return 语句作用为 结束整个方法的运行,并将返回的变量传给方法的调用
. 要求 返回值的实际变量类型需要与方法声明的返回值类型保持一致。
3. 如果方法声明中有返回值,在方法体中使用了选择语句,如果需要有不同情况下的返回结
果,那就都需要写 return 语句
4. 无论在方法体的任何位置出现 return 语句,本次方法的调用都立即结束,返回到调用者。

方法的内存展示

      java的内存分区

java 将内存分成了 5 块儿 , 分别是堆区 , 栈区 , 方法区 , 本地方法区 , 寄存器
栈区 : 里面存放数据的特点是 : 先进后出 , 我们主要将加载时的局部变量和函数放在栈区 , 数据
的特点是使用完立刻释放
堆区 : 存放的是实体 ( 对象和数组 ), 实体可以同时存放多个值 , 实体里面的变量如果不赋值 ,
有默认值 . 整型数据默认值是 0,boolean---false
了解 :
方法区 : 程序运行中的二进制文件等 ( 比如 :.class)
本地方法区 : 存放外界引入的 c,c++ 等的内容
寄存器 : 也可以称为计数器 .
堆区中的数据会在某个时刻被释放 - 通过垃圾回收机制 .
垃圾回收机制是通过一个线程控制的 , 由于这个线程的等级比较低 , 所以不会立刻执行 , 数据就
不会立刻释放

    方法在内存中的工作原理

           示例代码

public class Demo5 { 
    //实例:求两个数的最大值 
    public static void main(String[] args) { 
        int value = getMax(4,5); 
        System.out.println(value); 
    }
    public static int getMax(int a ,int b) { 
        if (a>b) { 
            return a; 
        }else { 
            return b; 
        } 
    } 
}
 

方法的重载

          
什么是方法的重载
定义:同一个类中,方法名字相同,参数列表不同,就叫方法重载
  说明:
     1. 参数列表的不同包括,参数个数不同,参数数据类型不同,参数顺序不同
     2. 方法的重载与方法的修饰符和返回值没有任何关系

方法的递归

定义:在一个方法内,调用方法本身,称为方法的递归 ( 注意和重载的区别 )
说明:方法递归包含了一种隐式的循环,会重复执行某段代码,但是这种重复不需要使用循环 语句来进行控制
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值