码迷,mamicode.com
首页 > 其他好文 > 详细

方法(基本)

时间:2017-10-13 10:09:20      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:例子   []   方法   一个   swa   分享   ann   静态   hang   

方法:

  1. 静态方法导入

    import static java.lang.Math.*;

    调用:类名.方法名

     

    2.定义方法

    访问权限 [static] 返回值类型 方法名(参数)

    {   语句;   }

     

     

    3.可变参数的方法

    Example:

    public double max(int y,double ... x)

    {           }

    调用:temp.max(2,1.0,2.5,3.6,66.69)

    特点:

     1.只能出现在方法发参数列表的最后

     2.”...”位于变量类型和变量名之间,有无空格均可

     3.调用时,编译器为该可变参数隐含创建一个数组在方法体中以数组形式访问可变参数

    例子:

      源程序:

    public class Changes {

    public static void main(String args[]) {

    System.out.print(max(1.2,9.4,88.5,75.3,45.369,15.2));

    }

     

    public static double max(double ... d) {

    double largest=Double.MIN_VALUE;

    for(double v:d) {

    if(v>largest)

    largest=v;

    }

    return largest;

    }

    }

    截图:

     技术分享

     

     

     

    4.方法重载

    满足:

  1. 方法名相同

  2. 参数类型,个数,顺序不同

  3. 方法的返回值不做为重载的条件

    例子:

    源代码:

    public class Overload {

     

    public static void main(String args[]) {

    System.out.println(max(1,9,6,5,7));

    System.out.println(max(7.2,8.5,9.6,8.8,5.8));

    }

    //同名不同作用

    public static int max(int ...n) {

    int maxx=0;

    for(int temp:n) {

    if(temp>maxx)

    maxx=temp;

    }

    return maxx;

    }

    public static double max(double ...n) {

    double maxx=Double.MIN_VALUE;

    for(double b:n) {

    if(b>maxx)

    maxx=b;

    }

    return maxx;

    }

    }

     

    截图:

     

     技术分享

     

    5.递归方法:自己调用自己

     

    递归::”从前到后”

    递推 ”从后到前”,通常可用循环实现。

    例子

    源代码:

    //汉诺塔

    //递归

    import java.util.Scanner;

    public class Hanoi {

     

    @SuppressWarnings("resource")

    public static void main(String args[]) {

    System.out.print("enter the number of tower:");

    Scanner scan=new Scanner(System.in);

    int in=scan.nextInt();

    System.out.println("Handle:");

    handle(in,‘A‘,‘B‘,‘C‘);

     

    }

    //每一步的移动

    //将第n层从A移动到B

    static void move(int n,char A,char B) {

    System.out.println(""+n+""+A+"->"+B);

    }

    //递归处理汉诺塔

    //n层从A借助B移动到C

    static void handle(int n,char A,char B,char C) {

    if(n==1)

    move(1,A,C);

    else {

    handle(n-1,A,C,B);

    move(n,A,C);

    handle(n-1,B,A,C);

    }

    }

    }

     

    截图:

     技术分享

     

     

     

     

     

     

     

     

     

     

     

     

     

     

方法(基本)

标签:例子   []   方法   一个   swa   分享   ann   静态   hang   

原文地址:http://www.cnblogs.com/floakss/p/7659096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!