全网最完整的免费java教程讲义系列(六)——java方法详解
序
转眼老K的Java基础系列课程已经来到了第六讲,Java入门的知识已经所剩无几。
之前的课程内容可以通过下述链接查看:
- 老K玩代码:全网最完整的免费java教程讲义系列(一)——java配置和安装
- 老K玩代码:全网最完整的免费java教程讲义系列(二)——java数据和变量
- 老K玩代码:全网最完整的免费java教程讲义系列(三)——java的运算符
- 老K玩代码:全网最完整的免费java教程讲义系列(四)——java的流程控制
- 老K玩代码:全网最完整的免费java教程讲义系列(五)——java数组详解
那么接下来我们就开始新的内容——Java方法吧。
Java方法是属于Java基础入门的知识,相当于其它语言中的函数。
我们之前每个示例代码中都有写到的public static void main(String[] args)就是一句方法声明语句,下面的部分,我们会以这段代码为例,介绍方法声明语句的基本结构。
一、方法声明
示例:访问修饰符 返回数据类型 方法名(参数列表) {方法体}
public static void main(String[] args) {
System.out.println("hello java!");
}
名称 | 示例 | 说明 |
访问修饰符 | public | public,protected,private等 |
返回数据类型 | void | void、int、char、String、boolean等 |
方法名 | main | 可自定义 |
参数列表 | String[] args | 用变量声明的格式写入,多个变量用,逗号隔开 |
方法体 | System.out.println("hello java!"); | 定义方法要执行的代码 |
- static是静态修饰符,此处不作展开,只需知道现阶段写自定义方法时不需要加static关键词,声明语句只需写成这种型式即可 :public int method(int a) {...} ;
- 返回数据类型中的void,表示该方法无返回值的情况;
- 方法名需要用驼峰命名法进行命名,想了解驼峰命名法的可以查询百度百科:驼峰命名法。
二、方法分类
1. 无参无返回值方法
请参考下列代码,并在IDEA调试学习:
IDEA的安装和调试可以参考我的文章:老K玩代码:全网最完整的免费java教程讲义系列(一)——java配置和安装
public class MethodDemo {
public static void main(String[] args) {
MethodDemo md = new MethodDemo();
md.printNotice();
}
public void printNotice() {
// 打印默认通知
System.out.println("***************************************");
System.out.println(" 项目建设中...");
System.out.println("***************************************");
}
}
2. 无参带返回值方法
请参考下列代码,并在IDEA调试学习:
public class MethodDemo {
public static void main(String[] args) {
MethodDemo md = new MethodDemo();
int num = md.random100();
System.out.println(num);
}
public int random100() {
// 生成一个100以内的随机数
return (int) (Math.random() * 100);
}
}
3. 有参无返回值方法
请参考下列代码,并在IDEA调试学习:
public class MethodDemo {
public static void main(String[] args) {
MethodDemo md = new MethodDemo();
md.userWelcome("老K");
}
public void userWelcome(String user){
// 打印用户的欢迎信息
System.out.println("亲爱的用户 " + user + ",欢迎回来!");
}
}
4. 有参有返回值的方法
请参考下列代码,并在IDEA调试学习:
public class MethodDemo {
public static void main(String[] args) {
MethodDemo md = new MethodDemo();
int large = md.getLarge(34, 66);
System.out.println(large);
}
public int getLarge(int a, int b) {
// 计算两个值中的较大值
int result;
if (a > b) {
result = a;
} else {
result = b;
}
return result;
}
}
三、方法参数
1. 基本数据类型参数
用声明变量的语句定义参数,多个参数用逗号分隔;
示例:
public int getLarge(int a, int b) {
// 计算两个值中的较大值
int result;
if (a > b) {
result = a;
} else {
result = b;
}
return result;
}
2. 数组作为方法参数
示例:
public int doSum(int[] nums) {
int result = 0;
for (int n : nums) {
result += n;
}
return result;
}
3. 方法重载
由于Java是一种严谨的编程语言,每个参数的类型都被事先规定,这就造成了实际使用上的一些麻烦,比如上例中,如果我给doSum 输入参数的是float类型数组,程序就会报错。
另外,很多时候由于输入参数的不同,我们希望的处理逻辑也不同,比如,让两个int相加是想得到它们的和,让两个char相加则是生成字符串;为了解决上述这种使用困境,就引入了方法重载的概念。它能区别处理不同输入参数的情况,帮你自动匹配符合输入参数的方法。
方法重载的特征: 1. 方法名相同; 2. 方法参数不同;
满足以上两个条件的,就是方法重载,不存在其它约束条件。
示例:
public class OverLoad {
public static void main(String[] args) {
OverLoad ol = new OverLoad();
ol.doSomething();
ol.doSomething(12);
}
public void doSomething() {
System.out.println("这是重载方法1");
}
public int doSomething(int num) {
System.out.println("这是重载方法2,携带参数" + num);
return 1;
}
}
本期的Java开发基础教程第六课就先分享到这里。
关于Java的学习教程我会持续更新,如果你正在学习Java,希望了解更多关于Java或其他编程语言的内容,可以关注我或者收藏这篇文章。
除了老K分享的课程之外,想自学Java的小伙伴,也可以看看以下两本有关Java编程的书籍。
书的内容详实,循序渐进。基础卷适合初学者,上手容易;进阶卷适合想要精进Java编程技术的朋友。
- 《On Java》,豆瓣读书评分:9.0 ★★★★★
作者 Bruce Eckel是在硅谷成名已久的大牛,其早年的《Java 编程思想》可谓是Java编程圣经。如今的这部书亦是他呕心沥血之作,增加了很多近期java版本的特性,更适合当下。全书两册,分为基础卷和进阶卷。基础卷对新手友好,循序渐进;进阶卷内容详实、步步为营。
- 《Java核心技术》,豆瓣读书评分:9.4 ★★★★★
本书曾获得有“软件业奥斯卡”之称的Jolt奖,内容详实而细腻,是对学习Java很有帮助的两部书。上下两卷,分别详细介绍了Java的基础知识和高级特性。是很多学习Java的小伙伴必备的书籍。
结束语
我是专注于开发领域的@老K玩代码,会持续生产关于如何学习编程语言的优质内容。
如果你想学习编程,或者想精进你的编程能力,可以关注我。
如果你对开发、编程有任何疑问或有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。