第7周 函数
7.1 函数定义与调用
7.2 函数参数与函数内的变量
Java的函数必须定义在类的内部,成为类的成员。
定义一个函数,要像这样写:
<返回类型> <方法名称>(<参数表>) {
<方法体>
}
返回类型是这个函数运行结束时要返回给调用者的数据的类型,函数可以返回基本数据类型、对象或者void。返回void表示这个函数不返回任何值。
函数名称是一个Java名字,一样要遵循和变量一样的命名规则。
参数表是0个或1个或多个参数定义,用逗号’,’分隔。
在这个阶段,我们要在所有的函数的返回类型前面加上关键字“static”。static表示这个函数属于这个类,而不属于这个类的任何对象,因此我们才可以不制造这个类的对象,而直接从main()函数中调用它。
当一个函数被调用时,程序就转到这个函数中去运行,函数体里的语句就一条一条地被调用。一旦函数运行结束,就又回到调用它的地方去继续运行。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
7.1 函数定义与调用
定义函数
对象的操作,对象在执行函数
求和函数(公共部分提取):代码模块构造,函数,变量,参数,方法
什么是函数
一块代码。接收零个或多个参数,做一件事,并返回值(零个或多个)。
函数头(public static+返回类型+函数名【标识符】+参数表(int a,int b))+函数体{
;
;
;
}
调用函数
函数名(参数值);【“()”没有参数也不可以省略,有参数时应该给出正确参数的顺序和数量,这些值会用来依次初始化函数中的参数】
step into 调试函数
函数返回
调用完成后返回值到正确的地方
从函数返回值:reture语句
reture 表达式 (reture 停止函数执行并返回一个值,可以出现多个reture)
viod 函数名(参数表)
无reture :调用的时候不能做返回值的赋值
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
7.2 函数参数与函数内的变量
参数传递
调用函数:【函数有参数调用时必须传递给它类型数量正确的值,可以传递的值是表达式的结果,包括字面量,函数返回值,变量,计算结果】
类型不匹配?——转换
强类型转换方法【(int)a】
函数的参数期望类型比调用的参数类型宽的时候,编译器会帮你把类型转换做好,char->int->double
传过去的是什么?——— 传值
JAVA语言调用函数时,永远只能传值给函数
每个函数有自己的变量空间,参数也位于这个独立的空间内,和其他函数没有关系
对函数参数表内的参数叫形式参数,调用函数时给出的函数参数的值叫实际参数。
当参数是数组和对象(字符串)时?
本地变量
函数的每次运行,会产生一个独立的存放变量的内存空间,这个内存空间的变量是这个函数这次运行所独有的,称为本地变量。定义在函数内部的就是本地变量。
参数也是本地变量
变量的生存期和作用域
变量的生存期: 什么时候产生,什么时候消失,(存在)
作用域:可以访问变量的范围,变量起作用(使用)
对于本地变量就是大括号内------块
类的成员变量
定义在哪一层即"{}"块内。重复定义变量以高层次为准
本地变量的规则
定义在块“{}”里,即可以是函数块也可以是语句块内,甚至是任意“{}”内;程序进入块之前,变量不存在,出块,变量消失。
块外的变量在块内仍然有效。不能快内同名,也不能块外定义过的变量。
本地变量不会默认初始化,参数在进入函数时被初始化了,