Day8 : 方法
1. 返回值
1.2 代码中的返回值需要使用的关键字
return 返回值;
作用:
1. 结束当前方法的执行
2. 返回return之后的数据,到方法之外,要求返回值的数据与方法声明位置告知的返回类型一直
1.3 完成一个无参有返回的方法
1.3.1 方法实现分析
需求:返回一个整数5
分析:
1. public static(固定格式)
2. 返回类型:int(5是一个int)
3. 方法名:getSumOfTwoNum
4. 参数个数: 0
5. 返回值:5
public static int giveMeFive () {
return 5;
}
1.3.2 方法实现
/*
返回一个整数5
*/
class Method1 {
/**
* 返回一个5
*
* @return 返回一个整数5
*/
public static int giveMeFive () {
return 5;
}
public static void main(String[] args) {
giveMeFive();// 只是调用方法
int ret = giveMeFive();// 返回值用以赋值
System.out.println(giveMeFive()); // 返回值用以打印
}
}
小结
1. 返回值使用关键字return
2. 带有返回值方法,需要在文档注释中加入@return加以说明
3. 方法返回值类型和方法体内返回数据类型必须一致
4. 方法的返回值处理方式,由程序员自己决定
练习
/*
返回一个大写字母A
*/
class Method2 {
/**
* 返回一个大写字符A
*
* @return 返回一个char类型,返回值为大写字符A
*/
public static char getA() {
return 'A';
}
public static void main(String[] args) {
char ch = 'a';
System.out.println("方法运行之前" + ch);
ch = getA();
System.out.println("方法运行之后" + ch);
}
}
1.4 完成一个有参数有返回值的方法
1.4.1 方法分析
需求:计算两个int类型数据之和,通过返回值返回结果
方法实现分析:
1. public static(固定格式)
2. 返回类型:long
3. 方法名:getSumOfTwoNum
4. 参数类型:int和int
5. 参数个数: 2
6. 参数列表: int num1, int num2
public static long getSumOfTwoNum(int num1, int num2) {
return num1 + num2;
}
1.4.2 方法实现
/*
计算两个int类型数据之和,通过返回值返回结果
*/
class Method3 {
/**
* 计算两个int类型数据之和,通过返回值返回结果
*
* @param num1 类型为int,第一个加数
* @param num2 类型为int,第二个加数
*
* @return 返回类型为long,num1 + num2
*/
public static long getSumOfTwoNum(int num1, int num2) {
return num1 + num2;
}
public static void getSumOfTwoNum(String[] args) {
long sum = 0;
sum = getSumOfTwoNum(100,201);
System.out.println("sum = " + sum);
}
}
1.5 练习
1. 在方法返回时,要尽量减少return出现的次数
2. 三目运算符尽量只在简单逻辑使用
3. 学会变通!!!变通!!!变通!!!
class Method4 {
/**
* 获取两个整数中较大的一个
*
* @param num1 数据类型int;第一个整数
* @param num2 数据类型int;第二个整数
* @return 数据类型int;返回较大的数
*/
public static int maxOfNum(int num1, int num2) {
return num1 > num2 ? num1 : num2;
}
}
2. 局部变量
2.1 思考
class Method9 {
public static void test(int num) {
num = 10;
}
public static void main(String[] args) {
int num = 5;
test(num);
System.out.println(num);
}
}
结果:
5
2.2 概念
局部变量:
除class大括号之外,其他大括号以内的变量都可以认为是一个局部变量
方法发括号内,if分支结构内,switch case结构大括号内,循环大括号以内
以上大括号以内全部是【局部变量】
作用域
当前局部变量能够使用的的范围
局部变量有且只能在当前大括号使用
生存期
局部变量生存期只在大括号内
小结
1. 使用和定义变量,一定要注意变量的作用域和生存周期
2. 牢记代码执行顺序:自上而下,从左到右