Java入门(六)-方法的定义、调用、重载

本文详细介绍了Java中定义方法的格式,包括修饰符、返回值类型、参数列表和return关键字的使用。提供了三个实战练习,分别演示了比较整数、计算求和与打印HelloWorld的方法。此外,还讲解了方法调用的三种形式:直接调用、赋值调用和输出语句调用。同时,讨论了方法重载的概念,给出了两个重载方法的实例。这些内容有助于深入理解Java方法的使用和设计。
摘要由CSDN通过智能技术生成

1.定义方法的格式详解

修饰符 返回值类型 方法名(参数列表){ 
	//代码省略... 
	return 结果; 
}
  • 修饰符: public static 固定写法
  • 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
  • 参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
  • return:将方法执行后的结果带给调用者,方法执行到 return ,整体方法运行结束

2.调用方法的流程图解

在这里插入图片描述

3. 定义方法练习

  1. 练习一
    比较两个整数是否相同
  • 分析:定义方法实现功能,需要有两个明确,即 返回值 和 参数列表 。
    ∘ \circ 明确返回值:比较整数,比较的结果只有两种可能,相同或不同,因此结果是布尔类型,比较的结果相 同为true。
    ∘ \circ 明确参数列表:比较的两个整数不确定,所以默认定义两个int类型的参数。
public class Method_Demo3 { 
	public static void main(String[] args) { 
		//调用方法compare,传递两个整数 
		//并接收方法计算后的结果,布尔值 
		boolean bool = compare(3, 8); 
		System.out.println(bool); 
	}
	/* 
		定义比较两个整数是否相同的方法 
		返回值类型,比较的结果布尔类型 
		参数:不确定参与比较的两个整数 
	*/
	public static boolean compare(int a, int b) { 
		if (a == b) { 
			return true; 
		} else { 
		return false; 
		} 
	} 	
}
  1. 练习二
    计算1+2+3…+100的和
  • 分析:定义方法实现功能,需要有两个明确,即 返回值 和 参数 。
    ∘ \circ 明确返回值:1~100的求和,计算后必然还是整数,返回值类型是int
    ∘ \circ 明确参数:需求中已知到计算的数据,没有未知的数据,不定义参数
public class Method_Demo4 { 
	public static void main(String[] args) { 
		//调用方法getSum 
		//并接收方法计算后的结果,整数 
		int sum = getSum(); 
		System.out.println(sum); 
	}
	/* 
		定义计算1~100的求和方法 
		返回值类型,计算结果整数int 
		参数:没有不确定数据 
	*/
	public static int getSum() {
		//定义变量保存求和 
		int sum = 0; 
		//从1开始循环,到100结束 
	for (int i = 1; i <= 100; i++) { 
			sum = sum + i; 
		}
	return sum; 
	} 
}
  1. 练习三
    实现不定次数打印
  • 分析:定义方法实现功能,需要有两个明确,即 返回值 和 参数 。
    ∘ \circ 明确返回值:方法中打印出 HelloWorld 即可,没有计算结果,返回值类型 void 。
    ∘ \circ 明确参数:打印几次不清楚,参数定义一个整型参数
public class Method_Demo5 { 
	public static void main(String[] args) { 
		//调用方法printHelloWorld,传递整数 
		printHelloWorld(9); 
	}
	/*
		定义打印HelloWorld方法 
		返回值类型,计算没有结果 void 
		参数:不确定打印几次 
	*/
	public static void printHelloWorld(int n) { 
	for (int i = 0; i < n; i++) { 
			System.out.println("HelloWorld"); 
		} 
	} 
}

4.定义方法的注意事项

  • 定义位置,类中方法外面。
  • 返回值类型,必须要和 return 语句返回的类型相同,否则编译失败 。
  • 不能在 return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
public static int getSum(int a,int b) { 
	return a + b; 
	System.out.println("Hello");// 错误,return已经结束,这里不会执行,无效代码 
}

5.调用方法的三种形式

  1. 直接调用:直接写方法名调用
public static void main(String[] args) { 
		print(); 
	}
	public static void print() { 
		System.out.println("方法被调用"); 
}
  1. 赋值调用:调用方法,在方法前面定义变量,接收方法返回值
public static void main(String[] args) { 
	int sum = getSum(5,6); 
		System.out.println(sum); 
	}
	public static int getSum(int a,int b) { 
		return a + b; 
}
  1. 输出语句调用:
  • 在输出语句中调用方法, System.out.println(方法名()) 。
public static void main(String[] args) { 
		System.out.println(getSum(5,6)); 
	}
	public static int getSum(int a,int b) { 
		return a + b; 
}
  • 不能用输出语句调用 void 类型的方法。因为方法执行后没有结果,也就打印不出任何内容。
public static void main(String[] args) { 
		System.out.println(printHello());// 错误,不能输出语句调用void类型方法 
	}
	public static void printHello() { 
		System.out.println("Hello"); 
}

6.方法重载

方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返 回值类型无关。

  • 参数列表:个数不同,数据类型不同,顺序不同。
  • 重载方法调用:JVM通过方法的参数列表,调用不同的方法。

7.方法重载练习

  1. 练习一
    比较两个数据是否相等。参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个 long 类型,并 在 main 方法中进行测试
public class Method_Demo6 { 
public static void main(String[] args) {
        //定义不同数据类型的变量
        byte a = 10;
        byte b = 20;
        short c = 10;
        short d = 20;
        int e = 10;
        int f = 10;
        long g = 10;
        long h = 20; // 调用
        System.out.println(compare(a, b));
        System.out.println(compare(c, d));
        System.out.println(compare(e, f));
        System.out.println(compare(g, h));
    }

    // 两个byte类型的
    public static boolean compare(byte a, byte b) {
        System.out.println("byte");
        return a == b;
    }

    // 两个short类型的
    public static boolean compare(short a, short b) {
        System.out.println("short");
        return a == b;
    }

    // 两个int类型的
    public static boolean compare(int a, int b) {
        System.out.println("int");
        return a == b;
    }

    // 两个long类型的
    public static boolean compare(long a, long b) {
        System.out.println("long");
        return a == b;
    }
}
  1. 练习二
    模拟输出语句中的 println 方法效果,传递什么类型的数据就输出什么类型的数据,只允许定义一个方法名 println 。
public class Method_Demo7 {
	public static void main(String[] args) {
	        myPrint((short)100); //short
	        myPrint(1001); // int
	        myPrint("Hello World!!"); // String
	    }
	    public static void myPrint(byte num){
	        System.out.println(num);
	    }
	    public static void myPrint(short num){
	        System.out.println(num);
	    }
	    public static void myPrint(int num){
	        System.out.println(num);
	    }
	    public static void myPrint(long num){
	        System.out.println(num);
	    }
	    public static void myPrint(float num){
	        System.out.println(num);
	    }
	    public static void myPrint(double num){
	        System.out.println(num);
	    }
	    public static void myPrint(char zifu){
	        System.out.println(zifu);
	    }
	    public static void myPrint(boolean is){
	        System.out.println(is);
	    }
	    public static void myPrint(String str){
	        System.out.println(str);
	    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凡晨丹心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值