java基础(动力节点老杜视频学习笔记)二(下)
作者:互联网
第二章 java语言基础
八.方法
1.方法的基础语法
方法的本质:方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以被重复使用
方法在c语言中叫做函数/function
方法定义,语法结构:
[修饰符列表] 返回值类型 方法名(形式参数列表){
方法体;
}
返回值:一个方法是可以完成某个特定功能的,这个功能结束之后大多数都是需要返回最终执行结果的,执行结果可能是一个具体存在的数据,而这个具体的数据就是返回值
返回值类型:返回值是一个具体存在的数据,数据都是有类型的,java的任意一种类型都可以是返回值类型,包括基本数据类型和引用数据类型
也可能这个方法执行结束之后不反悔任何数据,java中规定,当一个方法执行结束之后不返回任何数据的话。返回值类型位置必须编写:void关键字(意思是无返回值/空)
返回值类型若不是void,表示这个方法执行结束之后必须返回一个具体的数值,当返回执行结束的时候没有任何数据的话编译器报错,代码返回用"return 值;"并且要求"值"的数据类型必须和"方法的返回类型"一致,不然编译器报错
方法名:只要是合法的标识符就行,最好见名知意,最好是动词,首字母要求小写,后面每个单词首字母大写
形式参数列表:简称形参
形参就是局部变量
形参的个数可以是:0~n个
多个形参用"逗号"隔开
形参中起决定性作用的是形参的数据类型,形参的名字就是局部变量的名字
方法在调用时,实际给这个方法传递的真实数据被称为:的数据类型,简称实参
实参和形参必须满足:-数量相同 -类型对应相同
方法体必须有大括号括起来,方法体当中的代码有顺序,遵循自上而下的顺序一次执行,并且方法体有java语句构成,每个Java语句以";"结尾
方法只定义不去调用时是不会是执行的,只有在调用的时候才会执行
方法
public static void main(String[] args){}
public表示公开的
static表示静态的
void表示方法执行结束之后不返回任何数据
main是方法名:主方法
(String[] args):形式参数列表,其中String[]是一种引用数据类型,args是一个局部变量的变量名
所以一下只有args这个局部变量的变量名是随意的
主方法就需要这样固定编写,这是程序的入口,快捷键psvm
方法体当中的代码是有顺序的,遵循自上而下的顺序依次执行
方法的调用不一定在main方法当中,可以在其他方法当中
只要是程序可以执行到的地方,都可以去调用其他方法
方法调用的时候是实参和形参要求个数对应相同,数据类型对应相同
类型不同的时候要求能进行相应的自动类型转换
方法定义在类体当中,在一个类当中可以定义多个方法,方法编写的位置没有先后顺序,可以随意
方法体当中不能再定义方法!!
方法体有java语句构成,方法体当中的代码遵守自上而下的顺序依次执行
方法的修饰符列表当中有static关键字,完整的调用方法是:类名.方法名(实参列表)
方法只定义,不调用,是不会执行的,比姑且在jvm中也不会给该方法分配"运行所属"的内存空间,只有在调用这个方法的时候,才会动态的给这个方法分配所属的内存空间
方法调用的时候,在参数传递的时候,实际上传递的是变量中保存的那个"值"传过去了
方法重载(overload)
什么时候使用方法重载:功能相似的时候,尽可能让方法名相同(功能不同/不相似的时候,尽可能让方法名不同)
什么条件满足之后构成了方法重载:
在同一个类中
方法名相同
参数列表不同:
-数量不同
-顺序不同
-类型不同
方法重载和方法名+参数列表无关
方法重载和返回值类型无关
方法重载和修饰符列表无关
方法的递归调用
方法自身调用自身叫做递归
a(){
a();
}
递归是很耗费栈内存的,递归算法可以不用的时候尽量别用
递归必须有结束条件,没有结束条件一定会发生栈内存溢出错误
递归即使有了结束条件,即使结束条件是正确的,也可能会发生栈内存溢出错误,因为递归的太深了
PS:本人java小白,这只是自己学习动力节点老杜视频的笔记,有什么错的,或者过时的地方,请大家指出来,如果看不懂的话可以去b站搜动力节点找老杜的视频,讲的非常全面,谢谢各位宝贵的意见。
标签:调用,java,形参,数据类型,节点,返回值,方法,老杜 来源: https://blog.csdn.net/weixin_52361698/article/details/121229905