zoukankan      html  css  js  c++  java
  • Java之--Java语言基础组成—函数

    Java语言基础组成—函数

    Java语言由8个模块构成,分别为:关键字、标识符(包名、类名、接口名、常量名、变量名等)、注释、常量和变量、运算符、语句、函数、数组。

    本片主要介绍Java中的函数,函数是Java中最小的功能单元。

    1.函数的定义

         1)	定义:指在类中的具有特定功能的一段独立小程序,也称为方法。
         2) 格式:
    			修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2, ... )	
    			{
    				执行语句;
    			    return 返回值;
    			}
    			返回值类型:函数运行后的结果的数据类型。
    			参数类型:是形式参数的数据类型。
    			实际参数:传递给形式参数的具体数值。
    			return:用于结束函数。
    			返回值:该值会返回给调用者。
         3) 范例
           //计算任意整数*3+5的结果
    	   class FunctionDemo{
    			public static void main(String[] args){
    					int x=4;
    					System.out.println(x*3+5); 
    					int y=6;
    					System.out.println(y*3+5); 			
    			}
             }
    
           发现以上的运算,因为获取不同数据的运算结果,代码出现了重复。
    	   为了提高代码的复用性,对代码进行抽取。
    	   将这个部分定义成一个独立的功能,方便使用。
    	   Java中对功能的定义是通过函数的形式来体现的。
    	   即需要定义一个功能:完成任意整数*3+5的值。
    			public static int getResult(int num){
    				return num*3+5;
    			}
           因此,上面的代码就可以简写为:
    		public class FuntionDemo{
    			public static void main(String[] args){
    				int x=getResult(4);
    				int y=getResult(6);
    				System.out.println("x="+x+",y="+y);
    				}
    			}
    			public static int getResult(int num){
    				return num*3+5;
    			}
    		//该程序运行结果为:x=17,y=23
    

    2.函数的特点

         1) 定义函数可以将功能代码进行封装。
         2) 便于对该功能进行复用。
         3) 函数只有被调用才会执行。
    	 4) 函数的出现提高了代码的复用性。
    	 5) 当函数没有具体返回值的情况,返回值类型用关键字void标识,即void代表的是函数没有具体返回值,那么该函数中的return语句如果在最后一行可以省略不写,该功能也不能在输出语句中输出,在功能中可以输出,函数直接调用。
    	 6) 注意写法格式:
               函数只能调用函数,不可以在函数内部定义函数(函数是平级的,谁也不包含谁)。
               定义函数时,函数的结果应该返回给调用者,交由调用者处理。 
    	 7) 例子说明:直接打印结果,不返回值(注意对应第五个特点)
    			public class FuntionDemo{
    				public static void main(String[] args){
    					getResult(5);
    			}
    			public static void getResult(int num){
    				System.out.println(num*3+5);
    				return;  //return可以省略不写。
    				}
    			}
    		//该程序运行结果为:20
    

    3.函数的应用

         1) 如何定义一个函数?
    		*1* 既然函数是一个独立的功能,那么先明确该功能的运算结果是什么。
    		*2* 再明确在定义该功能的过程中是否需要未知的内容参与运算。
    		*3* 定义函数时只需完成相对应的功能,将结果返回给调用者,调用者怎么使用是调用者的事情。
    
         2)实例说明
    		这里以简单的加法运算为例,主要介绍函数的应用,对于函数的特点体现不是特别明确。
            *1* 需求:定义一个功能,完成3+4的运算,并将结果返回给调用者。
            *2* 思路:1.明确该功能的运算结果:是一个整数的和,即明确函数的返回值类型。
                 2.再明确在定义该功能的过程中没有未知的内容参与运算,即明确函数的参数列表(参数类型和参数个数)。
    		*3* 程序实现:
    		class FunctionDemo2{
    			public static void main(String[] args){
    			int  sum=getAdd();
    			System.out.println("sum="+sum);
    			}
    			public static int getAdd(){
    			return 3+4;
    			}
    		}
    		*4* 结果分析:该程序运行结果为:sum=7
    

    以上函数的功能,结果是固定的,无扩展性。

    为方便用户需求,由用户来指定加数和被加数,这样功能才有意义。

    		*1* 需求:定义一个功能,完成任意两个整数加法的运算,并将结果返回给调用者。
            *2* 思路:
                功能的结果是一个整数,即返回值类型为int。
                有两个未知内容参与运算,类型为int。
    		*3* 程序实现:
    			class FunctionDemo2{
    				public static void main(String[] args){
    					int  sum=getAdd(3,5);
    					System.out.println("sum="+sum);
    					int  sum=getAdd(6,6);
    					System.out.println("sum="+sum);
    				public static int getAdd(int a int  b){
    					return a+b;
    					}
    				}
    		*4* 结果分析:该程序运行结果为:sum=8
    									sum=12
    
         3)函数的具体应用实例(一)
    		*1* 需求:判断两个数是否相等。
            *2* 思路:
                功能的结果是一个boolean型变量,即返回值类型为boolean。
                有两个未知内容参与运算,类型为int。
    		*3* 程序实现:
    			class FunctionDemo{
    				public static void main(String[] args){
    					compare(3,5);
    					System.out.println(compare(3,5));
    					}
    				public static boolean compare(int a,int  b){
    					return (a==b)?true:false;
    					}
    				}
    		*4* 结果分析:该程序运行结果为:flase
    
         4)函数的具体应用实例(二)
    		*1* 需求:输出两个整数中的最大值。
            *2* 思路:
                功能的结果是int型变量,即返回值类型为int。
                有两个未知内容参与运算,类型为int。
    		*3* 程序实现:
    			class FunctionDemo{
    				public static void main(String[] args){
    					getMax(3,5);
    					System.out.println(getMax(3,5));
    					}
    				public static int getMax(int a,int  b){
    					return (a>b)?a:b;
    					}
    				}
    		*4* 结果分析:该程序运行结果为:5
    
    
         4)函数的具体应用实例(三)
    		*1* 需求:定义一个功能,用于打印矩形。
            *2* 思路:
                功能的结果直接打印,所以返回值类型是void。
                有两个未知内容(矩形的行和列)参与运算,类型为int。
    		*3* 程序实现:
    			class FunctionDemo{
    				public static void main(String[] args){
    					draw(2,4);
    					printHr();
    					draw(3,6);
    					printHr();
    					}
    				public static void draw(int row,int col){  //实现矩形的打印功能
    					for(int x=0;x<row;x++){
    						for(int y=0;y<col;y++){
    							System.out.print("*");
    						}
    						System.out.println();
    					}
    				}
    				public static void printHr(){    //将每个矩形分割开
    					System.out.println("----------------------");
    				}
    			}
    		*4* 结果分析:该程序运行结果为:
    						****
    						****
    						----------------------
    						******
    						******
    						******
    						----------------------
    

    4.函数的重载

         1) 重载的概念
    		在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。。
         2) 重载的特点
    		与返回值类型无关,只看参数列表。
         3) 重载的好处
    		方便于阅读,优化了程序设计。
    	 4) 重载示例
    	 	*1*返回任意两个小数的和
    		   int add(double a,double b){return a+b;}
    	 	*2*返回任意两个整数的和
    		   int add(int a,int b){return a+b;}
    	 	*3*返回任意三个整数的和
    		   int add(int a,int b,int c){return a+b+c;}
    
    	 5) 重载的应用(什么时候用重载)
            当定义的功能相同,但参与运算的未知内容不同时,通过参数列表的不同来区分多个同名函数。
    	 6)重载应用实例 
    		class FunctionOverload {
    			public static void main(String[] args) {
    				int x=add(3,6);
    				System.out.println(x);
    				int y=add(3,6,7);
    				System.out.println(y);
    			}
    			//定义一个加法运算,获取两个整数的和。
    			public static int  add(int a, int b){  
    				return a+b;
    				}
    			//定义一个加法运算,获取三个整数的和。
    			public static int  add(int a, int b,int c){
    				return a+b+c;
    				}
    		}
    		//该程序运行结果为:9
    					     16
  • 相关阅读:
    多线程的创建方式
    ArrayList 初探
    java创建对象的几种方式
    select2动态查询及多选
    RabbitMQ 消息发送、消息监听
    tr命令
    集群,分布式,微服务概念和区别理解
    xargs命令
    shell中的EOF用法
    字段分隔符IFS
  • 原文地址:https://www.cnblogs.com/dulijuan/p/4501757.html
Copyright © 2011-2022 走看看