方法的定义,方法的重载

编译时异常
javac.exe的时候,编译都通不过,提示你代码有错误。
这些提示错误,就称之为编译期异常。

该报错,会准确的提示你,代码多少行,报错
下角标箭头提示,报错位置。 和错误的类型

运行时异常
Error 错误,一种是编译导致的错误,运行的时候才提示。
常识运算错误!
Execption
运行时候才会发生的异常。
比如我们使用数组,变量,等等使用方法不当的时候
就会出现这个异常。

		ArrayIndexoutofboundsException
		NullpointerException

1 方法概述和格式说明
目前,我们掌握的方法,就是main 方法。

public static void main(String[] args){
	//要执行的代码
	
	return ;	//返回值为void的时候,可以省略不写。
}
	
	
	(1)方法的概述
		有两个好处:
		1、相同的代码,减少重复书写,可以写到一个方法内
			然后需要的时候,不需要重写了,直接调用下方法,就执行一遍。
			
		2、方法,可以把逻辑关系相同,或者整体的代码块,
			放在同一个方法中,执行起来比较容易让我们理解。
	
	(2)方法的格式:
			
			修饰词 返回值类型  方法的名字(参数类型1 参数名1, 参数类型2 参数名2,……){
			
					返回值类型,如果是void,可以省略return 
					返回值类型,不是void,需要返回对应的返回值类型,对应的具体的值。
			}
			
	(3)方法参数的格式
			定义方法的时候:参数称之为,形式参数。
				 形式参数的书写:
					方法名(参数类型1  参数名1,参数类型2 参数名2)
			
			调用方法的时候: 参数,称之为,实际参数。
					调用方法的时候,传递的参数。
					实际参数,具体写一个值,或者变量名引用的值。

2 方法之求和案例及其调用
需求,定义一个方法,求1-10的数的和。
求和的代码,写在方法中,通过方法的返回值,返回求和结果。

	/**
	 * 方法之求和案例及其调用【掌握】
		需求,定义一个方法,求1-10的数的和。
				求和的代码,写在方法中,通过方法的返回值,返回求和结果。
	 */
	public class Test02_Sum {
		public static void main(String[] args) {
			
			System.out.println("12313123");
			//调用,求和方法。
			getSum1_10();
		}
		
		//定义一个方法,获取1-10的累加的结果,输出最后结果。
		public static void getSum1_10(){
			int sum = 0;
			for (int i = 1; i <=10; i++) {
				sum += i;
			}
			System.out.println("1-10累加的结果是:"+ sum);
		}
		
	}	

3 方法的注意事项【掌握】
(1)方法与 方法是平级的关系。不能嵌套定义
(2)方法要定义在类中,其他方法外。
(3)方法,不调用,不执行。只有调用之后才执行。
(4)如果方法有明确的返回值类型,必须写return 返回对应类型的值
(5)return后面跟的是具体的值或者变量,
在方法调用的地方,可以用对应数据类型 的新变量 接收。
(6)方法定义的参数列表中,多个参数之间用 , 逗号隔开
(7)方法调用的时候,称之为实际参数。实际参数不用写参数类型。
(8)被静态static 修饰的东西,会随着类的加载而加载
静态的方法 只能 调用静态方法。

4 方法的练习
练习求和的变形:
需求 ,求1-10的数的累加的和,
通过定义方法的方式,并且方法有具体的返回值类型。
根据 用户的需求,在方法内编写代码,把代码结果返回。

		/**
			需求,定义一个方法,求1-10的数的和。
					
			方法变形一下:添加参数列表
					定义方法的时候:参数称之为,形式参数。
						 形式参数的书写:
							方法名(参数类型1  参数名1,参数类型2 参数名2)
					
					调用方法的时候: 参数,称之为,实际参数。
							调用方法的时候,传递的参数。
							实际参数,具体写一个值,或者变量名引用的值。
					

		 */
		public class Test04_Sum {
			public static void main(String[] args) {
				//我想定义一个方法,然后给这个方法传两个数,
				//让这个方法,把他们和计算出来,然后把结果返回给我
				
				int  new_sum = getSum(2342,9437);
				System.out.println(new_sum);
			}
			/**
			 * 定义一个方法,
			 * 修饰词: public static
			 * 返回值类型: int 类型。
			 * 方法名: getSum
			 * 参数列表,两个:int a, int b
			 * 返回值: sum
			 */
			public static int getSum(int a, int b){
				int sum = a +b;
				return sum;
			}
		}	

5 方法之输出星形及其调用
需求 :输出一个N 行 m 列的星星,
通过键盘录入,确定,n 和m 的数值。
用方法执行,进行星星输出。

import java.util.Scanner;

/**
 * 需求 :输出一个N 行 m 列的星星,
		通过键盘录入,确定,n 和m 的数值。
		用方法执行,进行星星输出。
 */
public class Test06_XX {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入您想要打印几行几列的星星,先输入行数:");
		int n = sc.nextInt();
		System.out.println("请输入您想要打印星星的列数");
		int m = sc.nextInt();
		
		printXX(n,m);	//当你调用一个不存在的方法时候,eclipse 提示帮你创建
		
	}

	private static void printXX(int n, int m) {
		//双层for 循环。外层控制换行,内层输出星星,不换行。
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

6 方法的练习
需求: 键盘录入两个数,这两个数通过一个方法
在方法里面,判断两个数大小,
把较大的数,返回给方法调用者。

		最终把最大的数,输出显示。


	import java.util.Scanner;

		/**
		 * 	需求: 键盘录入两个数,这两个数通过一个方法
					在方法里面,判断两个数大小,
					把较大的数,返回给方法调用者。
					
					最终把最大的数,输出显示。
		 *
		 */
		public class Test05_Compare {
			public static void main(String[] args) {
				//创建键盘录入对象,接收两个整数,作为调用比较方法的两个参数
				Scanner sc = new Scanner(System.in);
				System.out.println("输入两个要比较的数,请输入第一个:");
				int x = sc.nextInt();
				System.out.println("请输入第二个:");
				int y = sc.nextInt();
				
				//调用比较两个数的方法,然后接收最后最大值结果。
				int max = compare(x,y);
				System.out.println("您输入的两个数,较大的是:"+max);
			}
			//定义一个比较两个数,较大值是哪个的方法,返回较大的值。
			public static int compare(int a, int b){
				if(a>b){
					return a;
				}else if(a <b){
					return b;
				}else{
					System.out.println("两个数相等");
					return a;
				}
			}
			
			
		}

7 方法重载概述和基本使用
方法的重载: 定义两个或多个方法的时候
方法名相同,参数列表不同。
参数个数不同。
参数类型不同。

				与修饰词 及 返回值类型,无关。
				
	这样多个方法之间的关系,我们称之为方法的重载关系。
	
	例如: 如下的方法定义,都称之为方法重载。
	
		getMax(int a ,int b){
		
		}
		
		getMax(int a ,int b,int c){
		
		}
		
		getMax(double a ,odouble  b){
		
		}

		
	疑问: 方法名都相同,那我调用的时候,我怎么知道我调用的是哪个?
			换句话说,代码,怎么知道我想用哪个?
			
			getMax(3,5);
			getMax(2.1, 4.3);
			getMax(1,2,3);

8 方法重载练习比较数据是否相等

需求: 定义三个重载方法,求最大值
		调用重载方法,给不同的类型数据参数
		查看重载方法具体执行的哪个。

		调用相同方法名的方法,然后最终得出,输出每组数据较大的数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值