Java方法

1.什么是方法:

    Java方法是一个语句的集合,封装了一段逻辑,实现一个行为(功能)

2.使用方法的优点:

    将代码进行封装,可以简化代码的冗余度,重复调用。

3.方法定义的格式:

修饰符 返回值类型 方法名(参数列表){
 方法体;
}

    1)方法名:

        方法的名字的第一个单词应该以小写字母为开头,后面的单词则用大写字母开头。

    2)修饰符:

        包括权限修饰符(public,protected、default(不写权限修饰符时,默认是这个)、private)

        其他的常用修饰符static 、abstract等

    3)返回值类型:void、八大基础数据类型、引用数据类型

        当返回值类型为void时,return可写可不写;

        当返回值类型不为void时,return后面必须有返回值。

    4)参数列表:方法的参数类型、顺序和参数的个数

        形参:方法的参数列表内声明的参数

            形参符合变量的声明格式,它在定义期间没有具体值,起到了限制、规定的作用,在编写方法体时,可以直接进行使用。

        方法内可以不写任何参数。

        当方法被调用时,传递值给参数。

    5)方法体:方法体中写方法的逻辑

        一般都存在return关键字(结束方法),当返回值类型为void时,return可省略;

4.方法的调用:

    当方法的返回值类型为void时,直接调用方法;

    当方法的返回值类型不为void时,方法可以当成一个值使用。

    实例1:

	//main方法被JVM调用
	public static void main(String[] args) {
		int i = 5;
		int j = 10;
		//调用max2方法,使用max接收返回值
		int max = max(i,j);//i,j为实参,分别为形参a,b赋值
		//将结果输出到控制台
		System.out.println("(max)  "+i+"和"+j+"的最大值为:"+max);
		//调用max2方法
		max2(i,j);
	}
	/**使用max方法返回俩个整数的最大值*/
	public static int max(int a,int b){
		return a>b?a:b;
	}
	/**使用max2方法返回俩个整数的最大值,并将结果输出到控制台*/
	public static void max2(int a,int b){
		System.out.println("(max2)  "+a+"和"+b+"的最大值为:"+(a>b?a:b));
//		return;//因为返回值类型为void,所以return可写可不写;
	}
    结果:
(max1)  5和10的最大值为:10
(max2)  5和10的最大值为:10

5.方法的重载:

    在一个类中,方法名相同,参数类型列表不一样(与返回值,修饰符无关),当调用方法时,根据传入参数的不同,自动匹配相应的方法。

    方法重载是编译时多态,在编译时确定方法签名(方法签名由方法名+形参列表构成,也就是说,方法名和形参可以唯一确定一个方法,与方法的返回值没有任何关系

    方法重载的意义:当我们需要返回3个整数的最大值,或者需要返回2个小数的最大值,实例1的max方法不能满足我们的需求,这个时候就需要重载。

	public static void main(String[] args) {
		int i = 5;
		int j = 10;
		int z = 8;
		double d1 = 5.4;
		double d2 = 3.8;
		//自动匹配相对应的方法
		System.out.println(i+"和"+j+"的最大值为:"+max(i,j));
		System.out.println(d1+"和"+d2+"的最大值为:"+max(d1,d2));
		System.out.println(i+","+j+"和"+z+"的最大值为:"+max(i,j,z));
	}
	public static int max(int a,int b){
		return a>b?a:b;
	}
	public static int max(int a,int b,int c){
		int max = a>b?a:b;
		max = c>max?c:max;
		return max;
	}
	public static double max(double a,double b){
		return a>b?a:b;
	}

6.构造方法:

    1)构造方法的方法名必须与类名相同

    2)构造方法没有返回值类型(不能定义为void),就是在方法名前不加方法类型

    3)类中必须存在构造方法,可以手动提供;如果不进行提供,系统会默认声明一个无参构造方法。 (一旦提供了构造方法,默认无参构造方法不在提供)

    4)当使用"new 类型名()"时,就是在调用构造方法,进行实例化。

    5)构造方法可以进行重载。

class people {
	public int id;
	public String name;
	public int age;
	public boolean sex;//true为男,false为女
	//如果不提供构造方法,系统会自动提供此构造方法
	people(){
	}
	//构造方法可以重载
	people(int id, String name, int age, boolean sex) {
		/*
		 * 1.调用父类无参构造方法
		 * 2.先执行父类构造方法,在执行自己构造方法的逻辑,
		 *   所以super()只能写在第一行,写在后面会报错
		 * 3.不写的时候,系统会默认调用父类的一个构造方法(一般调用无参构造方法)
		 */
		super();
		//构造方法的作用一般是:初始化成员变量
		this.id = id;
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
}

7.可变参数

    1)自从JDK1.5开始,Java支持传递同类型的可变参数给一个方法。

    2)一个方法只能指定一个可变参数,而且必须方法的最后一个参数。

public static void main(String[] args) {
    max(5,0,-3,18,5);
    max();
    max(1,3,6,8,9,0,-3);
}
public static void max(int... nums){
    if(nums.length == 0){
        System.out.println("没有数值");
            return;
    }
    int max=nums[0];
    for(int i:nums){
        if(i>max){
            max = i;
        }
    }
    System.out.println("最大值为:"+max);
    return;
}
最大值为:18
没有数值
最大值为:9


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值