2020-08-07

第六次课
一.
package com.hpe.demo;
/**

  • 什么是方法?

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

  • 就不需要返回的去写重复的代码了

  • 好处:

  • 提高代码的重用性,维护性,可读性好,执行效率

  • 可以把方法比喻一个榨汁机

  • 材料:水果

  • 参出物:果汁

  • 映射到java程序中:

  • 材料(参数):进入方法的数据

  • 产出物(返回值):方法根据参数处理后的结果

  • 怎么定义一个方法?

  • 访问修饰符 [static] 方法的返回值类型 方法名(形参列表){

  • 逻辑代码块;

  • return 返回值;

  • }

  • 1.访问修饰符(权限修饰符)

  • public:公共的,在当前项目下的任何地方都可以访问

  • private:私有的,能在当前类下面访问

  • protected:受保护的,在同一个包或者其他派生类中可以访问

  • default:缺省,只能在当前包下面进行访问

  • 2.方法的返回值类型:方法执行完成以后最终产生的结果是什么类型的

  • 3.方法名

  • 自己定义的名字,首字母小写,驼峰式命名法 getStudentById

  • 4.形参列表 :由多个形参组成的列表 (int a,int b)

  • 形参:用于接收调用者实际传过来的数据

  • 5.return:

  • (1)把方法最终处理的结果返回给调用者 (2).结束当前方法

  • 注意:返回的数据类型必须要和返回值类型一致
    */
    public class Demo1 {

    //一个静态方法里面只能调用静态方法或者静态变量
    public static void main(String[] args) {
    //调用方法
    //定义一个变量去介绍方法的返回结果
    //注意:变量的数据类型必须和方法的返回值类型一致
    int result=sum(10,20);//实参
    System.out.println(“a+b的和为:”+result);

    }

    /**

    • 计算a+b的和
    • 返回值类型:int
    • 方法名
    • 形参: int a int b
      */
      public static int sum(int a,int b){//形参
      System.out.println(“方法执行了”);
      int result=a+b;
      return result;

    }

}
二.
package com.hpe.demo;

public class Demo {
/*
* 不好维护,代码执行效率底,重复性大
* */
public static void main(String[] args) {
System.out.println(“发射炮弹”);//100行代码

	System.out.println("发射炮弹");//100行代码
	
	
	System.out.println("发射炮弹");//100行代码

}

}
三.
package com.hpe.demo;

/**

  • 无返回值的方法:
  • 方法执行一些操作,没有把执行结果返回给调用者,只是执行了方法的方法体
  • 访问修饰符 [static] void 方法名(形参列表){
  • 方法体;
  • //return;可以可不写 ,一般不写
  • }

*/
public class Demo2 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
    studyHard();
}

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

}
四.
package com.hpe.demo;

/**

  • 参数传递:调用者在调用方法的时候,向方法内传入数据的一系列动作
  • 形参:在【定义】方法时候,写在小括号里面的参数,作用接受调用者传递的数据
  • public static int sum(int a,int b){//形参
  • 实参:在【调用】方法的时候,真正传递到方法的数据
  • int result=sum(10,20);//实参
  • 参数传递,有两种类型
  • 基本数据类型(以及String):形参的操作不会影响实际的参数
  • 引用数据类型:(除了String以后):形参的操作会影响实际参数

*/
public class Demo3 {

public static void main(String[] args) {
	int a=10;
	int b=20;
	System.out.println("a="+a);//10
	System.out.println("b="+b);//20
	//调用方法
	change(a, b);
	
	System.out.println("===================");
	System.out.println("a="+a);//10
	System.out.println("b="+b);//20
}

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

}
五.
package com.hpe.demo;

public class Demo4 {

public static void main(String[] args) {
	int[] arr={10,20};
	System.out.println(arr[0]);//10
	System.out.println(arr[1]);//20
	
	System.out.println("=========");
	change(arr);
	
	System.out.println("============");
	System.out.println(arr[0]);//100
	System.out.println(arr[1]);//200

}

public static void change(int[] arr){
	arr[0]*=10;
	arr[1]*=10;
	System.out.println(arr[0]);//100
	System.out.println(arr[1]);//200
}

}
六.
package com.hpe.demo;

public class Demo5 {

public static void main(String[] args) {
	int sum1=sumTwo(10, 20);
	int sum2=sumThree(10, 20, 30);
	System.out.println("sum1="+sum1);
	System.out.println("sum2="+sum2);

}

//计算a+b的和
public static int sumTwo(int a,int b){
	return a+b;
}

//计算a+b+c的和
public static int sumThree(int a,int b,int c){
	return a+b+c;
}

//...

}
七.
package com.hpe.demo;

/**

  • 对于类似累加的操作,因为我形参列表不同,所以我定义了多个方法名

  • 弊端:

  • 1.麻烦

  • 2.代表调用者需要记住多个方法名,如果方法名过多,有可能出现调用错误的情况

  • 可不可把这些类似操作起一个一个方法名可以吗,

  • 可以,使用方法重载

  • 什么是方法重载呢?

  • 方法名必须相同,参数列表必须不相同

  • 什么是参数列表:

  • 1.参数列表的个数不同

  • 2.参数类型不同

  • 3.参数类型的顺序不同

  • 注意:方法重载和返回值类型无关
    */
    public class Demo6 {

    public static void main(String[] args) {
    int num1=sum(10,20);
    int num2=sum(10,20,30);
    System.out.println(“num1=”+num1);
    System.out.println(“num2=”+num2);

    }

    //计算a+b的和
    public static int sum(int a,int b){
    return a+b;
    }

// public static int sum(int c,int d){//不是方法重载 和参数名没有任何关系,参数只是一个名字
// return c+d;
// }

// public static double sum(int c,int d){//不是方法重载
// return c+d;
// }

public static double sum(int a,double b){//正确
	return a+b;
}

public static double sum(double a,int b){//是
	return a+b;
}

// public static double sum(int b,double a){//不是
return a+b;
// }

//计算a+b+c的和
public static int sum(int a,int b,int c){
	return a+b+c;
}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值