黑马程序员—Java语言基础(Function函数)

------- android培训、 java培训、期待与您交流! ----------

 

函 数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。

函数的定义

l  函数的格式:

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

{

        执行语句;

        return 返回值;

}

返回值类型:函数运行后的结果的数据类型。

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

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

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

return:用于结束函数。

返回值:该值会返回给调用者。

 

代码示例:

publicclass FunctionDemo

{

    public static void main(String[] args)

    {

       int x = 4;

       System.out.println(x*3+5);

       x = 6;

       System.out.println(x*3+5);

     System.out.println("----------------------------------------------------------------------");

      

       int y = getReasult (4);

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

     System.out.println("----------------------------------------------------------------------");

      

       jieGuo (7);

    }

   

    //发现以上的运算,因为获取不同数据的运算结果,代码出现了重复。

    //为了提高代码的复用性,对代码进行抽取。

    //将这个部分定义成一个独立的功能,方便于日后使用。

    //java中对功能的定义是通过函数的形式来体现的。

   

    //需要定义功能,完成整数的 *3+5 的运算,并打印其结果。

   

    //1.先明确函数的定义格式。

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

     * {

     *     执行语句;

     *     return 返回值;

     * }

     *

     * */

    public static int getReasult(int x)

    {

       return x * 3 +5;

    }

   

    //当函数运算后,没有具体返回值时。这时返回值类型用一个特殊的关键字代替。

    //改关键字就是void。void代表的是函数没有具体返回值时的情况。

    //当函数的返回值类型是void时,函数中的return语句可以省略不写。

    public static void jieGuo(int m)

    {

       System.out.println(m * 3 + 5);

    }

 

}

 

函数的特点

l  定义函数可以将功能代码进行封装

l  便于对该功能进行复用

l  函数只有被调用才会被执行

l  函数的出现提高了代码的复用性

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

l  注意:

   函数中只能调用函数,不可以在函数内部定义函数。

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

 

函数的应用

l  两个明确

   明确要定义的功能最后的结果是什么?

   明确在定义该功能的过程中,是否需要未知内容参与运算

函数的重载

 

重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。

如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。

重载的好处:方便于阅读,优化了程序设计。

代码示例:

/*  什么时候用重载?

 *  当定义的功能相同,但参与运算的未知内容不同时。

 *  那么这时就定义一个函数名称以表示其功能,方便阅读。而通过参数列表的不同来区分多个同名的函数。

 * */

 

publicclass FunctionOverLoad

{

    public static void main(String[] args)

    {

       int x = getSum(2,3);

       System.out.println(x);

       pintHr();

       int y = getSum(3,6,8);

       System.out.println(y);

       pintHr();

       print99();

       pintHr();

       print99(5);

    }

   

    // 定义一个加法运算,获取两个数的和。

    public static int getSum(int x, int y)

    {

       return x+y;

    }

   

    //定义一个加法运算,获取三个数的和。

    public static int getSum(int x, int y, intz)

    {

       return x+y+z;

    }

   

    // 定义一个功能,打印99乘法表。

    public static void print99()

    {

       print99(9);

    }

   

    // 定义一个功能,由用户自己决定打印99乘法表的长度。

    public static void print99(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 pintHr()

    {

      System.out.println("---------------------------------------------------------------------");

    }

   

    /* void show(int a, char b, double c){}

     *

     *  a.

     *  voidshow(int x, char y, double z){}  //没有重载,因为和原函数一样。

     * 

     *  b.

     *  intshow(int a, double c, char b){}  //重载了,因为参数类型不同。注意:重载和返回值类型无关。

     * 

     *  c.

     *  voidshow(int a, double c, char b){}  //重载了,因为参数类型不同。注意:重载和返回值类型无关。

     * 

     *  d.

     * boolean show(int c, char b){}  //重载了,因为参数个数不同。

     * 

     *  e.

     *  voidshow(double c){}  //重载了,因为参数个数不同。

     * 

     *  f.

     * double show(int x, char y, double z){} //没有重载,这个函数不可以和给定函数同时存在在一个类中。

     * */

   

}

------- android培训、 java培训、期待与您交流! ----------

你可能感兴趣的:(黑马程序员—Java语言基础(Function函数))