函数
| 一、函数定义 |
![]() |
|
【】函数定义在类中,函数也是一段小程序 【】函数,叫做功能,也具有功能。 【】将一个功能单独定义为函数,实现这个功能的复用;这个函数和主函数并列,之后主函数负责调动这个功能。 函数有独立的功能,因为有独立的和主函数基本一致的区间。 |
| 二、函数格式 |
|
【】基本形式:函数名(){} 和主函数基本一致的形式。 【】函数本身也是一个值,也可视为定义的一个用于输出的变量,它也有数据类型; y=int 函数名(){},函数名这个部分就代表返回值,大括号就是返回值的具体内容。
【】名称定义一定要有阅读性,一看名字就知道这个参数是用来干什么的。 函数名y、变量名x都是首字母小写之后单词首字母大写,遵循驼峰结构。 【】每个函数小括号定义的变量只能在该函数自己的大括号里面使用,出了大括号就失效,在内存中消失;但另一方面,这意味着普通函数里面的参数可以随便起名,因为与主函数里面变量哪怕都重名,也无法对主函数构成影响。
【】修饰词:static静态,被静态修饰的函数只能调动和其一样的静态修饰函数;public权限修饰符,
【】如果有返回值,大括号内要有return关键字, (return还可以结束函数,return下面的执行语句都不会参与执行,函数执行完return后就结束了) 某种程度上,函数名就是一个预定义的变量,return就是等号,小括号内参数就是需要的其他变量,函数名return参数组合,可视为函数名=参数组合。 大括号内是执行语句或return;
【】大括号里面还可以再定义临时变量来使用,较为灵活,只是里面的毕竟不是输入的参数,只是为了衔接好而设置的临时变量。 |
|
【】有返回值时在函数名前需要标返回数值的数据类型, 如果没有返回值,返回值类型标注void空,表示没有返回值,这个函数只有执行,return后面直接跟分号结束后面不接具体值,或者干脆不写return;
【】使用函数的时候,有返回值的函数,主函数一般定义一个变量承载它的数值; 没有返回值的执行函数,则只打上函数名,就像打上执行语句sop一样。 |
| 三、函数的特点 |
|
【】定义函数,可以提高代码的重用性,减少打代码的次数。 【】代码复用性,将重复代码封装进入普通函数里面。将功能封装,成为一个单独地功能体。 【】普通函数不被调用就不会被运行 |
| 【】主函数里面只能调用其他函数函数名,不能在主函数里面定义函数。主函数和普通函数属于并列关系,主函数只能调用其他普通函数。 |
|
【】一般普通函数里面尽量是有返回值类型的,尽量不要有输出性的执行语句。一般就是输入参数,输出返回值。利用返回值进行输出,是主函数程序员下一步的工作。 除非需要特意制作一个输出性的执行的无返回值函数。 |
| 四、两个明确--明确输出(返回值和返回值类型)+明确输入(参数和参数类型) |
|
如何定义一个函数? 【】主函数的用处在于调用其他函数,一般代码写在其他函数里面 【】首先明确y值与y值数据类型,再明确x值与x值数据类型。 总之,明确数据值和数据类型。先明确输出的结果,再明确输入的参数。 |
|
【】需求1:定义一个功能,完成对两个整数和的获取
|
|
【】需求二
|
|
【】需求三
|
|
【】需求四
|
|
【】需求五
|
|
【】需求六
|
| 五、函数底层的原理 |
|
1表面的函数怎末运行起来的? javac先把java文件编译为class文件,之后java class javac命令是在启动java编译器程序,对文件进行检查,检查通过后生成java指定运行程序 java命令会启动虚拟机运行class程序 虚拟机执行这个类时,会自动先找主函数,找到就从这个入口开始执行,没找到就报错。
主函数先进入内存,执行其中第一句话在主函数处开辟内存空间变量x,因为x右侧有其他函数需要调用执行, 内存中会加载进新的函数add add内存空间内部设置变量a,b,3传a,5传给b,在普通函数内部执行完,将结果return回主函数的调用处。 return之后,普通函数运行结束,在内存中消失。 主函数x得到具体值。 sout再执行 全部执行完,main函数也出内存,程序结束。
|
|
【】这片内存叫做栈,先进来的在栈底,后进来的陆陆续续往上排。 main先进来在最底下,之后进来的函数陆续在上排,运算完就出去,在运算下一个
|
| 六、函数的重载 |
|
【】重载:函数重复载入----功能一致的函数们用同一个名称,用参数列表区分各个具体函数 1同一个类中 2同名 3参数个数不同或参数类型不同---到底是不同的函数 4函数的重载和返回值类型无关 5java是严谨性语言,如果函数出现调用的不确定性,编译会失败 |
|
【】虽然函数名一样,但是内部参数不完全一致---实质是两个或多个不同函数并列 在主函数中调用,根据输入的参数类型和数量,选择对应的哪一个普通函数执行。 同名函数的区分的关键在于参数列表。 |
| 【】如果函数名一致,参数一致,作为强类型语言,java系统就会报错 |
| 七、函数重载练习 |
|
第一个函数作为通用的,9是他的一个特例,可以标准乘法表函数可以调用通用的 函数之间也可以复用。 已经有的功能,拿过来直接用,没有就编一个再用
|























浙公网安备 33010602011771号