java基础-day05-方法
2021-06-25 本文已影响0人
触手不可及
方法【重点】
1. 方法
1.1 方法的引入
代码中存在大量复用功能代码,如果只使用循环以及CV大法,会导致代码出现以下问题
1. 代码过于臃肿
2. 代码阅读性极差
3. 代码维护性极差
1.2 Java中定义方法的格式
比葫芦画瓢
public static void main(String[] args) {
}
格式分析:
public static:
void: 返回值类型,void表示当前方法没有返回值。
main: 方法名,当前方法的名字,调用方法使用的名字。
(): 形式参数列表,当前方法运行所需参数。
{}: 方法体,需要封装复用功能代码
Java中定义方法的格式:
public static 返回值类型 方法名(形式参数列表) {
方法体
}
public static returnType methodName(Arguments) {
Method Body
}
1.3 返回值和形式参数列表
生活化的场景:
中午吃黄焖鸡米饭,标价16元
付款 16RMB 做好黄焖鸡米饭 吃
标价16元就是形式参数,付款16元实际参数
店家做好的黄焖鸡米饭就是返回值
1.4 无参数无返回值方法
需求:
展示一句话
无规矩,不成方圆
整个方法的功能就是一个打印功能。
方法分析:
public static:
固定格式 不要问
返回值类型:
该方法只完成打印展示功能,不需要返回值,这里使用 void
方法名:
【见名知意,动宾结构】
showRule
形式参数列表:
当前方法仅做展示功能,并且已指定展示内容,所以不需要形式参数列表
当前方法是不依赖于外来数据作为当前方法的必要内容。
方法声明:
public static void showRule();
class Method1 {
public static void main(String[] args) {
/*
方法是条狗,哪里需要那里吼,需要使用方法的名字
Java中所有的方法必须有小括号。
*/
showRule();
showRule();
showRule();
showRule();
showRule();
showRule();
}
/* 自定义方法是在class大括号以内,其他方法之外 */
/**
* 对应展示无规矩,不成方圆
*/
public static void showRule() {
System.out.println("路见不平一声吼");
}
}
1.5 有参数无返回值方法
需求
展示用户提供的整数数据
方法分析:
public static
固定格式,不要问
返回值类型:
当前方法的功能是用于展示用户提供的整数数据
不需要返回值,消耗性方法
void
方法名:
【见名知意,动宾结构】
printInt
形式参数列表:
这里需要让用户提供一个int类型数据,该方法需要参数为int类型
(参数类型 形式参数名字) ==> (int num)
方法声明:
public static void printInt(int num);
class Method2 {
public static void main(String[] args) {
printInt(10);
// 当前方法需要int类型参数,这里不赋值参数
// printInt();
/*
Method2.java:5: 错误: 无法将类 Method2中的方法 printInt应用到给定类型;
printInt();
^
需要: int
找到: 没有参数
原因: 实际参数列表和形式参数列表长度不同
*/
// printInt(3.14);
/*
Method2.java:15: 错误: 不兼容的类型: 从double转换到int可能会有损失
printInt(3.14);
当前方法所需参数是int类型,这里无法传入其他数据类型,数据类型一致化
要求
*/
}
/**
* 展示用户提供的int类型数据
*
* @param num 需要用户传入的int类型数据
*/
public static void printInt(int num) {
System.out.println("用户传入的数据 : " + num);
}
}
image.png
1.6 无参数有返回值方法
需求:
give Me Five
给我一个数值5
方法分析:
public static:
返回值类型:
这里需要方法返回一个数值5,这是一个整数,这里需要返回值类型
为 int
方法名:
【见名知意,动宾结构】
giveMeFive
形式参数列表:
这里不要任何的参数
()
方法声明:
public static int giveMeFive();
class Method3 {
public static void main(String[] args) {
int ret = 0;
System.out.println("Before Method Called... " + ret);
// ret这里是保存了giveMeFive方法的返回值数据
ret = giveMeFive();
System.out.println("After Method Called... " + ret);
}
/**
* 返回一个数值5
*
* @return 返回一个数值5
*/
public static int giveMeFive() {
/*
方法如果需要使用返回值,这里必然需要使用关键字
return
作用:
1. 将return关键字之后的数据,返回到方法之外
2. 一旦方法运行到return,方法运行结束,之后代码不在运行。
*/
return 5;
}
}
image.png
1.7 有参数有返回值方法
需求:
计算两个整数之后,通过返回值返回
方法分析:
public static:
返回值类型:
这里需要返回两个整数之后,所以这里需要的数据类型
int
方法名:
【见名知意,动宾结构,小驼峰命名法】
getSumOfTwoNumber
形式参数列表:
这里需要求两数之后,所需参数为int类型,也就是需要两个int类型参数
多参数情况下,使用逗号隔开
(int num1, int num2)
方法声明:
public static int getSumOfTwoNumber(int num1, int num2)
class Method4 {
public static void main(String[] args) {
int sum = getSumOfTwoNumber(10, 20);
System.out.println("Sum : " + sum);
// getSumOfTwoNumber(10);
/*
Method4.java:6: 错误: 无法将类 Method4中的方法 getSumOfTwoNumber应用到给定类型;
getSumOfTwoNumber(10);
^
需要: int,int
找到: int
原因: 实际参数列表和形式参数列表长度不同
方法执行需要参数类型,个数,必须一一对应。
*/
}
/**
* 计算两个int类型数据之和,通过返回值返回到方法之外
*
* @param num1 int类型数据
* @param num2 int类型数据
* @return 返回值为int类型,是两个整数之和
*/
public static int getSumOfTwoNumber(int num1, int num2) {
return num1 + num2;
}
}
image.png