函数(概述)

java中最小的功能单位是函数


函数的定义(什么是函数)

  1. 函数就是定义【在类中的】【具有特定功能的】【一段独立小程序】
  2. 函数也称为方法

函数格式:

修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2, ...)
{
    	执行语句;
    	return 返回值;
}
返回值类型:函数运行后的结果的数据类型
    
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
    
实际参数:传递给形式参数的具体数值
    
return:用于结束函数
    
返回值:该值会返回给调用者
class FunctionDemo //17/5/2020
{
	//   修饰符     返回值类型     函数名   参数类型   形式参数
	public static    int    getResult   (int       num)
	{
		return num * 3 + 5;
	}

	public static void main(String[] args) 
	{
		/*
		int x = 4;
		System.out.println(x*3+5);

		x=6;
		System.out.println(x*3+5);
		*/
		
	//  int x = 4*3+5;
	//  int y = 6*3+5;

		int x = getResult(4);
		int y = getResult(6);

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

	//发现以上的运算,因为获取不同数据的运算结果,代码出现了重复。
	//为了提高代码的复用性,对代码进行抽取。
	//将这个部分定义成一个独立的功能,方便日后使用
	//Java中对功能的定义通过函数的形式来体现的

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

	//1、先明确函数定义的格式
	/*
		 修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2, ...)
	  {
    	执行语句;
    	return 返回值;
	  }
	*/
}

函数的特点

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

  2. 便于对该功能进行复用

  3. 函数只有被调用才会被执行

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

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

    class FunctionDemo
    {
    	public static int getResult (int num)
    	{
    		return num * 3 + 5;
    	}
    
    	public static void main(String[] args) 
    	{
    		int x = getResult(4);
    		System.out.println("x ="+x);
    	}
    }
    
  6. 【注意】

    1. 函数中只能调用函数,不可以在函数内部定义函数
    2. 定义函数时,函数的结果应该返回给调用者,交由调用者处理

函数的应用

  1. 两个明确

    1. 明确要定义的功能最后的结果是什么?
    2. 明确在定义该功能的过程中,是否需要知道未知内容参与运算
  2. 示例:

    1. 需求:定义一个功能,可以实现两个整数的加法运算

    2. 分析:

      1. 该功能的运算结果是什么?两个数的和,也是一个整数 (int)

      2. 在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确定的。(两个参数, int)

      3. 代码:

        int getSum(int x, inty)
        {
            return x+y;
        }
        
      class FunctionDemo2
      {
      	public static void main(String[] args)
      	{
      		int sum = getSum(4,6);
      		System.out.println();
      		System.out.println("4+6 = "+ sum);
      
      		sum = getSum(11,3);
      		System.out.println("11+3 = "+ sum);
      	}  
      	 
      	/*
      	
      	如何定义一个函数呢?
           			1、既然函数是一个独立的功能,那么该功能的运算结果是什么先明确	
      						因为这是在明确函数的返回值类型
      
      	     		2、再明确在定义该功能的过程中是否需要未知的内容参与运算。
      				        因为是在明确函数的参数列表(参数的类型和参数的个数)
      	*/
      
      	//需求:定义一个功能完成 3 + 4 的运算,并将结果返回给调用者
      	/*
      		1、明确功能的结果:是一个整数的和
      		2、在实现该功能的过程中,是否有未知内容参与运算,没有。
      			  其实这两个功能就是在明确函数的定义
      			   1、是在明确函数的返回值类型
      			   2、明确函数的参数列表(参数的类型和参数的个数)
      	*/
      
         /*public static int getSum()
      	 {
      	 	 return 3+4; 
      	 }
         */
      
      	/*
      		以上这个函数的功能结果是固定的,毫无扩展性而言。
      		为了方便用户需求,由用户来指定加数和被加数。这样,功能才有意义
      
      		思路:
      			  1、功能结果是一个和 返回值是 int。
      			  2、有未知内容参与运算。有两个。这两个未知内容的类型都是 int 
      	*/
      	public static int getSum(int x, int y)
      	{
      		return x+y;
      	}
      
      
      	/*
      	
      		需求:判断两个数是否相同。
      			  
      		1、明确功能的结果,结果是:boolean。
      		2、功能是否有未知内容参与运算。有,两个整数。
      	
      	*/
      	public static boolean compare(int a, int b)
      	{
      	  /*
      		if (a==b)
      		{
      			return true;
      		}else 
      			return false; 
      	
      			如果返回的不是真假值可以这样写: 
      			     return (a==b)?true:false;
      	  */
      
      	  return a==b;
      	}
      
      	/*
      		需求:定义功能,对两个数进行比较。获取较大的数
      	*/
      	public static int getMax(int x, int y)
      	{
      	  /*
      		if(x>y)
      			return x;
      		else
      			return y;
      	   */
      	   return (x>y)?x:y;
      	}
      }
      

      函数在编写过程中出现的小问题

      class FunctionDemo2
      {
      	public static void main(String[] args)
      	{
      		int sum = getSum(4,6);
      		System.out.println();
      		System.out.println("4+6 = "+ sum);
      
      		sum = getSum(11,3);
      		System.out.println("11+3 = "+ sum);
      	}  
      	 
      	
      }
      

函数的重载

版权声明:本文为chchchch原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chchchch/p/12910841.html