方法就是 一个带名字的能够解决特定问题的代码块 ,可以方便我们多次使用。
返回值: 方法执行后得到的结果
**参数:**执行方法时需要的原材料
//声明一个方法
public static void method1(){
System.out.print("Hello Method...")
}
图片来源:https://www.runoob.com/java/java-methods.html
上图的方法包含2个参数num1 和 num2,返回结果是2个参数的最大值:
更简便的写法(三目运算符)
public static int maxTest(int num1,int num2){
return num1 > num2 ? num1 :num2;
}
下面对上图中方法的所有部分进行分解阐述:
方法 :
解决事情问题办法
实现功能需求的代码段
作用好处 :
提高代码的复用性
提高程序的安全性
注意 :
位置 : 方法定义在类中方法外,方法不能嵌套
不调用不执行
语法 :
有返回值类型的方法
修饰符 返回值类型 方法名(参数列表){
实现功能的代码段;
return 返回值;
}
说明 :
访问权限修饰符 : 现在先定义public static,后续可以根据需求修改
方法的返回值 :分析方法执行完毕之后是否需要得到一个结果|值,如果需要 定义为有返回值类型的方 法,如果不需要定义为没有返回值类型的方法
返回值类型 : 定义为返回的结果的数据类型可以为任意数据类型
方法名 : 标识符,严格遵守标识符的命名规则与规范
调用方法时,根据方法名进行调用
参数 :分析定义方法时,不确定的,未知的数据,有可能会改变的数据,定义在方法的参数列表上
参数列表可以不定义参数,可以定义多个参数
格式 : 数据类型 参数名1,数据类型 参数名2,..... -->数据类型可以为任意类型
相当于局部变量的声明,作用域为当前方法中
方法体 : 实现具体功能的代码段
调用方法时,执行方法体中的代码实现功能
return : 1)提前结束方法 2)同时带出返回值返回给方法的调用处
在有返回值类型的方法中必须存在return,必须带出返回值
没有返回值类型的方法
方法的调用 :
执行方法中的代码
普通调用 : 方法名(参数列表);
有返回值类型的方法可以使用以下两种方法 :
赋值调用 : 数据类型 变量名 = 方法名(参数列表);
输出调用 : System.out.println(方法名(参数列表));
定义方法前分析 :
1.明确需求
2.分析方法名 :见名知意
3.返回值
4.参数
方法定义完成后,若要使用,必须调用它。即方法只有定义,不调用是不会执行的。
调用方法时,程序会"跳到"方法定义的地方执行整个方法的内容,方法执行结束后,立即回到调用方法处继续刚才中断的执行。也就是”从哪里来到哪里去”的套路。
说明
①如果该方法返回值类型为 void,则调用该方法必须是一个独立的语句,不能使用变量接收。
②如果该方法具有返回类型,返回一个值,调用该方法通常被视为一个值,可以使用变量接收,或直接打印返回的值。[接收变量=]方法名([实参列表])
方法执行后得到的结果,定义方法时需要在方法头部规定返回值类型,根据需求,如果存在返回值则规定好具体的类型(可以是基本类型,也可以是引用类型),如果不存在返回值,则使用关键字void
指定。
如果方法头部规定了具体的返回值类型,则方法体中必须出现带值的return语句
。
如果方法头部使用void规定没有返回值,则方法体中可以不出现return语句,如果需要出现return ,其后也不能带任何的数据
return关键字
return
关键字使用在方法体中,有两个作用。
一个方法最多只能执行一条return语句
注意:在一个作用域内 return 之后不能再存在代码
不可达语句:一眼就能看出永远没有机会执行到的语句,程序自动检测这种语句,一旦检测到则报错
1: CPU该负责调度程序执行以及处理运算逻辑;
2: 内存和磁盘最大的区别: 内存是无法持久化存储数据的,但是磁盘可以,磁盘的空间大、价格低,内存空间小,价格高;
3: JVM将物理内存进行了抽象, 抽象为一个个的存储空间,每个空间存储的数据不同,位置不同,这样的好处就是为了更好的服务java程序的执行以及程序员的编码实现;
4: CPU想要执行某个程序,只需要盯着JVM中划分的栈内存
即可。
内存分析
java中允许方法定义时存在一种现象,在一个类中当方法完成的功能类似时,可以使用相同的名称,并且保证方法的参有所不同,可以参数的个数、类型、顺序任何一个不同即可。保证方法签名唯一。
此时可以省去很多为方法想名称的时间,亦是方便使用者调用。
重载的原因就是因为见名知意,导致我们编写代码过程中,出现大量的方法名称相同,处理过程相同,但是参数列表不同的方法。
重载需要满足以下条件
简称两同三不同
注意:方法重载与返回值无关。
参数列表不同:
参数的个数不同。
参数的对应的数据类型不同。
参数的顺序不同(不同类型的可以交换位置)
以交换位置)