Java学习五,方法

1.什么是方法

                  

说白了,方法就是我们其他编程语言中的函数

1.1 方法的声明

                  

2.方法的分类

                   

具体代码如下:

package com_imooc;

public class fangfa {

    //1.无参数无返回值的方法
    public void print_Star() {
        System.out.println("我是无参数无返回值的方法,直接调用就可以的");
    }

    //2.无参数有返回值的方法
    public int areo() {
        int length = 10, hight = 120;
        return length * hight;
    }

    //3.有参数无返回值的方法
    public void max(float a, float b) {
        if (a > b) {
            System.out.println(a);
        } else {
            System.out.println(b);
        }
    }

    //4.有参数有返回值的方法
    public int fac(int n) {
        int rel = 1;
        for (int i = 1; i <= n; i++) {
            rel *= i;
        }
        return rel;
    }

    //5.数组作为方法参数
    public void print_array(int[] arr) {
        for (int a : arr) {
            System.out.println(a);
        }
    }

    //6.判断数字是否在数组中
    public boolean in_array(int[] arr, int a) {
        for (int aa : arr) {
            if (aa == a) {
                return true;
            }
        }
        return false;
    }


    public static void main(String[] vvv) {
        //先声明fangfa类的对象是myfangfa
        fangfa myfangfa = new fangfa();

        //调用方法print_Star,输出小星星
        myfangfa.print_Star();

        //调用方法areo,求面积
        System.out.println("长方形的S:" + myfangfa.areo());

        //调用方法max,求最大值
        myfangfa.max(3.2f, 6.7f);

        //调用方法fac,求阶乘
        System.out.println("阶乘" + myfangfa.fac(5));

        //调用方法print_array,打印出数组的值
        int[] arr = {14, 85, 88, 99, 234};
        myfangfa.print_array(arr);

        //调用方法in_array,判断数字是否在数组中
        int a = 14;
        System.out.println("数字:" + a + ",是否在集合arr中?" + myfangfa.in_array(arr, a));
    }
}

3.方法重载

    只要是方法名字相同,方法的参数列表不同就可以认定是方法的重载;

    例题如:

                    

     除了第二条中和hello()的参数均为空,以及最后一条hello1()的方法名称不同以外,其余的均可以说是hello()方法的重载

package com_imooc;

public class fangfa {

    //7.方法的重载(定义3个方法,实现int,double和数组类型的和)
    public int sum(int a, int b) {
        return a + b;
    }

    public double sum(double a, double b) {
        return a + b;
    }

    public int sum(int[] a) {
        int sum = 0;
        for (int vv : a) {
            sum += vv;
        }
        return sum;
    }

    public static void main(String[] vvv) {
        //先声明fangfa类的对象是myfangfa
        fangfa myfangfa = new fangfa();

        int[] arr = {14, 85, 88, 99, 234};

        //调用重载的方法
        System.out.println("int的类型和"+myfangfa.sum(2,7));
        System.out.println("double的类型和"+myfangfa.sum(2f,7.5));
        System.out.println("array的类型和"+myfangfa.sum(arr));
    }
}

4.可变参数列表

                   

对于这种不确定参数有多少个的方法,可以用如上图一样的写法,"count(int...n){}",需要注意的是有两点:

      1.可变参数一定是在最后边的;

      2.可变参数的方法是最后才能被访问;

5.代码练习

                                      

package com_imooc;

import java.util.Scanner;

public class fangfazuoye {

    public void hello() {
        System.out.println("*************************");
        System.out.println("    1--插入数据");
        System.out.println("    2--显示所有数据");
        System.out.println("    3--指定位置插入数据");
        System.out.println("    0--退出");
        System.out.println("*************************");
        System.out.println("请输入对应的数字进行操作:");
    }

    //监视键盘的输入
    public int jiandu() {
        Scanner s = new Scanner(System.in);
        return s.nextInt();
    }

    //添加

    /**
     * @param arr 数组
     * @param a   值
     * @param i   健
     */
    public void add_array(int[] arr, int a, int i) {
        arr[i] = a;
    }

    //遍历
    public void for_array(int[] arr) {
        System.out.print("添加数组为:");
        for (int v : arr) {
            System.out.print(" " + v);
        }
        System.out.println();
    }

    public static void main(String[] vvv) {
        //定义新的对象
        fangfazuoye zuoye = new fangfazuoye();

        int[] arr = new int[5];

        while (true) {
            //欢迎页
            zuoye.hello();

            //监督键盘的输入
            int n = zuoye.jiandu();

            if (n == 1) {
                for (int i = 1; i < arr.length + 1; i++) {
                    System.out.print("请输入第" + i + "个参数:");
                    int a = zuoye.jiandu();
                    zuoye.add_array(arr, a, i - 1);
                }
                zuoye.for_array(arr);
            } else if (n == 2) {
                zuoye.for_array(arr);
            } else if (n == 3) {
                System.out.println("请输入插入的位置:");
                int i = zuoye.jiandu();
                System.out.println("请输入的值:");
                int a = zuoye.jiandu();
                zuoye.add_array(arr, a, i);
                zuoye.for_array(arr);
            } else if (n == 0){
                System.out.println("退出成功");
                break;
            }

        }

    }
}

猜你喜欢

转载自blog.csdn.net/feiwutudou/article/details/85613674