6:Java中的方法

1.Java中的定义和语法:

定义:用来解决一类问题的代码的有序组合,是一个功能模块。
语法:
  访问修饰符  返回值类型  方法名(参数列表){ 方法体   }

1、访问修饰符:方法允许被访问的权限范围,可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴

2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

3、 方法名:定义的方法的名字,必须使用合法的标识符

4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开根据方法是否带参、是否带返回值,可将方法分为四类:

Ø 无参无返回值方法

Ø 无参带返回值方法

Ø 带参无返回值方法

Ø 带参带返回值方法

2.Java中无参无返回值方法的使用:

1.定义:如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
2.方法的使用分两步:
    第一步,定义方法:
    public void show(){
      System.out.println(" welcome to Java");  
    }

PS:1、 方法体放在一对大括号中,实现特定的操作。
       2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式。

    第二步,调用方法:
    当需要调用方法执行某个操作时,可以先创建类的对象,然后通过  对象名.方法名();  来实现。如下所示:
    public class HelloWorld {
    
        public static void main(String[] args) {
        // 创建对象,对象名为hello
        HelloWorld hello = new HelloWorld();
        // 调用方法
        hello.showMyLove();
    }

    /*
     * 定义无参无返回值的方法
     */
    public void showMyLove() {
        System.out.println("我爱慕课网!");
    }
    }

2.Java中无参带返回值方法的使用:

扫描二维码关注公众号,回复: 6016705 查看本文章
1.定义:如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。
2.方法的使用分两步:
    第一步,定义方法:
    public int calSum(){
        int a = 5;
        int b = 2;
        int sum = a+b;
        return sum;
    }

PS:1、 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。

    第二步,调用方法:
    调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:
public class HelloWorld {
    
    public static void main(String[] args) {
        // 创建名为hello的对象
        HelloWorld hello = new HelloWorld();
        // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
        double avg = hello.calcAvg();
        System.out.println("平均成绩为:" + avg);
    }
    // 定义一个返回值为double类型的方法
    public  double  calcAvg() {
        
        double java = 92.5;
        double php = 83.0;
        double avg = (java + php) / 2; // 计算平均值
        // 使用return返回值
        return avg;
    }
}

习题:定义一个无参带返回值的方法,实现输出学生年龄的最大值

public class HelloWorld {
    
    //完成 main 方法
    public static void main(String[] args) {
        
        // 创建对象,对象名为hello
        HelloWorld hello = new HelloWorld(); 
        
        // 调用方法并将返回值保存在变量中
        int maxScore = hello.getMaxAge();
        
        // 输出最大年龄
        System.out.println("最大年龄为:" + maxScore); 
    }

    /*
     * 功能:输出学生年龄的最大值 
     * 定义一个无参的方法,返回值为年龄的最大值
     * 参考步骤:
     * 1、定义一个整形数组 ages ,保存学生年龄,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17
     * 2、定义一个整形变量 max ,保存学生最大年龄,初始时假定数组中的第一个元素为最大值
     * 3、使用 for 循环遍历数组中的元素,并与假定的最大值比较,如果比假定的最大值要大,则替换当前的最大值
     * 4、使用 return 返回最大值
     */
    public int getMaxAge() {
        int max = 0;
        int[] age = {19,25,29,17};
        for(int i=0;i <age.length;i++){
            System.out.println(age[i]);
            if(age[i] > max){
                max = age[i];
            }
        }
    return max;
    }
}

3.Java中带参无返回值方法的使用:

1.定义:如果方法包含参数,且无返回值,我们称为带参无返回值的方法。
2.方法的使用分两步:
    第一步,定义方法:
    public void show(String name){
        System.out.println(" 欢迎你:"+name);
    }

PS:1、 上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。

    第二步,调用方法:
    调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值。如:
public class HelloWorld {
    public static void main(String[] args) {
        
        // 创建对象,对象名为hello
        HelloWorld hello = new HelloWorld();
        
        // 调用方法,传入两门课程的成绩
        hello.calcAvg(94, 81);
    }

    /*
     * 功能:计算两门课程考试成绩的平均分并输出平均分
     * 定义一个包含两个参数的方法,用来传入两门课程的成绩
     */
    public void calcAvg(int a, int b){
        int avg = (a+b)/2;
        System.out.println("平均成绩为:"+avg);
    }
PS:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应。
2、 调用方法时,实参不需要指定数据类型,如hello.calcAvg(94, 81);
3、 方法的参数可以是基本数据类型,如 intdouble 等,也可以是引用数据类型,如 String、数组等。
4、 当方法参数有多个时,多个参数间以逗号分隔。    

4.Java中带参带返回值方法的使用:

1.定义:如果方法包含参数,有返回值,我们称为带参带返回值的方法。
2.方法的使用分两步:
    第一步,定义方法:
    public void show(String name){
        return " 欢迎你:"+name;
    }

PS:1、 上面的代码定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果.

    第二步,调用方法:
    调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值。如:
public class HelloWorld {
    public static void main(String[] args) {
        HelloWorld hello = new HelloWorld();
        int[] scores={79,52,98,81};
        
        //调用方法,传入成绩数组,并获取成绩的个数
        int count=hello.sort(scores);
        
        System.out.println("共有"+count+"个成绩信息!");
    }
    
    /*
     * 功能:将考试成绩排序并输出,返回成绩的个数
     * 定义一个包含整型数组参数的方法,传入成绩数组
     * 使用Arrays类对成绩数组进行排序并输出
     * 方法执行后返回数组中元素的个数
     */
    public int sort(int[] scores){
        Arrays.sort(scores);
        System.out.println(Arrays.toString(scores));
        
        //返回数组中元素的个数
        int number = scores.length;
        return number;
        
    }
}
PS:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应。
2、 调用方法时,实参不需要指定数据类型,如hello.calcAvg(94, 81);
3、 方法的参数可以是基本数据类型,如 intdouble 等,也可以是引用数据类型,如 String、数组等。
4、 当方法参数有多个时,多个参数间以逗号分隔。    

5:Java中方法的重载:

public class Overloading {
    public static void main(String[] args) {
        System.out.println("--------");
    }
    //无参构造方法
    public void show(){
        System.out.println("-------");
    }
    //重载,有参
    public void show(String name){
        System.out.println("-------");
    }
    //重载,有参,参数个数
    public void show(String name,int a ){
        System.out.println("-------");
    }
    //重载,有参,参数顺序
    public void show(int a,String  name){
        System.out.println("-------");
    }
}

练习题:创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组

import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
         // 创建对象,对象名为hello
        HelloWorld hello = new HelloWorld();
        // 调用方法并将返回值保存在变量中
        int[] nums = hello.getArray(8);
        // 将数组转换为字符串并输出
        System.out.println(Arrays.toString(nums)); 
    }

    /*
     * 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值
     * 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组
     */
    public int[] getArray(int length) {
        // 定义指定长度的整型数组
        int[] nums = new int[length];
        // 循环遍历数组赋值
        for (int i=0;i<nums.length;i++) {
            // 产生一个100以内的随机数,并赋值给数组的每个成员
            int num = (int)(Math.random() * 100);
            nums[i]=num;
        }
        return nums; // 返回赋值后的数组
    }
}

习题:编写一个 JAVA 程序,实现输出考试成绩的前三名

import java.util.Arrays;

public class Overloading {
    //完成 main 方法
    public static void main(String[] args) {
        int[] scores = {89 , -23 , 64 , 91 , 119 , 52 , 73};
        Overloading hello = new Overloading();
        int[] newScores = hello.getBeforThreeResults(scores);
        for (int i=0;i< newScores.length;i++){
            System.out.println(newScores[i]);
        }
    }

    //定义方法完成成绩排序并输出前三名的功能

    public int[] getBeforThreeResults(int[] scores){
        Arrays.sort(scores);
        int[] newScore = new int[3];
        int num =0;
        for(int i =scores.length-1;i>=0;i--){
            if(num <3){
                if(scores[i] >0 && scores[i] <= 100){
                    int score = scores[i];
                    newScore[num]= score;
                    System.out.println("输出值为"+newScore[num]);
                    num++;
                }
            }else{
                break;
            }
        }
        return newScore;
    }
    
}

猜你喜欢

转载自www.cnblogs.com/zwh820672664/p/10771397.html