Java学习笔记-基础day-4-方法详解

方法的概和格式

1、方法的概念:
就是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。

将具有特殊功能的一段代码,使用大括号{}括起来,添加必要的修饰符,起个名字, 方便使用  
2、方法的格式:
修饰符 返回值类型 方法名称(参数列表) {
   	功能代码;
       return ;//如果返回值类型是void,建议省略不写
}
格式解释:

(1)修饰符: public static 目前写法

(2)返回值类型: 告诉方法的调用者,方法结束后,给你一个什么类型的数据
	方法的功能代码执行完毕后,产生的需要返还给方法的调用者的结果数据的具体类型
    举例:
		如果方法内部返回整数数字10,返回值类型写为int
        如果方法内部返回小数数字6.7,返回值类型写为double
        如果方法内部返回true/false,返回值类型写为boolean
        
(3)方法名称: 
	给方法起个名字(符合标识符的命名规范,小驼峰原则)

(4)参数列表: 你调用我这个方法时,需要给我几个什么样子的数据
    就是在定义方法时,小括号()中定义了一个/多个变量    
	定义方法参数列表举例:
		(int a): 调用方法时,必须传递给方法一个int类型的数据
        (int a,int b): 调用方法时,必须传递给方法两个int类型的数据
        (double a,double b): 调用方法时,必须传递给方法两个double类型的数据
            
(5)功能代码: 完成特殊功能的一行/多行代码

(6)return 返回值/结果数据;:
		a.结束方法
  	    b.把return 后面的返回值/结果数据,返还到方法的调用处
        
4.方法的理解(工厂/机器)
 (1)生产汽车的工厂:
		原材料: 发动机,变速箱...
   	    产出物: BMW750Li 

	原材料是进入工厂/机器的东西,相当于调用方法时传递的数据		参数列表
    产出物是从工厂/机器中出来的东西,相当于调用方法后的返回值		返回值 --- 返回值类型 
        
5.定义方法的三要素
	(1)方法名称: 
	(2)参数列表:
	(3)返回值类型:

6.注意:
    (1)方法定义完毕后不调用不执行
    (2)调用格式:
        方法名称(参数1,参数2...);
    (3)方法可以调用任意多次
3、方法的定义调用
3.1 无返回值无参数方法的定义和调用
/*
    无返回值无参数方法的定义和调用
        无参数:
            目前没有参数,不需要写参数列表,但是必须保留小括号()
        无返回值:
            目前定义的方法没有返回值,返回值类型固定写为void
            方法内部没有数据返还给调用者,没有返回值,返回值类型固定写为void

    1.练习:
	    定义方法method,方法内部输出一句话"我是一个无返回值无参数方法"
    2.注意:
	    (1)方法定义完毕后不调用不执行
	    (2)调用格式:
            	方法名称(...);
        (3)方法可以调用任意多次
 */
public class Method {

    public static void main(String[] args) {

        System.out.println("方法调用之前");
        
        //调用方法
        method();
        
        System.out.println("方法调用之后");

    }

    //定义方法method,方法内部输出一句话"我是一个无返回值无参数方法"
    public static void method() {

        System.out.println("我是一个无返回值无参数方法");

        return ;//结束方法,返回到方法的调用处,建议省略
    }
}

在这里插入图片描述

3.2 带参数的方法方法的定义和调用
/*
    带参数无返回值的方法练习
        方法是否需要参数:
            分析方法需求中是否具有不确定的东西

        方法是否需要返回值:
            如果方法需求中能够看到打印/输出二字,说明该方法不需要返回值,返回值类型固定写为void

    1.练习:
	    定义一个方法,打印一个整数数字是否是偶数

    2.三要素:
        (1)方法名称: printOut
	    (2)参数列表: int num
	    (3)返回值类型: void

 */
public class PrintOut {

    public static void main(String[] args) {

        //调用方法: 传递的是常量
        printOu(31);

        //调用方法方法: 传递变量
        int a = 32;
        printOu(a);
        
    }

    //定义一个方法,打印一个整数数字是否是偶数
    /*
        调用方法printOut时,必须传递一个int类型的数据,
        printOut方法内部执行完毕后直接打印输出结果
     */
    public static void printOut(int num) {

        boolean result = (num % 2 == 0) ? true : false;

        System.out.println(num + "是偶数吗? " + result);

        return ;//结束方法,返回到方法的调用处
    }
}

3.3 带返回值的方法方法的定义和调用
/*
    有参数有返回值的方法练习
        方法是否需要参数:
            分析方法需求中是否具有不确定的东西

        方法是否需要返回值:
            如果方法需求中能够明确看到打印/输出二字,说明该方法不需要返回值,返回值类型固定写为void
            如果方法需求中能够明确看到获取/返回/判断二字,说明该方法需要返回值,必须定义具体的返回值类型

    1.练习:
	    定义一个方法,该方法接收一个int参数,判断该数据是否是偶数,并返回真假值

    2.三要素:
        (1)方法名称: getOut
	    (2)参数列表: int num
	    (3)返回值类型: boolean

    练习中如果没有明确数据类型,默认int类型
 */
public class GetOut {

    public static void main(String[] args) {

        //调用方法: 传递的是常量
        boolean result = getOut(11);

        System.out.println("11是偶数吗? "+result);

        //调用方法方法: 传递变量
        int a = 12;
        result = getOut(a);
        System.out.println(a+"是偶数吗? "+result);

    }

    //定义一个方法,该方法接收一个int参数,判断该数据是否是偶数,并返回真假值
    /*
        调用方法getOut时,必须传递一个int类型的数据,
        getOut方法内部执行完毕后,会返还一个boolean类型的数据
        有进(参数)有出(返回值)
     */
    //boolean: 告诉方法的调用者,方法功能代码执行完毕后,会返回数据的具体类型(会返回一个什么样子的数据)
    public static boolean getOut(int num) {

        boolean result = (num % 2 == 0) ? true : false;

        return result;//结束方法,并且把result中的数据,返还给方法的调用处/者
    }
}
4、方法的注意事项

1.方法不能嵌套定义(在定义方法的内部又定义了其它方法),可以调用其它方法
2.方法可以嵌套调用
3.返回值类型,必须要和 return 语句返回的数据的类型要匹配,否则编译失败
4.不能在 return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码

5、形式参数和实际参数的区别
形式参数和实际参数的区别
    1.形式参数:
        (1)概念: 定义方法时()中定义的参数(定义变量),叫做形式参数
        (2)特点:
            a.定义形式参数的时候,是没有值的
            b.当调用该方法时,形式参数才会有值

    2.实际参数:
        (1)概念: 调用方法时()中给出的参数(常量/变量),叫做实际参数
        (2)特点:
            a.调用方法时,()中写的数据(常量/变量)
            b.必须要有值才可以
public class ParamDiff {
    public static void main(String[] args) {
        /*
            2.实际参数:
                (1)概念: 调用方法时()中给出的参数(常量/变量),叫做实际参数
                (2)特点:
                    a.调用方法时,()中写的数据(常量/变量)
                    b.必须要有值才可以
         */
        //调用方法: 传递常量
        printSum(10,20);//10,20叫做实际参数

        //调用方法: 传递变量
        int m = 100,n = 200;
        printSum(m,n);//m,n叫做实际参数
    }
    /*
        1.形式参数:
            (1)概念: 定义方法时()中定义的参数(定义变量),叫做形式参数
            (2)特点:
                a.定义形式参数的时候,是没有值的
                b.当调用该方法时,形式参数才会有值
     */
    //定义方法,打印2个int数字之和
    public static void printSum(int a, int b) {
        int sum = a + b;
        System.out.println("和: "+sum);
        return ;//结束方法,返回到方法的调用处,注意没有带回任何数据
    }
}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值