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 是一个int 类型的数据
      int
方法名:
    giveMeFive
形式参数列表:
    没有参数
      ()
 【方法声明】:
                 数据类型  方法名    参数
    public static  int   giveMeFive();
1.3.2 方法实现和文档注释
/*
@ return
	在文档注释中告知调用者,当前方法的返回值类型,怎么解释什么含义;
*/

/**
* 该方法返回一个5,一个整数
* 
* @return 返回一个整数5
*/
public static tin giveMeFive(){
	return 5;
}

1.3.3方法的调用过程
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。后期数据的处理方式有很多,传递,展示,发送,保存。。。。
5.方法的返回值有且只能有一个
/*
无参数有返回值的方法
需求:
	返回值一个大写字符 'A'

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

/**
* 该方法返回一个大写字符 'A'
*
* @return 返回值类型为char类型,返回的数据是一个大写字符 'A'
*/
public static char giveMeLetter() {
	return 'A';    
}
class Method2 {
	public static void main(String[] args) {
		char ch = 'a';
		
		System.out.println("方法运行之前 ch : " + ch);
		ch = giveMeLetter();
		System.out.println("方法运行之后 ch : " + ch);
	}
	
	/**
	* 该方法返回一个大写字符 'A'
	*
	* @return 返回值类型为char类型,返回的数据是一个大写字符 'A'
	*/
	public static char giveMeLetter() {
		return 'A';    
	}		
}
1.4 完成一个有参数有返回值的方法

1.4.1方法分析

/*
需求:
	计算两个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.2 方法实现和文档注释

/**
* 该方法传入的是两个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.4 总结

调用带有多个参数的方法,要求传入参数的数据类型,个数和顺序必须一致

2 局部变量

局部变量概念
		除class大括号之外,其他大括号以内都可以认为是一个局部变量
		方法大括号以内,if分支结构以内,suitch case 结构大括号以内,循环大括号以内【以上大括号以内全部认为是局部变量】
作用域
		局部变量只能在当前所处大括号以内使用,超出范围无法使用
生存期
		局部变量的生存期也在大括号以内,和作用域一致

例子

1. 
for (int i = 1; i <= 10; i++) {
    
}

System.out.println(i); // ??? 
Method10.java:7: 错误: 找不到符号
                System.out.println(i); // ???
                                   ^
  符号:   变量 i
  位置: 类 Method10
1 个错误
for (int i = 1; i <= 10; i++) {
    
}

for (int i = 1; i <= 10; i++) {
    
}
不冲突,两个for循环中,i循环变量分别属于不同的大括号以内,不同的作用域空间
for (int i = 1; i <= 10; i++) {
    if (i > 5) {
        int num = 10;
    }
	System.out.println(num);
}
System.out.println(num);
错误的!!!
    因为num变量定义在if 大括号以内,作用域和生存期有且只在if分支结构大括号以内,超出范围,无效!!!

总结

1.关注局部变量的作用域和生存范围,两者同步,并且都在对应的大括号以内
2.变量未定义不能使用,【保证代码从上往下从左往右依次执行的原则】
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值