栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

经过前面几天的学习已经初步了解到了Java 今天开始学习Java的 对象与类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

经过前面几天的学习已经初步了解到了Java 今天开始学习Java的 对象与类

在了解对象与类之前,首先先学习方法

01.方法概述

概述:说白了就是用来存储一段代码

特点:

方法只有先定义才能使用

方法不会自动执行,必须调用才会执行(方法不调用,不会执行)

02.方法定义和调用(无参数无返回值)

格式:

public static void 方法名(){

代码块;

}

调用:方法名();

方法必须先定义,在调用

方法需要定义在类中,方法外(方法和方法之间是平级关系,不允许嵌套)

public class MethodDemo {
 
    public static void main(String[] args) {
        System.out.println("开始");
     	 //调用方法
         isEvenNumber(); 
        System.out.println("结束");
    }

    //需求:定义一个方法,在方法中定义一个变量,判断该数据是否是偶数
    public static  void isEvenNumber() {
        //定义变量
        int number = 10;
        number = 9;

        //判断该数据是否是偶数
        if(number%2 == 0) {
            System.out.println(true);
        } else {
            System.out.println(false);
        }
    }
}
03.带参数方法定义和调用(有参数无返回值)

public static void 方法名(参数){

代码块;

}

定义方法参数:数据类型 变量名

调用:

方法名(参数);

注意:调用方法时,参数个数,参数类型,参数顺序要与定义的参数一致

public class MethodDemo {
    public static void main(String[] args) {
        //常量值的调用
        isEvenNumber(10);

        //变量的调用
        int number = 10;
        isEvenNumber(number);
    }

    //需求:定义一个方法,该方法接收一个参数,判断该数据是否是偶数
    public static void isEvenNumber(int number) {
        if(number%2 == 0) {
            System.out.println(true);
        } else {
            System.out.println(false);
        }
    }

}
04.形参和实参

形参:方法定义中的参数,等同于变量,如果有多个参数就使用逗号隔开

实参:方法调用中的参数(一般都是常量值,或者变量)

05.带返回值方法定义和调用

定义格式:

public static 返回值类型 方法名(形参){

代码块;

return 返回值;

}

注意:返回值的类型要和返回值类型相匹配,否则会报错

直接调用:方法名(实参);

赋值调用:数据类型 变量名=方法名(实参);

输出调用: System.out.println(方法名(实参));

public class Test3Method {
    public static void main(String[] args) {
        // 调用方法:
        // 直接调用: 没有意义
        isEvenNumber(10);// 返回的结果: true
        System.out.println("--------");

        // 赋值调用: 开发中常用
        boolean res1 = isEvenNumber(10);
        System.out.println("res1:"+res1);// res1:true
        System.out.println("--------");

        // 输出调用: 自己测试,讲课常用
        System.out.println(isEvenNumber(10));// true
    }

    // 定义一个方法,接收一个数据,然后判断该数据是否是偶数,返回boolean值
    public static boolean isEvenNumber(int num) {
        if (num % 2 == 0) {
            return true;
        } else {
            return false;
        }
    }
}
06.方法的注意事项

方法要先定义才能调用

方法不调用不会执行

方法不能嵌套方法(方法和方法之间是平级关系)

无返回值方法,方法体中一般不加return语句,如果要加return语句,只能怎么写:return:,表示结束方法的执行,并且该return后面不可以添加代码。

public static void method(){
    方法体;
    [return;]// 表示结束方法的执行
    // return后面不能再加代码,否则会报错
}

07.方法的通用格式

通用格式:

public static 返回值类型 方法名(数据类型 变量名,数据类型 变量名,...){
    方法体;
    [return 返回值;]
}

  • 返回值类型: 其实就是返回值的数据类型,如果没有返回值,返回值类型就写void

  • 形参: 定义变量,多个形参以逗号隔开,如果没有形参,小括号就空着

  • 方法体: 该方法的功能代码

  • 返回值: 方法执行完毕后需要返回的数据

  • return: 把返回值返回到调用方法的位置; 然后结束方法的执行

  • 方法分类:

    • 无参数无返回值

    • 无参数有返回值

    • 有参数无返回值

    • 有参数有返回值

  • 调用方法:

    • 无返回值的方法

      • 直接调用: 方法名(实参);

    • 有返回值的方法

      • 直接调用: 方法名(实参);

      • 赋值调用: 数据类型 变量名 = 方法名(实参);

      • 输出调用: System.out.println(方法名(实参));

  • 定义方法的套路:

    • 明确返回值类型

    • 明确形参

    • 明确方法名

    • 明确方法体

  • 调用方法的套路:

    • 明确调用的位置

    • 明确方法是否有返回值

    • 明确调用方法的方式

public class Test4Method {
    public static void main(String[] args) {
        // 调用print1方法
        print1();
        System.out.println("--------");

        // 调用print2方法
        print2(5);
        System.out.println("--------");

        // 调用getSum1方法
        getSum1();
        int sum1 = getSum1();
        System.out.println(getSum1());// 5050
        System.out.println("--------");

        // 调用getSum2方法
        System.out.println(getSum2(100));
    }

    // 需求: 定义一个方法,打印10次HelloWorld, 无参数无返回值的方法
    
    public static void print1() {
        // 快捷键: 循环次数.fori
        for (int i = 0; i < 10; i++) {
            System.out.println("HelloWorld");
        }
    }

    // 需求: 定义一个方法,打印n次HelloWorld,n由调用者传入  有参数无返回值的方法
    
    public static void print2(int n) {
        for (int i = 0; i < n; i++) {
            System.out.println("HelloWorld");
        }
    }

    // 需求: 定义一个方法,计算1-100之间数的累加和,并返回   无参数有返回值的方法
    
    public static int getSum1() {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        // 返回累加和
        return sum;
    }

    // 需求: 定义一个方法,计算1-n之间数的累加和,并返回,n由调用者传入   有参数有返回值的方法
    
    public static int getSum2(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        // 返回累加和
        return sum;
    }
}
08.方法重载

概述:在同一个类中,出现了多个同名的方法,并且参数列表不同,与返回值类型,修饰符无关

参数列表不同:参数类型不同,参数个数不同,以及同类型参数顺序不同,与参数没有关系

在调用的时候,Java虚拟机会通过参数的不同来区分同名的方法

public class MethodDemo {
    public static void main(String[] args) {
        //调用方法
        int result = sum(10,20);
        System.out.println(result);

        double result2 = sum(10.0,20.0);
        System.out.println(result2);

        int result3 = sum(10,20,30);
        System.out.println(result3);
    }

    //需求1:求两个int类型数据和的方法
    public static int sum(int a, int b) {
        return a + b;
    }


    //需求2:求两个double类型数据和的方法
    public static double sum(double a, double b) {
        return a + b;
    }

    //需求3:求三个int类型数据和的方法
    public static int sum(int a, int b, int c) {
        return a + b + c;
    }
    
    public static void sum(int a, String b) {
        
    }
    
    public static void sum(String a, int b) {
        
    }

}
09.方法参数传递基本类型

基本类型:对于基本数据类型的参数,形式参数的改变,不影响实际参数的值

public class ArgsDemo01 {
    public static void main(String[] args) {
        int number = 100;
        System.out.println("调用change方法前:" + number);// 100
        change(number);
        System.out.println("调用change方法后:" + number);// 100
    }

    public static void change(int number) {
        number = 200;
    }
}

 10.方法参数传递引用类型

引用类型:对于引用类型的参数,形式参数的改变,影响实际参数的值

public class ArgsDemo02 {
    public static void main(String[] args) {
        int[] arr = {10, 20, 30};
        System.out.println("调用change方法前:" + arr[1]);// 20
        change(arr);
        System.out.println("调用change方法后:" + arr[1]);// 200
    }

    public static void change(int[] arr) {
        arr[1] = 200;
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/862760.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号