您的位置:首页 > 编程语言 > Java开发

JAVA学习————————Day10

2020-05-05 12:30 801 查看

方法

1.返回值

1.1生活案例解释

餐馆吃饭
烤羊排 138一份 --> 声明
付款 138RMB --> 给予实际参数
厨师做好烤羊排之后,让服务员给你端上来 --> 厨师完成操作,给予的返回值

ATM机取钱
取钱 1000RMB --> 调用方法
输入密码 --> 给予实际参数
密码正确,ATM给你1000RMB --> 操作完成,给予的返回值

去餐厅吃饭,端上来的菜品
去ATM取钱,ATM给我们的钱
以上都是返回值的一个生活解释.

1.2 返回值中用到的关键字【return】

return
返回
作用:
1. 结束当前方法的执行
2. 返回return之后的数据,到方法之外,要求返回值的数据和方法声明位置告知调用者的返回值数据类型一致
【数据类型一致化】

1.3 完成一个有返回值无参数的方法
需求
give me five
返回一个5

方法分析:
固定格式:
public static 不要问
返回值类型【重点】:
返回值是一个5, 5是什么数据类型?
int类型
方法名:
giveMeFive
形式参数列表:
这里是返回一个数据5,不需要参数
()

方法声明:
public static int giveMeFive()
1.3.1 方法实现和文档注释
/*
@return
在文档注释中告知调用者,当前方法的返回值是什么类型,怎么解释,什么含义
*/
/**
* 该方法返回一个5,一个整数
*
* @return 返回一个整数5
*/
public static int giveMeFive() {
return 5;
}
1.3.2 方法的调用过程
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.3.3方法的小总结
1. 返回值使用的关键字 return关键字
2. 带有返回值的方法,需要在文档注释中加入@return 告知调用者方法返回值的类型,含义...
3. 方法返回值类型和方法体内返回数据的类型必须一致,如果不一致报错,【数据类型一致化】
4. 方法的返回值处理方式,由程序员自己决定,因为我们现在只会sout,但是不代表只有sout。后期数据的处理方式有很多,传递,展示,发送,保存。。。。
示例
/*
无参数有返回值的方法
需求:
返回值一个大写字符 'A'

方法分析:
固定格式:
public static
返回值类型:
返回值数组为大写字符'A'
char类型数据
方法名:
giveMeLetter
形式参数列表:
方法需要返回一个字符A,不需要参数
()
方法声明:
public static char giveMeLetter()
*/

/**
* 该方法返回一个大写字符 'A'
*
* @return 返回值类型为char类型,返回的数据是一个大写字符 'A'
*/
public static char giveMeLetter() {
return 'A';
}
1.4 有参数有返回值的方法
/*
需求:
计算两个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)
*/
1.4.1 方法实现和文档注释
/**
* 该方法是传入两个int类型的数据,返回值是两数之和
*
* @param num1 int类型数据
* @param num2 int类型数据
* @return 返回值类型为int类型,是两个int类型数据之和
*/
public static int getSumOfTwoNumber(int num1, int num2) {
return num1 + num2;
}
1.4.2 方法的调用过程
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;
}}
1.4.3 小总结
调用带有多参数的方法,要求传入的参数数据类型,个数和顺序必须和方法声明一致
示例
class Method4 {
public static void main(String[] args) {
int max = maxOfNumber(30, 20);

System.out.println("Max : " + max);
}

/**
* 该方法是返回两个整数里的较大那个
*
* @param num1 int类型数据
* @param num2 int类型数据
* @return 两个int类型数据中较大的一个,如果相同返回任意一个
*/
public static int maxOfNumber(int num1, int num2) {
/*
当前方法体是存在两个return,而在开发中return的使用是需要有一些
注意事项
尽量减少return的使用 增强阅读性,代码逻辑更加明确

if (num1 > num2) {
return num1;
} else {
return num2;
}
*/

/*
当前写法是没有问题,而且使用到假设的思想,可以提供代码的
阅读性,并且简化代码逻辑,减少return使用

int max = num1;

if (max < num2) {
max = num2;
}

return max;
*/
/*
三目运算符/条件运算符
条件 ? true处理方式 : false处理方式;
简化版,功能缺失版 if else结构
建议:
在一些简单的逻辑中可以使用,提高一定的效率
*/
return num1 > num2 ? num1 : num2;
}
}
双双的小猪猪 原创文章 17获赞 0访问量 236 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: