方法

1.方法的概念

方法是一系列代码指令的集合,用于实现特定的功能,可以重复使用,减少代码的冗余。

2.方法的定义

位置:和main方法并列存在。即在class类中,main方法之外。

格式:

无返回值:public static void 方法名称(形参列表)

有返回值:public static 返回值类型 方法名称(形参列表)

3.方法的调用

在main方法中直接书写方法名称,并且传入对应的实际参数调用。

package com.qfedu.test3;

public class Test3 {
	// 并列
	public static void main(String[] args) {
		System.out.println("窗前明月光");
		printSign('&'); // '&' 表示实参 实际传入的参数  
		System.out.println("疑是地上霜");
		char sign = '#';
		printSign(sign);
		System.out.println("举头望明月");
		printSign('@');
		System.out.println("低头思故乡");
		printSign('~');
	}
	
	/**
	 *  sign 形参 形式参数,定义方法声明的参数 调用者必须传入对应的参数
	 * @param sign
	 */
	public static void printSign(char sign) {
		for (int i = 1; i <= 10; i++) {
			System.out.print(sign);
		}
		System.out.println();
	}
	
}

4.形参和实参

形参:

1.形式参数,表示定义方法是书写的参数,只是定义没有赋值,相当于局部变量

2.形参约束:规定了参数的个数、类型、顺序

实参:实际参数,表示调用方法是传入的参数,必须遵循形参的约束。

package com.qfedu.test3;

public class Test4 {
	public static void main(String[] args) {
		System.out.println("窗前明月光");
		printSign('$', 15); // '$' 和 15 都是实参
		System.out.println("疑是地上霜");
		printSign('#' , 22);
		System.out.println("举头望明月");
		printSign('%',21);
		System.out.println("低头思故乡");
		char sign = '&';
		int count = 25;
		printSign(sign,count);
	}
	
	/**
	 * 	sing 和 count都是形参
	 * @param sign
	 * @param count
	 */
	public static void printSign(char sign , int count) {
		for (int i = 0; i <= count; i++) {
			System.out.print(sign);
		}
		System.out.println();
	}
	
}

5.返回值和返回值类型

方法执行时,有些情况下我们需要从中获取到一些内容,此时可以使用有返回值的方法。

返回值类型:可以是8种基本数据类型和引用数据类型(String、数组、对象等)

return关键字:

​ 1.return关键字表示结束方法并且返回内容

​ 2.返回的内容必须和定义方法的返回值类型匹配。

​ 3.return语句必须在方法的最后一句。

​ 4.分支结构情况下必须保证每一种分支情况都有返回值

​ 5.没有返回值的方法也可以使用return,但是不能在return后加内容,此时只表示结束方法

package com.qfedu.test4;

public class Test2 {
	public static void main(String[] args) {
		m1();
		String str = checkNum(23);
		System.out.println(str);
		System.out.println(checkNum(26));
	}
	// 分支结构返回值
	public static String checkNum(int num) {
		if(num % 2 == 0) {
			return "偶数";
		}
		return "奇数";
	}
	// 没有返回值的方法使用return 只结束方法 不能加内容
	public static void m1() {
		for (int i = 1; i < 100; i++) {
			System.out.println(i);
			if(i == 50) {
				System.out.println("方法退出");
				return;
			}
		}		
	}
}

6.方法的重载

概念:

同一个类中,方法名称相同,参数列表不同

*参数列表不同为:个数、类型、顺序不同。指的是变量类型
与返回值无关(返回值是否想相同不作为重载的条件)

以上三个满足任意一个就可称之为方法重载(overload);

方法重载的好处:

简化程序的结构,方便代码的维护,同时又扩展了程序的功能。

package com.qfedu.test4;

public class Test4 {
	public static void main(String[] args) {
		// 通过编写方法 实现 加法计算
		System.out.println(add(20, 30));
		System.out.println(add(10, 20, 30, 40));
		
		m1(20, "赵四");
	}
	
	/** 
	 *  同一个类中  方法名称相同 参数的个数 类型 顺序 有一个不相同 即可称之为重载 
	 * @param a
	 * @param b
	 * @return
	 */
	public static int add(int a, int b) {
		System.out.println("这里是2个参数的加法");
		return a + b;
	}
//	这个方法 不能编译通过 也不是重载 因为参数的个数 和类型 顺序都与 上面的方法相同
//	public static int add(int numa , int numb) {
//		return numa + numb;
//	}
	
	public static int add(int a, int b , int c) {
		System.out.println("这里是3个参数的加法");
		return a + b + c;
	}
	
	public static int add(int a , int b , int c ,int d) {
		System.out.println("这里是4个参数的加法");
		return a + b + c + d;
	}
	
	public static int add(int a ,int b ,int c , int d, int e) {
		System.out.println("这里是5个参数的加法");
		return a + b + c + d + e;
	}
    
	public static int add(int a , int b , int c , int d , int e , int f) {
		System.out.println("这里是6个参数的加法");
		return a + b + c + d + e + f ;
	}

	// 一下三个方法 也是重载
	public static void m1(String name , int age) {
		System.out.println("你的名字是" + name);
		System.out.println("你的年龄是" + age);
	}
	
	public static void m1(int age , String name) {
		System.out.println("你的年龄是" + age);
		System.out.println("你是名字是" + name);
	}
	

	public static void m1(String name) {
		System.out.println("你的名字是" + name);
	}
}

每日问题

1.如何定义方法,定义在哪里?
2.如何调用方法?
3.形参和实参的区别?
4.return关键字的用法和含义
5.return关键字和返回值有什么关系
6.方法重载的概念
7.双重循环外层循环变量与内层循环变量的关系
8.打印图案时,外层循环控制什么?内层循环控制什么?
9.第一行需要打印5个内容,后续将依次递减,变量的初始从几开始
10.当循环的变量变化为–时,那么条件一定是?
11.当循环的变量变化为++时,那么条件一定是?

解答

1.如何定义方法,定义在哪里?
public static 返回值类型 方法名称(形参列表){}
与main方法并列
2.如何调用方法?
在main方法中直接书写方法名称
3.形参和实参的区别?
形参:只是定义,相当于局部变量,规定 参数的个数,类型,顺序
实参:有具体的值,遵循形参的约定
4.return关键字的用法和含义
return关键字用在方法的最后一句,用于返回值
在分支结构中必须保证每一个分支都有返回值
返回值类型为void的情况,也可以使用return,但是之后不能加内容,表示结束方法
5.return关键字和返回值有什么关系
return关键字返回的内容必须和返回值类型相同
6.方法重载的概念
同一个类中
方法名相同
参数列表不同(个数,类型,顺序)
跟返回值无关(返回值是否想相同不作为重载的条件)
7.双重循环外层循环变量与内层循环变量的关系
外层循环变量变化一次,内层循环变量变化一遍
8.打印图案时,外层循环控制什么?内层循环控制什么?
外层控制行数,内层控制列数
9.第一行需要打印5个内容,后续将依次递减,变量的初始从几开始
从5开始
10.当循环的变量变化为–时,那么条件一定是?
大于或者大于等于某个值
11.当循环的变量变化为++时,那么条件一定是?
小于或者小于等于某个值

posted on 2020-07-27 19:25  zitian246  阅读(91)  评论(0编辑  收藏  举报