`

Java编程那些事儿52—方法声明

阅读更多
Java编程那些事儿52—方法声明
郑州游戏学院 陈跃峰
第七章 方法
方法(method),在面向过程的语言中称作函数(function),在汇编语言中称作子程序,是一个代码功能块,实现某个特定的功能。在实际的程序开发中,方法是一种基础的组织代码的方式。本部分就介绍方法相关的概念、相关语法以及实际使用时需要注意的问题。
7.1 方法概述
方法的概念来源于数学上的函数,在数学中,当数据具有一定的规律时,就是用一个函数来代码该数字的规律,例如f(n)=n则代表1、2、3、……这样的一个数列。在数学上n是参数,对于确定的n值只有一个f(n)的值和它对应。
方法是一组为了实现特定功能的代码块的集合。方法在语法上的功能主要有以下两个:
l结构化代码
将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,也就是程序的可维护性强。
l减少代码重复
一个固定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。
方法在书写时需要注意以下两点:
l逻辑严谨
方法实现的一个完整的功能,所以在书写时要考虑到各种可能的情况,并对每种情况做出恰当的处理。
l通用性强
方法实现的是一种功能,在实际实现时,可以根据需要,使方法具备一定的通用性,除非必要,否则不要写专用的方法。
在Java语言中,恰当的使用方法,将使程序更加优雅,便于阅读和使用。下面就来介绍方法声明的语法格式。
7.2 方法声明
方法声明写在代码中类声明的内部,方法声明的外部,伪代码如下:
public class Hello{
方法声明1
方法声明2
……
}
在Java语言中,方法声明之间没有顺序。
方法声明,就是声明一种新的功能,或者说创造一种新的功能。例如以下是一个求int数据绝对值的方法声明代码:
publicintabs(int n){
if(n > 0){
return n;
}else{
return –n;
}
}
这里就实现了求int值绝对值的功能,为了使该功能通用,使用一个参数n代表需要求绝对值的数值,在方法内部使用求绝对值的逻辑:正数的绝对值是自身,负数的绝对值是相反数,使用return语句将方法运算的结果返回。
具体方法声明的语法格式如下:
访问控制符[修饰符]返回值类型方法名称(参数列表){
方法体
}
在实际声明一个方法时,需要依次确定以上内容。下面是具体的说明:
1、访问控制符
访问控制符限定方法的可见范围,或者说是方法被调用的范围。方法的访问控制符有四种,按可见范围从大到小依次是:public、protected,无访问控制符,private。其中无访问控制符不书写关键字即可。具体的范围在后续有详细介绍。
2、修饰符
修饰符是可选的,也就是在方法声明时可以不书写。
修饰符是为方法增加特定的语法功能,对于方法实现的逻辑功能无影响。方法的访问控制符有五个,依次是:
ustatic——静态的
ufinal——最终的
uabstract——抽象的
usynchronized——同步的
unative——本地的
具体修饰符的作用在后续内容中将详细介绍。
3、返回值类型
返回值类型是指方法功能实现以后需要得到的结果类型,该类型可以是Java语言中的任意数据类型,包括基本数据类型和复合数据类型。如果方法功能实现以后不需要反馈结果,则返回值类型书写为void。
在实际书写方法时,需要首先考虑一下方法是否需要反馈结果,如果反馈结果,则结果的类型是什么?这个根据方法的需要进行确定,例如上面求绝对值的方法,int类型的绝对值还是int类型,所以把返回值类型做成int型。
在方法声明里声明返回值类型,便于方法调用时获得返回值,并对返回值进行赋值以及运算等操作。
4、方法名称
方法名称是一个标识符,用来代表该功能块,在方法调用时,需要方法名称来确定调用的内容。
为了增强代码的可读性,一般方法名称标识符和该方法的功能一直,例如实现数组排序的方法,可以将方法名称设定为sort。
在Java编码规范中,要求方法的首字母小写,而方法名称中单词和单词间隔的第一个字母大写,例如bubbleSort。
5、参数列表
参数列表是声明方法需要从外部传入的数据类型以及个数,例如上面求int类型绝对值的方法,每次需要从外部传入一个int类型的值,这就需要在参数列表部分进行声明,语法格式为:
数据类型参数名称
多个参数时的格式为:
数据类型参数名称1,数据类型参数名称2,……
声明参数时,类型在前,名称在后,如果有多个参数时,参数和参数之间使用逗号进行分割。
参数的值在方法调用时进行指定,而在方法内部,可以把参数看作是已经初始化完成的变量,直接进行使用。
参数列表部分是方法通用性的最主要实现部分,理论上来说,参数越多,方法的通用性越强,在声明方法时,可以根据需要确定参数的个数,以及参数的类型。参数在参数列表中的排列顺序只和方法调用时有关。
6、方法体
方法体是方法的功能实现代码。方法体部分在逻辑上实现了方法的功能,该部分都是具体的实现代码,不同的逻辑实现代码区别会比较大。
在方法体部分,如果需要返回结果的值,则可以使用return语句,其语法格式为:
return 结果的值;
或无结果返回时:
return;
如果方法的返回值类型不是void,则可以使用return返回结果的值,要求结果值的类型和方法声明时返回值类型必须一致。如果返回值类型是void时,可以使用return语句实现方法返回,而不需要返回值。当代码执行到return语句时,方法结束,所以return语句的后续书写顺序的代码,例如:
return 0;
int n = 0;//语法错误,永远无法执行到该语句
另外,如果返回值类型不是void时,需要保证有值返回,例如下面的方法就有语法错误:
public int test(int a){
if(a < 0){
return 0;
}
}
则该方法的声明代码中,当a的值大于等于零时,则没有返回值,这语法上称作返回值丢失,这个也是在书写return语句时需要特别注意的问题。
分享到:
评论

相关推荐

    java编程那些事儿

    ### Java编程那些事儿 #### 程序设计概述与核心要素 **程序设计**,作为一项专业技能,涉及将现实世界的问题转化为计算机可执行的指令序列。它不仅仅是一门技术,更是一种思维方式的体现。本章节将从三个方面展开...

    Java编程那些事儿

    ### Java编程那些事儿 #### 程序设计概述与核心要素 **程序设计**,作为一项专业技能,涉及将现实世界的问题转化为计算机可执行的指令序列。本文将围绕《Java编程那些事儿》这本书的部分内容,深入浅出地探讨程序...

    java编程那些事儿-陈跃峰71-102

    《Java编程那些事儿》是陈跃峰先生的一本关于Java编程技术的著作,该书深入浅出地介绍了Java编程中的重要概念和实践技巧。这里我们主要聚焦于压缩包中的部分内容,涉及Java集合框架、时间日期处理、文件操作、多线程...

    java编程那些事儿-陈跃峰31-70

    《Java编程那些事儿》是陈跃峰先生的一本关于Java编程技术的著作,虽然在网络上可能难以找到完整的电子版,但通过你提供的文件名列表,我们可以梳理出一系列关键知识点,这些都是学习Java编程过程中不可或缺的部分。...

    Java编程那些事儿[完整版]PDF(无加密版)

    ### Java编程那些事儿 #### 序言 《Java编程那些事儿》是一本旨在帮助Java初学者快速入门并掌握Java编程技巧的书籍。本书由陈跃峰老师撰写,并由云低夕落人归进行整理,最终形成PDF版本上传至CSDN。 #### 程序设计...

    Android中JNI编程的那些事儿

    这篇博文“Android中JNI编程的那些事儿”可能涵盖了JNI的基础知识、使用技巧以及常见问题。 1. JNI基础知识: - JNI接口定义:JNI提供了一系列的函数接口,使得Java和本地代码可以互相调用。 - JNIEnv指针:...

    编程的那些事儿.pdf

    综上所述,《编程的那些事儿》一书通过作者的独特视角探讨了编程领域的多个重要概念和技术,包括抽象思维、设计的重要性、类型设计以及面向对象编程等。这些观点对于初学者和有经验的开发者来说都具有很高的参考价值...

    Android中JNI编程的那些事儿.docx

    - 首先,在Java类中声明`native`方法,例如`public static native String sayHello(String name);` - 使用`javah`命令(或者在Android Studio中通过Gradle构建过程)生成对应的头文件(如`com_okwap_testjni.h`)...

    Java那些必须知道的事儿_CodingPark

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。了解其核心概念对于成为一名合格的Java开发者至关重要。以下是一些Java开发者必须掌握的关键知识点: 1. **Java对象实例化**: - **new ...

    Java編程的那些事

    ### Java编程那些事儿:深入解析程序设计与Java基础 #### 程序设计:核心概念与实践 程序设计,作为一门技术学科,旨在通过特定的编程语言将人类的思考过程和解决问题的方法转化为计算机可执行的指令。这不仅要求...

    java初级入门

    **1.1 Java编程那些事儿1——序言** 本章节主要介绍了作者撰写这本书的目的和背景,旨在帮助编程初学者更好地理解和掌握Java编程的基础知识。书中强调了通过通俗易懂的语言来解释复杂的概念,并计划覆盖以下核心...

    Spring LoadTimeWeaver 的那些事儿

    在Java开发领域,Spring框架是应用最广泛的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器之一。LoadTimeWeaving(LTW)是Spring框架提供的一种动态织入AOP代理的机制,它允许在类加载时进行...

    spring3.0+hibernate3.5整合那些事儿

    本文将深入探讨"Spring 3.0 + Hibernate 3.5整合那些事儿",结合给出的标签"源码"和"工具",我们将讨论如何将这两个强大的框架结合在一起,以及在整合过程中可能遇到的问题和解决方案。 首先,Spring是一个全面的...

    《Android那些不得不说的事儿》 PDF

    《Android那些不得不说的事儿》这本书深入浅出地探讨了Android平台开发的各种关键知识点和技术细节,对于想要深入了解Android开发的读者来说是一本不可多得的参考资料。以下是对书中的部分核心内容进行的详细解读: ...

    JDK1.8 API 中文 谷歌精准翻译高清版本

    **JDK1.8 API中文谷歌精准翻译高清版本**是Java开发者的重要参考资料,它提供了对JDK1.8中所有类、接口、方法和构造器的详细描述,帮助程序员理解和使用Java开发工具包中的功能。这份文档是用中文翻译的,使得中文...

Global site tag (gtag.js) - Google Analytics