Java中的方法/函数是什么?(四)

在Java里的方法即是C语言中的函数,那么什么是方法/函数?作用又是什么呢?先看下面这组代码:

在这里插入图片描述
可以看到代码中的循环和打印语句有重复(冗余):
这里有的初学者想到了Ctrl c+Ctrl v 解决。
但是!!!↓

在这里插入图片描述
方法/函数:
执行某一段特殊功能的一段代码,并且通过名字(方法名/函数名)反复使用

有些代码功能实现冗余,降低程序的可维护性 降低程序可读性;方法/函数可以完美的解决。

方法/函数的定义位置:

定义在类以内,其他函数以外(与main函数并列)。

方法/函数的语法:

class 类名{ 
	// main函数 
	// 自定义的函数 
	public static void 函数名(){ 
		// 函数的实现\函数体
	} 
}

在这里插入图片描述
在这里插入图片描述

注意:

public static void 函数名()   →函数的声明 
{}   →函数实现 
注意:函数名望文生义、驼峰命名(第一个单词首字母小写,其余单词首字母大写。

参数的定义及使用: (形参)

(1) 形式参数:定义在函数名()中的变量称为形式参数,简称形参 
(2) 形参作用:函数和调用者之间交互数据的一种约定;
			 约定函数的调用者需要给函数传递什么类型及几个数据。
(3) 形参的使用:形式参数相当函数内部的局部变量;
			   在函数{}中直接通过形参参数名字使用即可。
(4) 形参的定义: 
	public static void 函数(数据类型 参数名){ 
		// 函数体、函数的实现部分 
	} 
(5) 注意:函数中可以定义多个参数,所以将()中的内容称为参数列表。

方法/函数的调用: 函数名();

图中的test();这就是调用;一个函数可以通过函数名被多次的调用。

有参数的方法/函数调用:(实参)

(1)	函数名(实参);
(2) 实际参数:函数调用者在函数调用时()中给定的具体数据,简称为实参 
(3) 实参作用:实际参数给形参赋值 
(4) 注意:实际参数的个数、类型、顺序必须和形参一致

方法/函数的返回值: 【函数里的难点干货满满哦~

在这里插入图片描述

(1) 函数返回值分为两大类:没有返回值和有返回值 
	如果返回值类型为 void ,代表当前函数不需要给调用者返回任何结果 
	如果返回值类型为 8种基本数据和对象类型,代表当前函数需要给调用者返回结果 
(2) 函数返回值位置: 
	public static 返回值类型 函数名(形参列表){ 
		// 函数体、函数实现 
	}
	注意:返回值类型是函数和调用者之间的一种约定;
	     约定调用者可以通过函数的调用,获取哪一种数据类型的数据。
(3) 如果函数返回值类型为8种基本数据类型或是对象类型;
	则需要通过 return xxxx;将函数 结果返回给调用者;
	return后面返回值的数据类型必须和约定的返回值类型一致。 
(4) 带有返回值的调用: 
	数据类型 变量名 = 函数名(实参); 
	注意:接受返回值的变量数据类型需要和函数的返回值类型一致。 
(5) 调用者对返回值的处理方式通常有以下几种: 
	a. 利用和返回值同类型的变量将返回值存储,返回值可以被多次使用 
	b. 直接在应用返回值的地方调用函数: 
	   System.out.println( add(66) ); 
	c. 如果函数有返回值,调用者可以不进行处理、不接受 
(6) return 的作用: 
	a. 将函数的值返回给调用者 
	b. 结束、终止当前函数 
	public static void 函数名(形参){
	 	return; 	// 利用return空,结束终止当前函数 
	 } 
(7) 注意事项: 
	a. 如果函数的返回值类型为 void,则不能直接在打印语句中调用函数,否则编译报错。
	   错误信息为:此处不允许使用'空'类型 
	b. 如果函数的返回值类型不是 void 类型,则函数必须有 return 语句;
	   而且只能有一个 return语句(存在分支,只能在满足条件下,可执行return只能有一个) 
	c. 如果 return应用在分支结构、循环结构中,必须保证每个分支或是条件都有一个可执行 的return语句,否则编译报错。
	   错误信息为:缺少返回语句

方法/函数的执行机制:

main函数为程序上的入口,程序进入main函数之后;
从上往下依次执行main函数中的代码,如果执行过程中,遇到函数的调用,则优先执行被调函数内部的代码,进入被调函数之后,从上往下依次执行,直到被调函数内部代码执行完毕,如果有返回值则带着返回值返回函数的调用位置,main再继续自己后续的代码。

方法/函数的嵌套调用

被调用的函数内部又调用了其他的函数。

在这里插入图片描述
注意:
在一个函数内部自身调用自身的语法被称为函数的递归调用
递归调用过程中如果没有设置结束条件,很容易出现无穷递归,最终的报错信息为:

Java.lang.StackOverflowError(栈溢出)

猜你喜欢

转载自blog.csdn.net/weixin_60768515/article/details/123361888
今日推荐