java基础知识五(方法)

第1章 方法的概述

1.1概述

方法就是完成特定功能的代码块,在很多语言里面都有函数的定义 , 函数在Java中被称为方法

1.2 格式

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}

public class MethodDemo {
	public static void main(String[] args) {
	}
}

  • 修饰符 目前记住 public static
  • 返回值类型 用于限定返回值的数据类型
  • 方法名 一个名字,为了方便我们调用方法
  • 参数类型 用于接收调用方法时传入的数据的类型
  • 参数名 用于接收调用方法时传入的数据的变量
  • 方法体 完成功能的代码
  • return 结束方法,把返回值带给调用者

两个明确:

  • 返回值类型:其实就是要我们明确方法结果的数据类型

  • 参数列表:其实就是要我们明确有几个参数参加,并且每个参数都是什么数据类型的

  • 注意事项:方法与方法是平级关系,不能嵌套定义

1.3 方法调用之有明确返回值的方法调用

有明确返回值的方法调用:

– 单独调用,没有意义
– 输出调用,有意义,但是不够好,因为我不一定非要把结果输出
– 赋值调用,推荐方式

public class MethodDemo2 {
	// 求和的方法
	public static int sum(int a, int b) {
		return a + b;
	}

	public static void main(String[] args) {
		// 单独调用
		// sum(10,20);

		// 输出调用
		// System.out.println(sum(10,20));

		// 赋值调用
		int s = sum(10, 20);
		// s+=100;
		System.out.println("s:"+s);
	}
}

1.4 方法调用之方法调用图解

在这里插入图片描述

1.5方法调用之void修饰的方法调用

没有明确返回值的函数调用,其实就是void类型方法的调用
只能单独调用

扫描二维码关注公众号,回复: 9339895 查看本文章
//在控制台输出10次HelloWorld案例
public class MethodDemo {
	public static void main(String[] args) {
		//单独调用
		printHelloWorld();
		
		//输出调用
		//System.out.println(printHelloWorld());
		
		//赋值调用
		//void v = printHelloWorld();
}
	
	/*
	 * 写一个方法,在控制台输出10次HelloWorld案例
	 * 
	 * 两个明确:
	 * 		返回值类型:void
	 * 		参数列表:
	 */
	public static void printHelloWorld() {
		/*
		for(int x=1; x<=10; x++) {
			System.out.println("HelloWorld");
		}
		*/
		
		for(int x=0; x<10; x++) {
			System.out.println("HelloWorld");
		}
	}
}

第2章 方法的重载

2.1 方法重载的概述和特点

• 方法重载概述
– 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
• 方法重载特点
– 与返回值类型无关,只看方法名和参数列表
– 在调用时,虚拟机通过参数列表的不同来区分同名方法

public class MethodDemo {
	public static void main(String[] args) {
		//定义两个变量
		int a = 10;
		int b = 20;
		
		//求和
		int result = sum(a,b);
		System.out.println("result:"+result);
		
		//定义变量
		int c = 30;
		//int result2 = sum2(a,b,c);
		int result2 = sum(a,b,c);
		System.out.println("result2:"+result2);
	}
	
	/*
	public static int sum(int x,int y) {
		return x + y;
	}
	*/
	
	public static float sum(float a,float b) {
		return a + b;
	}
	
	//求三个数据的和
	/*
	public static int sum2(int a,int b,int c) {
		return a + b + c;
	}
	*/
	public static int sum(int a,int b,int c) {
		return a + b + c;
	}
	
	//求两个数据的和
	public static int sum(int a,int b) {
		/*
		int c = a + b;
		return c;
		*/
		
		return a + b;
	}
}

第3章 方法参数类型详解

4.1 方法参数是基本类型的情况和图解

  • 方法的参数是基本类型的时候:
    形式参数:用于接收实际数据的变量,形式参数的改变不影响实际参数
    实际参数:实际参与运算的变量
public class ArgsDemo {
	public static void main(String[] args) {
		// 定义变量
		int a = 10;
		int b = 20;
		System.out.println("a:" + a + ",b:" + b);// a:10,b:20
		change(a, b);
		System.out.println("a:" + a + ",b:" + b);// a:10,b:20
	}

	public static void change(int a, int b) { // a=10,b=20
		System.out.println("a:" + a + ",b:" + b);// a:10,b:20
		a = b; // a=20;
		b = a + b;// b=40;
		System.out.println("a:" + a + ",b:" + b);// a:20,b:40
	}

}

4.2 方法的形式参数是基本类型图解

在这里插入图片描述

4.3 方法参数是引用类型的情况和图解

  • 基本数据类型作为参数传递,形式参数的改变不影响实际参数
  • 引用数据类型作为参数传递,形式参数的改变直接影响实际参数
public class ArgsDemo2 {
	public static void main(String[] args) {
		int[] arr = { 1, 2, 3, 4, 5 };
		for (int x = 0; x < arr.length; x++) {
			System.out.println(arr[x]);//1,2,3,4,5
		}
		change(arr);
		for (int x = 0; x < arr.length; x++) {
			System.out.println(arr[x]);//1,4,3,8,5
		}
	}

	public static void change(int[] arr) {
		for (int x = 0; x < arr.length; x++) {
			//如果数组元素是偶数,值就变成了以前的2倍
			if (arr[x] % 2 == 0) {
				arr[x] *= 2;
			}
		}
	}

}

在这里插入图片描述

发布了30 篇原创文章 · 获赞 10 · 访问量 897

猜你喜欢

转载自blog.csdn.net/weixin_45788152/article/details/104209764