Day5-方法

1、为什么要使用方法?

循环处理复用代码问题:
    1. 代码冗余,需要多次复制完整的循环,完成代码功能所需;
    2. 代码阅读性极差,代码重复性,代码功能的逻辑性,都需要再次分析才可以知道;
    3. 代码维护性极差!!!

2、main 方法分析 Java 定义方法的格式和要求

public static void main(String[] args) {
    // 方法体
}

public static 【固定格式】

void 【当前方法的返回值类型,void 表示当前方法没有返回值。】

main 【方法名】

(String[] args) 【小括号中是方法运行所需的外来数据,方法参数列表】

{} 【大括号中是方法体,方法的执行内容,目标执行的代码内容】

2.1 需求

方法执行,在命令行中展示

2.2 方法分析

方法分析:

        public static   【固定格式】

        

        返回值类型

        

        Sout 打印展示  !=  方法的返回值   【若当前方法没有返回值,用 void 表示】

        

        形式参数列表:


        【当前方法执行所需的内容,不受外来数据约束,当前方法没有参数;


        () 方法哪怕没有参数,也需要当前小括号;


        【注意】Java 中变量和方法的最大区别是小括号。】

        

方法声明:如:public static void showLunch();

2.3 方法实现

/**
* 展示中午吃红烧肉
*/
public static void showLunch() {
    // 大括号中是方法体
    System.out.println("中午吃红烧肉");
}

2.4 方法调用

// main 方法是目前阶段代码执行的入口
public static void main(String[] args) {
	/*
	【调用方法】方法就是宠物狗,哪里需要哪里吼
	调用方法需要通过方法名调用。
	并且 Java 调用执行方法,需要方法名之后加 ()
	*/
	showLunch();
}

3. 有参数无返回值方法

3.1 需求

展示用户提供给当前方法的 int 类型数据

方法功能:

展示,所需展示内容是通过该用户在调用方法过程中提供的,【当前方法需要外来数据】

3.2 方法分析

分析:
    public static 【固定格式】


    返回值类型:
        当前方法执行目标是展示用户提供的数据,没有数据返回。
        【注意】控制台打印展示 不等于 方法返回值


    方法名:
        [要求] 见名知意,动宾结构,小驼峰命名法
        showIntData 展示 int 类型数据


    形式参数列表:
        【重点】:当前方法执行需要外来数据支持,要求用户提供 int 类型数据,在方法声明中,需要告知用户当前方法参数
            类型需求,注意格式:
            (int num)
            int 是当前参数的数据类型;
            num 是参数的名称,并且 num 参数变量;可以直接在方法体内使用参数名称推荐带有一定的语义性,提高代码的阅读性。

3.3 方法声明

public static void showIntData(int num);

3.4 方法实现

/*
@param 变量名 变量解释,使用概述,注意事项;
解释当前方法所需参数的使用方式,描述方法参数情况
*/

/**
* 该方法用于在控制台展示用户提供的 int 类型数据;
* @param num 要求用户提供的 int 类型数据内容
*/

public static void showIntData(int num) {

	/*
	"用户提供的数据为:" 终端直接可见内容 + 拼接使用的胶水,不是算术运算符,仅用于拼接后面的数据内容。要求 + 左侧必须是字符串;
	num 是方法声明对应的参数变量,方法体可以直接使用
	*/

	System.out.println("用户提供的数据为:" + num);
}

3.5 方法调用

public static void main(String[] args) {
	/*
	【注意】
		调用一个带有参数方法,必须按照方法声明要求,给予符合
		数据类型的实际参数内容。
		方法声明位置是【形式参数】,调用方法给予的数据内容是【实际参数】
    
    // 10 就是符合当前方法所需数据类型的实际参数
	showIntData(10);
	
	/*
	showIntData(10.5);
		给予方法的实际参数数据类型, 必须符合方法声明要求,如果不符编译报错
	*/
	
	/*
	showIntData();
		没有给予当前方法所需参数,编译报错!!!
	*/
	
	/*
	showIntData(10, 20, 30);
		参数类型和参数个数,必须符合方法声明要求!!!不能多,不能少
	*/
}

4. 无参数有返回值方法

完成目标方法:调用目标方法,可以获取一个整数10

4.2 方法分析

分析:
    public static  【固定格式】


    返回值类型:
        当前方法返回整数 10,相当于当前方法返回值的数据类型为 int,调用当前方法可以得到一个整数数据。
        返回值数据类型为 int


    方法名:
        [要求] 见名知意,动宾结构,小驼峰命名法

        例:getIntNumber;getIntData
        
    形式参数列表:
        当前方法执行,无需任何的外来数据,无参数!
        ()

4.3 方法声明

public static int getIntNumber();

4.4 方法实现

/*
@return 解释当前方法返回值类型,返回值含义和情况概述。
*/

/**
* 调用当前方法,可以得到一个 int 类型整数 10 
*
* @return 返回值为 int 类型,返回的最终结果为 10
*/

public static int getIntNumber() {

	/*
	需要方法对外返回一个结果
	关键字:
		return 返回,主要有两个作用:
		1. 终止方法运行,一旦方法运行到 return 关键字,方法执行结束。
		2. 返回 return 关键字之后的数据内容,返回到方法调用位置。
	【注意】
		方法声明位置已告知当前方法返回值数据类型为 int 类型
		所以要求 return 之后的数据内容必须为 int 类型数据。
	*/

	return 10;
}

4.5 方法调用

public static void main(String[] args) {
	int num = 0;
	
	System.out.println("方法调用之前:" + num);
	
	/*
	调用 getIntNumber 方法,使用当前方法的返回值
	内容给予 num int 类型变量赋值操作。
	*/

	num = getIntNumber();
	
	System.out.println("方法调用之后:" + num);
}

5. 有参数有返回值方法

5.1 需求

方法功能描述; 用户提供两个 int 类型数据,方法计算返回两个整数之和

5.2 方法分析

 分析:
    public static   【固定格式】


    返回值类型:
        两个 int 类型数据相加之和的结果有可能超出 int 数据类型对应的数据范围,可以考虑当前方法的返回值为  long  ,或者说不考虑太多的情况下  int  也是可以的。


    方法名:
        见名知意,动宾结构,小驼峰命名法
            getSum


    形式参数列表:
        用户提供两个 int 类型数据,参数类型为 int,int
        格式:
            (int num1, int num2)

5.3 方法声明

public static long getSum(int num1, int num2);

5.4 方法实现

/**
* 计算两个 int 类型之和,通过方法返回值返回
*
* @param num1 用户提供的 int 类型数据
* @param num2 用户提供的 int 类型数据
* @return 返回两个 int 类型数据之和,考虑到有可能两个 int 类型相加超出 int 类型数据范围,所有返回值类型为 long 类型
*/

public static long getSum(int num1, int num2) {
	return num1 + num2;
}

 5.5 方法调用

public static void main(String[] args) {

    // L 告知编译器,当前常量为 long 类型
    long sum = 0L;

    System.out.println("方法调用之前:" + sum);

    sum = getSum(20, 30);

    System.out.println("方法调用之后:" + sum);

}

一起学习,争做第一;

稳定心态,激情澎湃!

博主会不定期更新 Java 开发学习内容,感觉有帮助的话给博主点个赞呗,共同激励!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

外呼小胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值