zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java基础—第五章、方法

JAVA方法基础 第五章
2023-09-11 14:21:22 时间

目录

第一节、方法的定义

一、定义格式:

二、定义参数和返回值:

第二节、方法的调用

一.return语句

二、调用方法时的参数传递

第三节、编写方法所遵循的原则

第四节、练习

一、练习1

二、练习2

三、练习3



第一节、方法的定义

  1. 方法是一段封装特定逻辑功能的代码
  2. 方法可以被反复的调用,减少代码的重复性,便于程序的维护和优化。

  3. 方法的5个要素: 修饰词 返回值类型 方法名 参数列表 方法体


一、定义格式:

//main函数 main方法 主方法 主函数 

public static void main(String[] args) {

}
分析: 
public static : [修饰词] 可以省略 不写表示当前所有修饰词为默认的。
 
void : 返回值类型 当前这个方法在使用后返回值的类型 

void:无返回值类型 

main : 方法名字 符合标识符命名规范且一般情况下采用小驼峰命名法。 

(String[] args) : 参数列表 多个参数中间用逗号隔开 形式参数,当前方法调用时所需要 传入的参数类型 
    
{} : 方法的逻辑体

二、定义参数和返回值:

  1. 在方法调用时,会将实际的参数值传递给方法的参数变量,必须保证参数类型和个数符合方法的声明。

  2. 方法在使用时,可以返回一个数据,称之为返回值。

  3. 方法在定义时必须指定返回值的类型。

  •           有返回值时,写具体的返回值的类型

  •           无返回值时,写void


第二节、方法的调用

一.return语句

    1.有返回值时,返回具体的返回值结果

public static double sum2(double a,int b) {
    //一定要声明合适的返回值的类型 
    
    return a + b;//返回方法的返回值 
}

   2.返回值类型为void时,可以使用return;

public static void testfor() { 
    for (int i = 0; i <= 1000; i++) { 
         if(i == 999) { 
             return;//立即结束方法,返回被调处       
         }
       System.out.println(i); 
    } 
 }

二、调用方法时的参数传递

package com.hqyj.basic.helloworld; 

public class Test01 { 

      public static int sum(int x , int y) { 
           return x + y; 
       }
      public static void main(String[] args) { 
           int a = 5; int b = 6; 
           int result = sum(a,b); 
       } 
   }

第三节、编写方法所遵循的原则

  •         功能要单一,一个方法完成一个功能

  •         代码复用

第四节、练习

一、练习1

          自定义方法,完成产生随机数组(长度和整数的范围)作为参数

package com.hqyj.javacode.methods;

import java.util.Arrays;

public class TestMethod1 {

//自定义方法生成一个随机数组。长度和整数的范围)作为参数
    public static void main(String[] args) {
        int[] arr = randomArray(20 ,200);
        System.out.println("生成的数组为:"+ Arrays.toString(arr));
    }

    public static int[] randomArray(int length,int range) {
        int[] arr = new int [length];
        for(int i = 0;i < length; i ++) {
            arr[i] = (int)(Math.random()*range);
        }
        return arr;

    }
}

二、练习2

         自定义方法生成一个随机数组,自定义一个冒泡排序方法,对数组进行排序输出

import java.util.Arrays;

public class HomeWork {
    public static void main(String[] args) {


        int[]  arr = new int[20];
        arr = randomArray(20,200);
        System.out.println("生成的数组为:"+ Arrays.toString(arr));

        arr = bubblingsort(arr);
        System.out.println("排序后:"+Arrays.toString(arr));

    }
    // 1.自定义方法,完成产生的随机数组,长度和整数的范围作为参数
    public static int[] randomArray(int length,int range){
        int[] arr = new int [length];
        for(int i = 0;i < length; i ++){
            arr[i] = (int)(Math.random()*range);
        }
        return arr;

    }
    //2.冒泡排序方法
    public static int[]  bubblingsort(int[] arr){

        for (int i = 0; i < arr.length -1; i++) {
            for (int j = 0; j < arr.length - i -1; j++) {
                if (arr[j] > arr[j + 1]) {
                    int t = arr[j];
                    arr[j] = arr[j +1];
                    arr[j + 1]= t;
                }
            }
        }
        return arr;
    }

}

三、练习3

  猜数字游戏:

      1.系统产生一个0-100内的随机整数,用户输入一个数字猜!

      2.猜大了提示“猜大了”, 猜小了提示“猜小了”,猜对了则打印所猜分数 和次数

      3.如果用户中途退出,则输入-1 满分为100分,每猜一次扣3分。 

package com.hqyj.javacode.methods;

import java.util.Scanner;

public class Guessing {
   
    public static void main(String[] args) {

        int randomNumber = (int)(Math.random()*100);   //系统产生一个0-100内的随机整数

        Scanner scanner = new Scanner(System.in);
        int userNumber;  //用户输入的数字
        int guesscount = 0;  //最终的猜测次数
        int guessscore = 100;  //最终的猜测分数

        System.out.println(randomNumber);

        System.out.println("游戏开始,请输入猜测的数字:0-100以内!!!");
        while(true) {

            userNumber = scanner.nextInt();

            if (userNumber == -1) {
                System.out.println("终止游戏,退出......");
                break;
            }
            if (userNumber > randomNumber) {   //猜大了
                System.out.println("猜大了");
                guesscount ++;
            } else if (userNumber < randomNumber) { //猜小了
                System.out.println("猜小了");
                guesscount ++;
            } else {
                System.out.println("猜对了");
                guesscount ++;
                guessscore -= guesscount * 3;

                System.out.println("您一共猜了" + guesscount + "次");
                System.out.println("您的分数最终为:" + guessscore + "分");
                break;
            }

        }
    }
}