ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java基础(动力节点老杜视频学习笔记)二(下)

2021-11-13 15:03:33  阅读:128  来源: 互联网

标签:调用 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有