写在开头
一名优秀的计算机科学家,可能不一定是一名优秀的物理学家,但一定是一名优秀的数学家,我理解的计算机科学实质上是把数学语言转换成计算机语言的过程。
而我的数学并不好…
最难受的是英语也看不懂…
进入正题,搜索功能已经完善好了,可以直接从左侧搜索~
这一篇写java方法。
方法
方法的定义
在前面几个文章中我们经常使用到 System.out.println(),它是什么呢?
- println() 是一个方法。
- System 是系统类。
- out 是标准输出对象。
这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。
那么什么是方法呢?
Java方法是语句的集合,它们在一起执行一个功能。
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
方法的优点
// 可以这么理解把使用频率比较高的功能打包在一起,可以随时调用,主程序就简单明了 还好维护。
- 使程序变得更简短而清晰。
- 有利于程序维护。
- 可以提高程序开发的效率。
- 提高了代码的重用性。
方法定义的解释及注意事项
定义格式:
修饰符 返回值类型 方法名(参数列表){
功能逻辑;
}
对应下来就是:
1 | public static void main(String[] args){ |
解释
修饰符: public static —- public修饰符,static 修饰符
返回值类型: 指方法应该是有什么样的结果,返回值类型可以是任意的数据类型,如果没有 返回值,那么写成void(例如main方法,就没有返回值)
参数列表: 表示我要做一个功能,需要提供给我哪些数据,写在方法名后的小括号中
参数可以没有,不写; 可以有一个参数: 数据类型 变量名 多个参数(没有个数限制) : 数据类型 变量名 , 数据类型 变量名
注意: 方法的参数列表中的变量,只能在方法的大括号中使用
方法的返回: 关键字return,表示返回,将这个方法的结果,返回到方法的调用者处
如果方法有返回值,return 必须写, return后面的数据必须与返回值类型一致; 如果方法没有返回值,return 可以省略,可以写(return ; 没意义) 方法如果没有返回值,那么在定义上,返回值类型处必须写成void
{} : 表示这个方法的范围,功能都需要写在这一对大括号中
方法的命名规则:
//行业内一般的命名规则,以后进公司如果不这样做,会被打的。
- 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。
- 下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test
_ ,例如 test
在代码里解释下:
1 | public class Function1 |
方法的调用
调用方法:Java类文件中,JVM虚拟机,将class文件放入内存中,类文件要运行,执行功能,JVM,只主动的调用main方法(main方法做为程序的唯一执行入口)
举例: Scanner 键盘输入,使用了两个方法 nextInt() ; next();
说明:
- main方法,由JVM主动调用的,因此运行类的时候,运行main方法,main方法从上到下的顺序执行
- 除了main方法外,其余的方法,不会主动的进行运行
- 方法的调用,需要在main中进行调用也可以在其他方法中调用(后面讲解)
- 定义时,参数”数据类型 变量名”的形式(形式参数)
调用时,所传递的参数必须与定义时参数类型一致,参数顺序一致
调用时,给的值都是实际值(实际参数) - 同一个类中,方法可以直接通过方法名调用
方法调用的注意事项:
- 方法一定要定义在类的内部
- 1个方法中不能再定义另外一个方法,但是可以调用方法
- 方法执行结束有两种情况:
1) 执行到return 语句 2) 整个方法的内容都执行完毕
因此,方法中,return后面的语句不会被执行
1 | public class Function1 |
1 | // 方法在其他方法中的调用 |
方法在内存中的运行方式 // 栈内存 ⭐⭐⭐
方法重载 ⭐⭐⭐
方法重载的概念
重载: 指在同一个类中,方法名相同,但是方法的参数列表不同,这种情况,称为方法的重载
举例:
Random类: 生成随机数,
nextInt(); 随机整数,整个int类型的范围
nextInt(5); 随机的整数,[0-5),实际上0-4
上述两个nextInt() 方法就是方法的重载
方法重载的形式
方法重载(Overload):
- 方法的重载,必须发生在同一个类中的相同的方法名
- 要求参数列表不同(以下三个满足任何一个就属于方法重载)
1) 参数个数不同 2) 参数类型不同 3) 不同参数间的排列顺序不同
- 方法重载,与方法的返回值类型无关
- 如果同一个类中,方法名相同,参数列表相同,报错,属于方法的重复定义
//其实还是比较容易理解的,就是一个方法中,如果我获取得参数不完全一样就是重载。
说明:JVM在进行方法的调用时,根据方法名以及参数列表来区分调用哪个方法
在代码中体现下:
1 | //不同参数个数的方法重载代码 |
1 | //参数类型不同的方法重载(方法重载与方法的返回值类型无关) |
1 | //不同类型参数间的排列顺序不同重载 |
晚安
今天就到这里了,明天见,加油!