zoukankan      html  css  js  c++  java
  • 方法

    方法的重载:

    重载就是在一个类中,有相同的函数名称,但形参不同的函数。

    方法重载的规则:①方法名称必须相同

                                   ②参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)

                                   ③方法的返回类型可相同可不同

                                   ④仅仅返回类型不同不足以成为方法的重载

    package com.wang.method;3为365j
    public class Demo02 {
        public static void main(String[] args) {
            int max=max(10,10);
            double max1=max(10.0,20.0);
            System.out.println(max);
            System.out.println(max1);
        }
        public static int max(int num1,int num2){
            int result=0;
            if(num1==num2){
                System.out.println("num1=num2");
                return 0;//终止方法
            }
            if(num1>num2){
                result=num1;
            }else{
                result=num2;
            }
            return result;
        }
        public static double max(double num1,double num2){//方法的重载
            double result=0;
            if(num1==num2){
                System.out.println("num1=num2");
                return 0;//终止方法
            }
            if(num1>num2){
                result=num1;
            }else{
                result=num2;
            }
            return result;
        }
    }

    可变参数

    Java支持传递同类型的可变参数给一个方法。

    在方法声明中,在指定参数类型后加一个省略号(...)

    一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通参数都必须在它之前声明

    package com.wang.method;
    //可变参数
    public class Demo03 {
        public static void main(String[] args) {
         Demo03 demo03=new Demo03();
         demo03.test(1,2,3,4,5);
        }
        public static void test(int x,int... i){
            System.out.println(i[0]);
            System.out.println(i[1]);
            System.out.println(i[2]);
            System.out.println(i[3]);
        }
    }
    
    package com.wang.method;
    public class Demo04 {
        public static void main(String[] args) {
         printMax(1,6,4,0,5);
         printMax(new double[]{1,2,3});
        }
        public static void printMax(double... numbers){
            if(numbers.length==0){
                System.out.println("No argument passed");
                return;
            }
            double result=numbers[0];
             for(int i=1;i<numbers.length;i++){
                 if(numbers[i]>result){
                     result=numbers[i];
                 }
             }
            System.out.println("The Max Value is "+result);
        }
    }

    *递归

    A方法自己调用自己

    递归结构包括两个部分:①递归头:需要知道什么时候不调用自身。如果没有头,将陷入死循环

                                              ②递归体:什么时候需要调用自身方法

    package com.wang.method;
    //阶乘
    public class Demo05 {
        public static void main(String[] args) {
            System.out.println(f(3));
        }
        public static int f(int n){
            if(n==1) {
                return 1;
            }else{
                return n*f(n-1);
            }
        }
    }
  • 相关阅读:
    .NET XmlNavigator with Namespace
    编程要素
    【FOJ】1962 新击鼓传花游戏
    【POJ】1389 Area of Simple Polygons
    【POJ】2482 Stars in Your Window
    【HDU】3265 Posters
    【HDU】1199 Color the Ball
    【HDU】3642 Get The Treasury
    【HDU】4027 Can you answer these queries?
    【HDU】1542 Atlantis
  • 原文地址:https://www.cnblogs.com/wyj96/p/11743641.html
Copyright © 2011-2022 走看看