ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java方法的定义和使用

2021-09-23 12:04:39  阅读:112  来源: 互联网

标签:return 定义 sum System static Java 方法 public


方法的最大好处是可以进行重复调用,但是至于说那些操作要形成方法,这些都要根据你的实际项目经验而自我总结的。

方法的基本定义

限制条件:在主类中定义,并且由主方法直接调用的方法形式。

public static 返回类型 方法名称([参数类型 变量, ......]) {
	方法体代码;
	[return [返回值];]
}

在定义方法的时候对于方法的返回值有一下的两类:

  • void:没有返回值
  • 数据类型(基本类型,引用类型)

范例:定义一个没有返回值,没有参数的方法

public class TestDemo {
	public static void main(String[] args) {
		print();	//主方法里面直接调用方法
	}
	public static void print() {
		System.out.println("Hello	World!"); //定义方法
	}
}

范例:定义一个有参数无返回值的方法

public class TestDemo {
	public static void main(String[] args) {
		print("Hello");	//主方法里面直接调用方法
		print("	world");
		print("!");
	}
	public static void print(String msg) {	//定义方法
		System.out.print(msg); 
	}
}

范例:有参数有返回值的方法

public class TestDemo {
	public static void main(String[] args) {
		int result = add(10, 20);
		System.out.println(result);
		//既然方法有返回值,那么这些返回值也可以直接输出
		System.out.println(add(100, 200));
	}
	public static int add(int x, int y) {	//定义方法
		return x + y;
	}
}

但是在定义方法的时候有一点特别要注意,如果某一个方法上使用了void定义,那么该方法可以直接用return来结束调用。一般而言,这种return的处理往往需要结合if判断来实现。

public class TestDemo {
	public static void main(String[] args) {
		print(10);
		print(20);
	}
	public static void print(int x) {	//定义方法
		if(x == 20)		//表示的是方法结束的判断
			return;		//此语句之后的代码不再执行
		System.out.println("x = " + x);
	}
}

对于第一次接触方法的人来讲,先将语法记住,至于怎么用,需要时间来消化

方法重载(重点)

方法重载指的是:方法名称相同,参数的类型和个数不同。
范例:实现方法重载

public class TestDemo {
	public static void main(String[] args) {
		//此时将根据参数的类型和个数的不同执行不同的方法体
		System.out.println(add(10, 20));
		System.out.println(add(30, 40, 50));
		System.out.println(add(1.1, 2.1));
	}
	public static int add(int x, int y) {
		return x + y;
	}
	//此时方法名称相同,参数的个数不同
	public static int add(int x, int y, int z) {
		return x + y + z;
	}
	public static double add(double x, double y) {
		return x + y;
	}
}

在进行方法重载的时候有一个重要的原则:要求方法的返回值类型一定要相同。
范例:观察如下程序

public class TestDemo {
	public static void main(String[] args) {
		//此时将根据参数的类型和个数的不同执行不同的方法体
		System.out.println("hello");   //输出字符串
		System.out.println(1);			//输出整形
		System.out.println(1.1);		//输出浮点型
		System.out.println('A');		//输出字符
		System.out.println(true);		//输出布尔
	}
}

证明:System.out.println()是一个被重载的方法

方法递归调用

方法的递归调用指的是一个方法自己调用自己的形式。一般如果要进行方法的递归操作往往都具备有以下的特点:

  • 方法必须有一个递归的结束条件
  • 方法在每次递归处理的时候一定要做出一些变更

范例:实现1 ~ 100的累加操作

public class TestDemo {
	public static void main(String[] args) {
		System.out.println(sum(100));
	}
	public static int sum(int num) {
		if(num == 1)
			return  1;
		return num + sum(--num);
	}
}

1.[main()调用] 第1次执行sum()方法 return 100 + sum(99);
2.[sum()递归] 第2次执行sum()方法 return 99 + sum(98);
3.[sum()递归] 第3次执行sum()方法 return 98 + sum(97);
4.…
5.[sum()递归] 倒数第2次执行sum()方法 return 2 + sum(1);
6.[sum()递归] 倒数第1次执行sum()方法 return 1;

范例:实现60!,这个结果太大,应该使用double。

public class TestDemo {
	public static void main(String[] args) {
		System.out.println(mul(60));
	}
	public static double mul(int num) {
		if(num == 1)
			return  1;
		return num * mul(--num);
	}
}

通过代码可以发现使用while循环的操作其实大部分都可以更换为递归,之所以使用递归主要是一个方法可以执行的操作很多,而且结构要好。
————————————————
版权声明:本文为CSDN博主「mrbacker」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mrbacker/article/details/79181869

标签:return,定义,sum,System,static,Java,方法,public
来源: https://www.cnblogs.com/changanyi/p/15323572.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有