• JavaSE----08.Java 方法


    08.Java 方法

    1、方法

    • 定义:Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段。
    • 语法:
    修饰符 返回值类型 方法名(参数类型 参数名){
        ...
        方法体
        ...
        return 返回值;
    }
    

    修饰符:告诉编译器如何调用该方法。定义了该方法的访问类型。

    • 访问修饰符:public 、 private、 protected 、 默认修饰符
    • 非访问修饰符:abstract、static、 final、 native 、synchronized

    返回值类型 :方法可能会返回值。

    • void:没有返回值;
    • 数据类型(基本类型,引用类型)。

    方法名:是方法的实际名称。

    方法体:方法体包含具体的语句,定义该方法的功能。

    参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。

    • 形参:在方法被调用时用于接收外界输入的数据。
    • 实参:调用方法时实际传给方法的数据。
    • 案例1(定义一个没有返回值,没有参数的方法)
        public static void main(String[] args) {
            //主方法里面直接调用方法
            getInfo();
        }
    
        public static void getInfo(){
            System.out.println("张繁星");
        }
    

    案例2(定义一个有参有返回值的方法)

        public static void main(String[] args) {
                int add = getAdd(10, 20);
                System.out.println(add);
            }
    
            private static int getAdd(int a, int b){
                return a + b;
            }
    

    2、方法调用

    • Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
    public static void main(String[] args) {
            //主方法里面直接调用方法
            print("Hello");
            print("	world");
            print("!");
        }
        
        public static void print(String msg) {
            System.out.print(msg);
        }
    

    2、方法的重载

    • 方法重载指的是:在一个类中方法名称相同,参数的类型和个数不同。返回类型可以相同也可以不同。最常用的地方就是构造器的重载。被重载的方法可以改变访问修饰符.
        public static void main(String[] args) {
            //此时将根据参数的类型和个数的不同执行不同的方法体
            System.out.println(add(10, 20));
            System.out.println(add(30, 40, 50));
            System.out.println(add(1.1, 2.1));
        }
        
        private static int add(int x, int y) {
            return x + y;
        }
        
        private static int add(int x, int y, int z) {
            return x + y + z;
        }
        
        private static double add(double x, double y) {
            return x + y;
        }
    

    3、递归

    • 方法的递归调用指的是一个方法自己调用自己的形式。
    • 要进行方法的递归操作往往都具备有以下的特点:
      • 方法必须有一个递归的结束条件
      • 方法在每次递归处理的时候一定要做出一些变更

    案例(利用代码计算一个数的的乘阶)

        public static void main(String[] args) {
            //阶乘的结果不能大于int的最大值
            System.out.println("请输入你要计算的阶乘整数:");
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt();
    
            int f1 = f(n);
            System.out.println(n + "的阶乘结果为:" + f1);
    
            scanner.close();
        }
    
        public static int f(int n){
            if (n == 1){
                return 1;
            }else {
                return n * f(n-1);
            }
        }
    
    • 递归的优点就是易理解,容易编程。但递归是用栈机制实现的,每深入一层,都要占去一块栈数据区域,对嵌套层数深的一些算法,递归会力不从心,空间上会以内存崩溃而告终,而且递归也带来了大量的函数调用,这也有许多额外的时间开销。
    • 能不用递归就不用递归,递归都可以用迭代来代替。
  • 相关阅读:
    TCP建立连接和断开连接
    城市三级联动Springmvc+mysql
    JS页面间数据传递的各种方法
    点击Button弹出登陆注册框
    一个多表联合查询引发的思考
    Linq扩展方法获取单个元素
    Visual Studio 常见问题
    格式化asp.net mvc视图页面
    2014上半年度挑战回顾
    2014年上半度年度挑战
  • 原文地址:https://www.cnblogs.com/zhangliuping/p/11862824.html
Copyright © 2020-2023  润新知