对象的操作
在java中函数与方法是一样的
本章内容:自己定义函数
使用函数可以减少代码块的重复;
1. 定义
函数是一个代码块
接收0或者多个参数
返回0或者多个参数
案例1. 判断素数的函数
public static boolean isPrime(int i)
{
boolean isPrime = true;
for(int k =2;k<=Math.sqrt(i);k++)
{
if(i%k==0)
{
isPrime =false;
break;
}
}
return isPrime;
}
案例2. 求和(附函数定义的方式)
public static int sum(int a,int b) //函数头
//sum是函数名称,命名规则同变量
//int为返回类型,函数体内必须有return到int,无返回值写void
//int a,int b为参数表,多个参数之间逗号分隔
{ //函数体
int sum =0;
for(int i = a;i<=b;i++)
{
sum+=i;
}
return sum;
//return停止函数的执行,并送回一个值
//不是void的函数都要有对应类型的返回值
//每一个函数尽可能只有一个出口
}
2. 函数的调用:
函数名(参数值)
()起到了调用函数的作用,没有参数也要有
如果有参数,则需要给出正确的数量,顺序
这些值会被按照顺序依次用来初始化函数中的参数
传递的参数类型不匹配时:
可以完成部分类型的自动转换
char --> int --> double
只能由窄的转化为宽的
debug:使用step into
传递参数传递的是值
函数的调用并不会改变源数据(实际参数)
函数参数表中的为”形式参数“ formal primeter“
传递的是值,不能对变量本身进行操作
3. 函数内的变量:本地变量:
函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量
定义在函数内部的变量就是本地变量
参数也是本地变量
生存期:什么时候这个变量开始出现了,到什么时候它消亡了
作用域: 在(代码的)什么范围内可以访问这个变量(这个变量可以起作用)
对于本地变量,这两个问题的答案是统一的: 大括号内一块
本地变量是定义在块内的
它可以是定义在函数的块内
也可以定义在语句的块内
甚至可以随便拉一对大括号来定义变量
程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了
块外面定义的变量在块内仍然有效
本地变量不会被默认初始化
参数在进入函数的时候被初始化了