函数
1.定义:
函数就是一段小程序,有完成特定功能,所以再代码很多的情况下,主函数中可以直接调用我们自定义的函数
函数的格式:
修饰符 返回值类型 函数名(参数类型 形参1,参数类型 形参2,。。。,参数类型N 形参N){
执行语句;
return 返回值;
}
说明:
- 修饰符:修饰函数的。public/protected/orivate static
- 返回值类型:函数本身是具有特定功能的一段独立的小程序,这个功能在运算完成的时候或者执行完之后,肯定有结果/我们需要再函数中标识一下这个结果到底是什么类型。
- 函数名:为了方便被调用
- 参数类型:形式参数:接受实际参数的变量
实际参数:实际使用的数值 - 执行语句:函数使用于完成特定功能的,这个功能徐永涛多条语句,所以有了执行语句
- return :就是将执行的结果返回回来的一个关键字。其后跟的是返回的结果
特点
- 定义函数可以将代码进行封装,便于该功能可以多次使用。(函数的出现提高了代码的复用性)
- 自定义函数只有被调用才会被执行
- 函数中只能调用函数,不可以再 在函数内部定义函数(因为函数是平级的)
- 被调用的时候:
①有明确返回类型的函数:
a.可以单独使用,但是没有意义
b.可以赋值给一个和返回类型对应的变量,然后输出变量
c.可以直接在输出语句中直接使用
②void返回类型的函数
a.只能单独调用,不能用于打印
注意
返回值类型和参数列表中参数类型没有关系!定义功能,功能中需要doing医生么就定义什么,不需要的就不要定义。
函数的重载
- 在同一个类中,允许存在一个以上的同名函数,只有他们的参数个数或者参数类型不一样即可
- 函数的功能不一样,仅仅是参与运算的位置内容不同时,可以定义多个函数,却使用同一函数名称,这样方便阅读。再调用时,虚拟机通过参数列表的不同来区分同名函数
- 好处:方便阅读,优化了程序设计
- 特点:与返回值类型无关
- 判断函数是否重载:函数名相同,参数列表不同(个数和类型)
函数的应用
public class Sum{
public static void main(String[] args){
int sum=getSum(3,4);//调用有两个参数的函数getSum()
System.out.println(sum);
int a=12;
int b=3;
system.out.print(a+b);
}
public static int getSum(int m,int n){
retun m,n;//这里返回m,n
}
}
//取得两个整数中较大的值
public class Max {
public static void main(String[] args) {
int max = getMax(3,5);
System.out.println(max);
}
//返回值类型:int,未知内容:int a,int b
public static int getMax(int a,int b){
return a>b?a:b;
}
}
/*//比较两个整数是否相等
public class Compare {
public static void main(String[] args) {
boolean b = isEquals(3, 4);
System.out.println(b);
}
//返回值类型:boolean,未知内容:int a,int b
public static boolean isEquals(int a,int b){
return a==b;
}
}*/
//取得三个整数中较大的值
/*public class Max {
public static void main(String[] args) {
int max = getMax(3,5,7);
System.out.println(max);
}
//返回值类型:int,未知内容:int a,int b,int c
public static int getMax(int a,int b,int c){
int temp=a>b?a:b;
int max =temp>c?temp:c;
return max;
}
}*/
//打印nn乘法表
public class NnChengFaBiao {
public static void main(String[] args) {
printNnchengfabiao(6);
}
//返回值类型:void,未知内容:int n
public static void printNnchengfabiao(int n){
for(int x=1;x<=n;x++){
for(int y =1;y<=x;y++){
System.out.print(y+"*"+x+"="+x*y+"\t");
}
System.out.println();
}
}
}