1、返回值
1、代码中返回值需要使用的关键字
return 返回
作用:1、结束当前方法的执行
2、返回return之后的数据,到方法之外,要求返回值的数据和方法声明位置告知调用者的返回值数据类型一致【数据类型一致化】
无参数有返回值的方法
方法分析:
需求
give me five
返回一个5
方法分析:
固定格式:
public static 不要问
返回值类型【重点】:
返回值是一个5, 5是什么数据类型?
int类型
方法名:
giveMeFive
形式参数列表:
这里是返回一个数据5,不需要参数
()
方法声明:
public static int giveMeFive()
方法实习和文档注释
/*
@return
在文档注释中告知调用者,当前方法的返回值是什么类型,怎么解释,什么含义
/**
* 该方法返回一个5,一个整数
*
* @return 返回一个整数5
*/
public static int giveMeFive() {
return 5;
}
方法调用过程:
class Method1 {
public static void main(String[] args) {
/*
调用一个带有返回值的方法
方法的返回值返回到之外,调用者决定当前结果的使用方式。
*/
int ret = 0;
System.out.println("调用方法之前 ret : " + ret);
ret = giveMeFive();
System.out.println("直接调用方法:" + giveMeFive());
System.out.println("调用方法之后 ret : " + ret);
}
/**
* 该方法返回一个5,一个整数
*
* @return 返回一个整数5
*/
public static int giveMeFive() {
return 5;
}
}
执行过程图例

小总结
1. 返回值使用的关键字 return关键字
2. 带有返回值的方法,需要在文档注释中加入@return 告知调用者方法返回值的类型,含义...
3. 方法返回值类型和方法体内返回数据的类型必须一致,如果不一致报错,【数据类型一致化】
4. 方法的返回值处理方式,由程序员自己决定,因为我们现在只会sout,但是不代表只有sout。后期数据的处理方式有很多,传递,展示,发送,保存。
有参数有返回值的方法
方法分析
/*
需求:
计算两个int类型数据之和,通过返回值返回到方法外
1. 可以从需求中获取到当前方法需要两个参数
2. 方法的返回值可以考虑使用int类型,或者long类型
方法分析:
固定格式:
public static 不要问
返回值类型:
int 可以使用,没有问题,符合人之常情的理解
long 可以满足如果出现两个int类型数据相加之后,结果超出了int类型范围,可以使用long
方法名:
getSumOfTwoNumber
小驼峰命名法,见名知意,动宾结构
形式参数列表:
两个int类型数据之和,多个参数的情况下使用 逗号隔开
(数据类型1 参数名1, 数据类型2 参数名2 ...)
(int num1, int num2) 正确格式
方法声明:
public static int getSumOfTwoNumber(int num1, int num2)
*/
方法实现和文档注释
/**
* 该方法是传入两个int类型的数据,返回值是两数之和
*
* @param num1 int类型数据
* @param num2 int类型数据
* @return 返回值类型为int类型,是两个int类型数据之和
*/
public static int getSumOfTwoNumber(int num1, int num2) {
return num1 + num2;
}

方法调用过程
class Method3 {
public static void main(String[] args) {
/*
当前方法需要两个参数,并且有返回值
这里需要参数类型是int类型,给予当前方法两个int类型
实际参数
调用带有多参数的方法,要求传入的参数数据类型,个数和
顺序必须和方法声明一致
*/
int sum = 0;
System.out.println("方法运行之前 sum : " + sum);
sum = getSumOfTwoNumber(30, 20);
System.out.println("方法运行之后 sum : " + sum);
}
/**
* 该方法是传入两个int类型的数据,返回值是两数之和
*
* @param num1 int类型数据
* @param num2 int类型数据
* @return 返回值类型为int类型,是两个int类型数据之和
*/
public static int getSumOfTwoNumber(int num1, int num2) {
return num1 + num2;
}
}
小总结
调用带有多参数的方法,要求传入的参数数据类型,个数和顺序必须和方法声明一致
2、局部变量问题
局部变量概念
除class大括号之外,其他大括号以内的变量都可以认为是一个局部变量。
方法大括号以内,if分支结构以内,switch case结构大括号以内,循环大括号以内
以上大括号以内全部都是【局部变量】
作用域
当前局部变量能够使用的范围在什么地方
局部变量有且只能在当前所处大括号以内使用,超出范围无法使用
生存期
局部变量的生存期也在大括号以内,和作用域一致。

总结
1. 关注局部变量的作用域和生存期范围,两者同步,并且都在对应的大括号以内
2. 变量未定义不能使用,要保证代码执行的,从上至下,从左至右原则