方法

1.方法的产生

* 不好维护,代码执行效率低,重复性大
 * 方法

2.什么是方法?

.方法就是把一堆需要反复执行的业务逻辑代码封装起来,当程序需要使用这段代码的时候,我们直接调用即可
* 就不需要反复的写这段代码了
*

3.使用方法的好处?

 * 提高代码重用性,维护性,可读性好,执行效率高
 
 * 映射到java程序中
 * 材料:参数
 * 产出物:返回值

4.怎么定义一个方法

 * 1.public 访问修饰符(权限修饰符)-公共的,在当前项目下的任何地方都可以访问 
 * private:私有的,只能在当前类下面访问
 * protected:受保护的,在同一个包或者其他派生类中可以访问
 * default:缺省,只能在当前包下面进行访问
 * 
 * 2.[static]
 * 3.void 方法返回值类型:方法执行完成以后最终产生的结果是什么类型的
 * 4.main 方法名:自己定义的名字,首字母小写第二个大写,驼峰式命名法,getStudentById
 * 5.()形参列表,用于接收调用者实际传过来的数据,由多个形参组成的列表叫做形参列表
 * 6. {逻辑代码块
 * 	return 返回值,(1)把方法最终处理的结果返回给调用者 (2)结束当前方法
 * 注意:返回的数据类型必须要和返回值类型一致
 * 
 * } 
新建 Class Demo01
//一个静态方法里面只能调用静态方法或者静态变量
	public static void main(String[] args) {
		//调用方法
		//定义一个变量去接收方法的返回值
		//注意:变量的数据类型必须和方法的返回值类型一致
		int result=sum(3,5);
		System.out.println("a+b的和:"+result);
	}
	
	/**
	 * 计算a+b的和
	 * 返回值类型
	 * 方法名
	 * 形参
	 */
	
	public static int sum(int a,int b){
		System.out.println("方法执行了");
		int result=a+b;
		return result;
	}

5.方法返回值和方法的命名

 *(1)无返回值方法
 
 * 访问修饰符[static] void 方法名 (形参列表){
 		方法体
		return;可写可不写,一般不写
 *	}

 * (2)方法名
 * 自定义名字,首字母小写,驼峰式命名法,getStudentById	  
新建 Class Demo02
	public static void main(String[] args) {
		studyHard();

	}
	
	public static void studyHard(){
		for(int i=1;i<=10;i++){
			System.out.println("好好学习"+i);
		}
	}

6.参数传递的规则

 *参数传递:调用者在调用方法的时候,向方法内传入数据的一系列操作
 	形参:在【定义】方法的时候,写在小括号里面的参数,作用是接收调用者传递的数据
 	实参:在【调用】的时候,真正传递到方法的数据
 
 *参数传递(两种):
 	(1)基本数据类型(以及String):传递值本身,形参的操作不会影响实际的参数
 	(2)引用数据类型(除了String以后):传递堆里面的地址值,形参的操作会影响实际的参数
新建 Class Demo03
public static void main(String[] args) {
		int a=10;
		int b=20;
		System.out.println("a="+a);
		System.out.println("b="+b);
		
		change(a,b);
		
		System.out.println("=================");
		System.out.println("a="+a);
		System.out.println("b="+b);

	}	
	//定义一个方法,把形参扩大十倍。
	public static void change(int a,int b){
		a*=10;
		b*=10;
		System.out.println("a="+a);
		System.out.println("b="+b);
	}

7.参数传递的原理

*基本数据类型传递的原理?
	(1)方法区:存放的字节码文件.class文件
	(2)mian方法进栈
	(3)局部变量进栈
	(4)垃圾回收机制让方法出栈

*引用数据类型传递的原理?
	(1)方法和局部变量进栈
	(2)修改相应地址下的数据

在这里插入图片描述

8.方法重载

*对于类似的累加操作,因为形参列表不同,所以定义了多个方法名
(1)麻烦 
(2)调用者需要记住多个方法名,参数过多可能会出现电用错误的情况
	
*什么是方法重载?
	方法名必须相同,参数列表必须不同,和参数名没有关系
(1)参数列表的个数不同
(2)参数类型不同
(3)参数类型的顺序不同
 注意:方法重载和返回值类型无关

注释

2020.08.04java实训第七次课

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值