zoukankan      html  css  js  c++  java
  • 8.Java语言基础:函数

    阅读目录:

    1.函数的定义

    2.函数的特点

    3.函数的应用

    4.函数的重载

    1.函数的定义

    1.函数的定义
        答:函数就是定义在类中的具有特定功能的一段独立小程序。
        函数也称为方法。
        
    2.函数的格式
        修饰符  返回值类型 函数名(参数类型  形式参数1,参数类型 形式参数2,...)
        {
            执行语句;
            return 返回值;
        }
        
        返回值类型:函数运行后的结果的数据类型。
        参数类型:是形式参数的数据类型。
        形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
        return:用于结束函数。
        返回值:该函数运算后的结果,该结果会返回给调用者。

    示例:

    class FunctionDemo
    {
        public static void main(String[] args)
        {
            //int a = 3;
            //int b = 4;
            //int c;
            //c = a+b;
            
            //c = 5+7;
            //c = 9+8;
            
            int c = add(3,4)
            System.out.println("c="+c)
            
        }
        
        public static int add(int a, int b)
        {
            return a+b;
        }

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

        */

    
    
        
    }
    特殊情况示例:
    总结: 没有具体返回值时,返回值类型用void表示
    注意: 如果返回值类型是void,那么函数中的return语句可以省略不写。
    class FunctionDemo01
    {
        public static void main(String[] args)
        {
            myPrint();
            myPrint();
            
        }
        
        public static void myPirnt()
        {
            System.out.println("hello world")
            return;
        }
        
        public static int add(int a,int b)
        {
            return a+b;
        }
        
        
    }

    2.函数的特点

    函数的特点:
        1.定义函数可以将功能代码进行封装
        2.便于对该功能进行复用
        3.函数只有被调用才会被执行
        4.函数的出现提高了代码的复用性
        5.对于函数没有具体返回值的情况,返回值类型用关键字void表示
          那么该函数中的return语句如果在最后一行可以省略不写。
        注意:
            函数中只能调用函数,不可以在函数内部定义函数。
            定义函数时,函数的结果应该返回给调用者,交由调用者处理。

    注意点:小误区

    class FunctionDemo02
    {
        public static void main(String[] args)
        {
            int x = add(3,5);  //绞肉机
            System.out.println("x="+x)
            add(3,5)
            
        }
        
        //这种形式不合适,定义函数的误区,因为直接就输出结果了。
        public static void add(int a;int b)
        {
            System.out.println(a+b);
            return;
        }
        
        //用这种格式比较适合
        public static int add(int a,int b)
        {
            return a+b;
        }
        
        
    }

    练习:

    class FunctionDemo03
    {
        public static void main(String[] args)
        {
            System.out.println("hello world")
        }
        
        /*
            需求1: 定义一个功能,完成两个整数的和的获取。
            思路:既然定义功能,就是可以用函数来体现。
                如何定义一个函数呢?
                通过两个明确来完成。
                明确1:这个功能的结果是什么?  是和,是功能的结果,所以该功能的返回值类型是int
                明确2:这个功能实现过程中是否需要未知内容参与运算? 有,加数和被加数,这就是函数的参数列表(参数的个数,参数的类型)
                注意: 返回值类型和参数类型没有直接关系。
        */
        public static int add(int a,int b)
        {
            int sum = a+b;
            return sum;
        }
        
        
        
        
        /*
            需求2: 定义一个功能,画一个矩形在控制台。
            明确1: 这个功能的结果是什么?
                答:没有结果,因为直接打印到了控制台,并未返回给调用者。用void表示
            明确2: 这个功能实现过程中是否需要未知内容参与运算?
                答:有,行和列不确定。两个。整数int
                
        */    
        public static void draw(int row,int col)
        {
            for (int x=1; x<=row; x++)
            {
                for (int y=1; y<=col, y++)
                {
                    System.out.print("*")
                }
                System.out.println();
            }
        }
    
        /*
            需求3: 定义一个功能,比较两个数是否相等。
            明确1: 这个功能的结果是什么?
                答:有, boolean
            明确2: 这个功能实现过程中是否需要未知内容参与运算?
                答:有两个整数。
                
        */
        public static boolean equals(int a,int b)
        {
            /*
            if(a==b)
                return true;
            else 
                return flase;
            */
            //return (a == b)? true:false;    
            return a===b;
        }
    
        /*
            需求1: 定义一个功能,获取两个数较大的数。
            明确1: 这个功能的结果是什么?
                答:有,int
            明确2: 这个功能实现过程中是否需要未知内容参与运算?
                答:有参与比较的两个整数,int
        */    
        public static int getMax(int a, int b)
        {
            if (a>b)
                return a;
            else 
                return b;
            
        }
        
        /*
            定义功能: 打印99乘法表
        */
        public static void print99()
        {
            for(int x=1; x<=9; x++)
            {
                for(int y=1; y<=x; y++)
                {
                    System.out.print(y+"*"+x+"="+y*x+"	");
                }
                System.out.println()
            }
        }
        
        /*
            根据考试成绩获取学生分数对应的等级
            90-100 A
            80-89 B
            70-79  C
            60-69  D
            60以下 E
            
            结果: 等级,字符,char
            参数: 分数,int
            
        */
        public static char getLevel(int num)
        {
            char level;
            if (num>=90n && num<=100)
                level = 'A'
            else if (num>=80 && num <=89)
                level = 'B'
            else if (num>=70 && num <=79)
                level = 'C'
            else if (num>=60 && num <=69)
                level = 'D'
            else  
                level = 'E'
            return level;
        }
    }

    3.函数的应用

     

    4.函数的重载

    1.函数的重载
    
    重载的概念:
        在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
        
    重载的特点:
        与返回值类型无关,只看参数列表
        
    重载的好处:
        方便于阅读,优化了程序设计
        
    重载示例:
        //返回两个整数的和
    int add(int x, int y)(return x+y;)
        //返回三个整数的和
    int add(int x,int y,int z)(return x+y+z;)
        //返回两个小数的和
    double add(double x ,double y)(return x+y;)
        
        
        
    /
    *
    需求:函数的重载
    *
    /    
    
    class  FunctionDemo4
    {
        public static void main(String [] args)
        {
            //System.out.println("Hello world")
            printCFB(9);
        }
        /*
        1.同一个类
        2.同名
        3.参数个数不同,或者,参数类型不同
        */
        
        //加法运算,两个整数的和
        public static int add1(int a,int b)
        {
            return a+b;
        }
        
        //加法运算,两个小数的和
        public short double add2(double a,double b)
        {
            return a+b;
        }
        
        //加法运算,三个整数的和
        public static int add3(int a,int b,int c)
        {
            return a+b+c;
        }
        
        /*
        打印乘法表
        */
        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+"	");
                    
                }
                System.out.println();
            }
        }
        
        /*
        打印标准乘法表
        */
        public static void printCFB()
        {
            printCFB(9);
        }
        
        
    }
  • 相关阅读:
    MongoDB ODM
    MongoDb python连接
    json格式化
    IDEA使用
    centos7安装完mariadb设置初始密码
    linux虚机联网
    问题解决记录【612-714】
    资料积累
    技术名词理解
    eclipse
  • 原文地址:https://www.cnblogs.com/zhongbokun/p/10586626.html
Copyright © 2011-2022 走看看