Java函数的基本知识

http://blog.csdn.net/cxwen78/article/details/7322891主要从Java函数的定义,函数的特点,函数的应用,函数的重载四个方面来讲解Java函数。

 

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

   注意:函数是定义在类中,而不能在函数中定义函数。


二、函数的格式


修饰符  返回值类型  函数名参数类型 形式参数1, 参数类型 形式参数2, ...){    
    执行语句;
    return 返回值

示例代码:

  1. public static int getSum(int x, int y){  
  2.     return x+y;  
  3. }  

格式说明:
  • 修饰符:对函数的外加修饰,让函数具备更多的含义;
  • 返回值类型:函数运行后的返回的结果的数据类型;
  • 函数名:可自行定义,只要不和系统关键字等冲突。建议取有意义的名称,书写规范为动名词结合,若为多单词组合,则第一个单词首字母小写,后面的单词首字母大写,如getSum,表示获取求和的值。
  • 参数类型:是指形式参数的数据类型;
  • 形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数;
  • 实际参数:传递给形式参数的具体数值;
  • return:用于结束函数;
  • 返回值:作为函数的处理结果返回给调用者,其数据类型必须与“返回值类型”一样;

三、函数的特点
  1. 定义函数可以将功能代码进行封装;
  2. 便于对功能代码进行复用;
  3. 函数只有被调用才会被执行;
  4. 函数的出现提高了代码的复用性;
  5. 对于函数运算后,没有具体的返回值时,返回值类型用关键字void表示,而且如果函数中的return语句如果在最后一行,则可以省略不写。
注意:
——函数中只能调用函数,不可以在函数内部定义函数。也就是说函数之间是平级的,没有包含关系,只有调用动作;
——定义函数时,函数的结果应该返回给调用者,交由调用者处理


四、函数的应用
    函数体现的是一个独立的功能,所以在定义函数之前要有“两个明确”:
    1、明确该功能的运算结果。目的是为了明确参数的返回值类型;
    2、明确在定义该功能的过程中是否有未知的内容参与运算。也就是说,函数的具体内容我们是否能完全独立实现,还是要依赖调用者给我们的一些值才能具体实现;其目的是为了明确函数的参数列表(参数的类型和参数的个数)。

原则:
如何定义一个好的函数:尽量让函数只实现一个功能,这样能提高函数的复用。


示例代码:

  1. /*需求:输出一个矩形点阵 
  2.  * 思路: 
  3.    1、功能结果是输出一个方形点阵,返回值类型是void; 
  4.    2、有未知内容参与运算,有两个,分别代表方形的长和宽,这两个未知内容类型都是int型 
  5. */  
  6. public static void printRectangularLattice(int Length, int Width){  
  7.     for(int x=0; x<Length;x++){  
  8.         for(int y=0; y<Width;y++){  
  9.             System.out.print("*");  
  10.         }  
  11.         System.out.println();  
  12.     }  
  13.     return ;  
  14. }  



五、函数的重载(overload)

1、重载的概念:在同一个类中,允许存在一个以上的同名函数,只要这些同名函数的参数个数或者参数类型不同即可。

2、重载的特点:与返回值类型无关,只和参数列表有关。即JVM是通过参数列表来区分函数的。而参数列表相同,但返回值类型不同的同名函数不能同时存在与一个类中。

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

4、重载示例:(在同一个类中)

  1. //返回两个整数的和  
  2. public static int add(int x, int y){return x+y};  
  3. //返回三个整数的和  
  4. public static int add(int x, int y, int z){return x+y+z};  
  5. //返回两个小数的和  
  6. public static double add(double x, double y){return x+y};  
作者:SVENNEE
出处:http://www.cnblogs.com/svennee
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如果您觉得此文有帮助,请点击推荐和关注我。您的支持将鼓励我继续创作!

如果您觉得此文有帮助,请随意打赏。您的支持将鼓励我继续创作!

感谢无私捐款的英雄们,你们是最美丽的人。

原文地址:https://www.cnblogs.com/svennee/p/4082923.html