Java方法

1.方法的概述和基本使用

    *方法就是完成特定功能的代码块

    *很多语言称之为函数,Java中被称之为方法

    *方法的格式

        *修饰符    返回值类型    方法名(参数类型    参数名1,参数类型    参数名2,......){

                    方法体(函数体);

                    return    返回值;

            };

    *求和方法案例

package com.text;
/*
 * 有明确返回值的方法的调用:
 * 		A:单独调用,没有什么意义。
 * 		B:输出调用,有意义,但是不够好,因为我可能需要对求和的结果进行进一步的操作
 * 		C:赋值调用
 */
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);
	}
}

    *void修饰的方法代表没有明确的返回值

package com.text;
/*
 * 需求:写一个方法,在控制台输出10次HelloWorld案例。
 * 
 * 两个明确:
 * 		返回值类型:void
 * 		参数列表:无参数
 * 
 * 如果一个方法没有明确的返回值类型,java提供了void进行修饰。
 * 
 * void修饰的方法的调用:
 * 		A:单独调用
 */
public class MethodDemo {
	//在控制台输出10次HelloWorld案例。
	public static void printHelloWorld() {
		for(int x=1; x<=10; x++) {
			System.out.println("HelloWorld");
		}
	}
	
	public static void main(String[] args) {
		//单独调用
		printHelloWorld();
		
		//输出调用
		//System.out.println(printHelloWorld());
		//System.out.println(void);
		
		//赋值调用
		//void v = printHelloWorld();
	}
}

2.方法的重载

    *在同一个类中出现了方法名一样,参数列表不同,跟返回值无关的现象就叫做重载

package com.text;

/*
 * 方法重载:在同一个类中,出现了方法名相同的方法,这就是方法重载。
 * 方法重载特点:
 * 		方法名相同,参数列表不同。与返回值无关。
 * 		参数列表不同:
 * 			参数的个数不同。
 * 			参数对应的类型不同。
 * 注意:
 * 		在调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法。
 */
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);
		//System.out.println("result2:"+result2);
		result = sum(a,b,c);
		System.out.println("result:"+result);
	}
	
	
	//两个float类型的数据求和
	public static float sum(float a,float b) {
		return a + b;
	}

	// 三个整数的求和
	public static int sum(int a,int b,int c) {
		return a + b + c;
	}
	
	/*
	public static int sum2(int a, int b, int c) {
		return a + b + c;
	}
	*/

	// 两个整数的求和
	public static int sum(int a, int b) {
		return a + b;
	}
}

3.方法的参数传递

    *形式参数

        *用于接受实际数据的变量

    *实际参数

        *实际参与运算的变量

    *方法的参数为为基本数据类型的时候,形参的改变不影响实参

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
	}

}

    *方法的参数为引用数据类型时,形参的改变影响实参

package com.text;

/*
 * 方法的参数是引用类型:
 * 		形式参数的改变直接影响实际参数
 */
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]);
		}
		System.out.println("----------------");
		change(arr);
		for (int x = 0; x < arr.length; x++) {
			System.out.println(arr[x]);
		}
	}

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值