java基础知识---关于方法的定义和使用

一、方法

  • 方法概述

    方法是用于封装特定功能的代码块
    
  • 1.方法格式

    修饰符 返回值类型   方法名(参数类型 参数名...){
        方法体;
        return 返回值;
    }
    
  • 2.如何写一个方法:

    需要根据需求明确返回值类型和参数列表
    参数列表:
        缺什么,你就写什么参数,缺几个你就写几个
    返回值类型:      
        返回值就是需求的结果,结果是什么类型,返回值就是类型
    
  • 3.有返回值的方法

    //举例1:求任意两个数的和,调用方法得到结果后,可以用结果做其他操作
    public static int getSum(int a,int b){
        return a+b;
    }
    
  • 4.无返回值的方法

    //举例2: 写一个方法,求任意两个数的和,调用方法结果直接输出,不能做其他操作
    public static void getSum(int a,int b){
        System.out.println(a+b);
    }
    
  • 5.有关方法的注意事项

    a:方法需要定义在类中
    b:方法和方法之间是平级的,不能嵌套定义
    c:方法有返回值类型,就必须写return语句
    d:方法如果没有返回值,用void表示,可以写return;
    e:方法的实际参数和形式参数要一一对应
        形式参数:定义在方法()里的参数
        实际参数:调用方法时实际传递的参数
    
  • 6.方法的重载

    方法名相同,参数列表不同,与返回值无关
    public static void show(int a,int b){
    
    }
    //参数类型不同
    public static void show(int a,byte b){
    
    }
    //参数顺序不同
    public static void show(byte a,int b){
    
    }
    //参数个数不同
    public static int show(int a,int b,int c){
        return 0;
    }
    
    //这个不是重载,和参数名没有关系
    public static void show(int x,byte y){
    
    }
    

二、方法的参数

  • 1.方法的参数是基本类型

    形式参数的改变不影响实际参数
    
  • 2.方法的参数是引用数据类型

    形式参数的改变对实际参数直接影响
    

三、方法练习

  • 1.写一个方法,在控制台打印输出n个HelloWorld

    public static void printHelloWorld(int n){
        for(int i=0;i<n;i++){
            System.out.println("HelloWorld");
        }
    }
    
  • 2.写一个方法,求两个数的最大值

    public static int getMax(int a,int b){
        int max=a>b?a:b;
        return max;
    }
    
  • 3.写一个方法,求三个数的最大值

    public static int getMax(int a,int b,int c){
        //先求a和b最大值,赋值给max
        int max=a>b?a:b;
        //再让max和c比较求最大值,重新赋值给max
        max=max>c?max:c;
        return max;
    }
    
  • 4.写一个方法,打印输出所有的水仙花数

    public static void printFlower(int a,int b,int c){
        //遍历所有的三位数
        for(int i=100;i<=999;i++){
            int ge=i%10;
            int shi=i/10%10;
            int bai=i/100%10;
            if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
                System.out.println(i);
            }
        }
    }
    
  • 5.写一个方法,求水仙花数的个数

    public static int getFlowerCount(int a,int b,int c){
        //定义计数器
        int count=0;
        //遍历所有的三位数
        for(int i=100;i<=999;i++){
            int ge=i%10;
            int shi=i/10%10;
            int bai=i/100%10;
            if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
                count++;//计数器累加
            }
        }
        return count;
    }
    
  • 6.写一个方法,输出数组int[] 中所有的元素

    public static void printArray(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
    

  • 1.写一个方法,按照格式输出数组int[]中所有的元素

    // 输出格式如:{1,2,3,4,5}
    public static void printArray(int[] arr) {
        System.out.print("{");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                // 是最后一个元素
                System.out.println(arr[i] + "}");
            } else {
                // 不是最后一个元素
                System.out.print(arr[i] + ",");
            }
        }
    }
    
  • 2.写一个方法,求数组中元素的和

    public static int getArraySum(int[] arr) {
        //定义求和变量
        int sum = 0;
        //遍历所有元素
        for (int i = 0; i < arr.length; i++) {
            //和sum累加                
            sum += arr[i];
        }
        return sum;
    }
    
  • 3.写一个方法,求数组中元素的平均值

    public static int getArrayAvg(int[] arr) {
        //求和变量
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            //把元素和sum累加
            sum += arr[i];
        }
        //计算平均值
        int avg = sum / arr.length;
        return avg;
    }
    
  • 4.写一个方法,求数组中元素的最大值

    public static int getArrayMax(int[] arr) {
        //把数组的第一个元素,假设为最大值
        int max = arr[0];
        //遍历数组中的元素,和max比较
        for (int i = 0; i < arr.length; i++) {
            //如果元素比max大
            if (arr[i] > max) {
                max = arr[i];//把大的元素赋值给max
            }
        }
        return max;
    }
    
  • 5.写一个方法,求数组中元素的最小值

    public static int getArrayMin(int[] arr) {
        //把数组的第一个元素,假设为最小值
        int min = arr[0];
        //遍历数组中的元素,和min比较
        for (int i = 0; i < arr.length; i++) {
            //如果元素比min大
            if (arr[i] < min) {
                min = arr[i];//把小的值赋值给min
            }
        }
        return min;
    }
    
  • 7.键盘录入若干个元素,保存到数组中,并将数组返回

    public static int[] createScannerArray(int length) {
        //根据指定的长度,创建一个数组
        int[] arr = new int[length];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            System.out.println("键盘录入第" + (i + 1) + "个整数:");
            //把键盘录入的整数,赋值给元素
            arr[i] = sc.nextInt();
        }
        //把填充好数据的数组返回
        return arr;
    }
    
  • 8.随机生成若干个元素,保存到数组中,并将数组返回

    public static int[] createRandomArray(int length, int bounds) {
        //根据指定的长度,创建一个数组
        int[] arr = new int[length];
        //创建随机数对象
        Random sc = new Random();
        //遍历数组,给元素赋值
        for (int i = 0; i < arr.length; i++) {
            System.out.println("键盘录入第" + (i + 1) + "个整数:");
            //随机生成[0,bounds)范围内的整数,并赋值给元素
            arr[i] = sc.nextInt(bounds);
        }
        //把填充好数据的数组返回
        return arr;
    }

猜你喜欢

转载自blog.csdn.net/jeremy_ke/article/details/81076023