函数

来源:互联网 发布:c 二维数组赋值不全 编辑:程序博客网 时间:2024/04/28 08:46

函数定义:函数就是定义在类中的具有特定功能的一段独立小程序,函数也成为方法

class Function

{  

       public static void main(String[] args) 

     {  

      int c = add(3,4);  

       System.out.println("c=" + c);  

    }  

       int add(int a,int b)

      {  

           return a+b;  

     }  

}  

格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)

{

    执行语句;

    return返回值;

}

返回类型:函数运行后的结果的数据类型          返回值类型怎样体现?因为没有具体值,所以不可以写具体的数据类型,在java中只能用关键字void标识这种情况。

参数类型:是形式参数的数据类型

形式参数:是一个变量用于存储调用函数时传递给函数的实际参数

实际参数:传递给形式参数的具体数值

return:用于结束函数

返回值:该函数运算后的结果,该结果会返回给调用值

1,void:无返回值类型

2,特殊情况:

功能没有具体的返回值,这时return后面直接用分号结束。

注意:如果返回值类型是void,那么函数中的return语句可以省略不写。

函数的特点:

(1)定义函数可以将功能代码进行封装。

(2)便于对该功能进行复用。

(3)函数只有被调用才会被执行。

(4)函数的出现提高了代码的复用性。

(5)没有返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。

注意:

(1)函数中只能调用函数,不能在函数中定义函数。

(2)定义函数时,函数的结果应该返回给调用者,交由调用者处理。

定义思想错误

1,函数返回的结果应该交给调用者进行下一步处理,不要直接在函数内处理。

2,输出语句中的参数应该是一个具体的数值,不能是void类型的数据。

定义函数时的两个明确。

如何定义一个函数?通过两个明确完成。

明确一:这个功能的结果是什么?(其实就是明确函数的返回值类型)

明确二:这个功能实现过程中是否需要位置内容参与运算。(其实就是定义参数列表)明确参数的个数和参数的类型。

注意:返回值类型和参数类型没有直接关系。

三个明确练习:

1,判断两个数是否相等:

明确一:这个功能的结果是什么?返回值为boolean类型。

明确二:这个功能实现过程中是否需要未知内容参与运算?有两个未知整数参与运算。

2,获取两个整数较大的数

明确一:这个功能的结果是什么?返回值为int型。

明确二:这个功能实现过程中是否需要未知内容参与运算?两个int型整数参与运算。

3,画一个矩形在控制台

明确一:这个功能的结果是什么?没有结果,因为直接打印到了控制台并未返回给调用者

明确二:这个功能实现过程中是否需要未知内容参与运算?有,行和列不确定,两个整数int

函数重载定义:

在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。

重载特点;特点:

(1)在同一个类中。

(2)同名。

(3)参数个数或参数类型不同。

(4)函数重载和返回值类型无关。

(5)Java是严谨性的语言,如果函数出现调用的不确定性,编译会失败。

重载的好处:方便于阅读

重载示列://返回两个整数的和     int add (int x,int y) (return x+y)

                    //返回两个小数的和    double add(double x,double y) (return x+y)

练习打印乘法表:

class FunctionTest

{  

                   public static void main(String[] args) 

                   {  

                                         printCFB(9);  

                                          printCFB();  

                 }  

                 public static void printCFB(int num) 

                  {  

                                      for(int x=1;x<=num;x++)

                                       {  

                                                        for(int y=1;y<=x;y++) 

                                                         {  

                                                                       System.out.print(y+"*"+x+"="+y*x+"\t");  

                                                        }  

                                         System.out.println();  

                                       }  

                  }  

                          public static void printCFB()

                         {  

                                    printCFB(9);  

                          }  

}  

0 0
原创粉丝点击