Java函数的基本知识
一、函数的定义
函数就是定义在类中的具有特定功能的一段独立程序,也称为方法。
注意:函数是定义在类中,而不能在函数中定义函数。
二、函数的格式
修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2, ...){
执行语句;
return 返回值;
}
示例代码:
- public static int getSum(int x, int y){
- return x+y;
- }
格式说明:
- 修饰符:对函数的外加修饰,让函数具备更多的含义;
- 返回值类型:函数运行后的返回的结果的数据类型;
- 函数名:可自行定义,只要不和系统关键字等冲突。建议取有意义的名称,书写规范为动名词结合,若为多单词组合,则第一个单词首字母小写,后面的单词首字母大写,如getSum,表示获取求和的值。
- 参数类型:是指形式参数的数据类型;
- 形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数;
- 实际参数:传递给形式参数的具体数值;
- return:用于结束函数;
- 返回值:作为函数的处理结果返回给调用者,其数据类型必须与“返回值类型”一样;
三、函数的特点
- 定义函数可以将功能代码进行封装;
- 便于对功能代码进行复用;
- 函数只有被调用才会被执行;
- 函数的出现提高了代码的复用性;
- 对于函数运算后,没有具体的返回值时,返回值类型用关键字void表示,而且如果函数中的return语句如果在最后一行,则可以省略不写。
注意:
——函数中只能调用函数,不可以在函数内部定义函数。也就是说函数之间是平级的,没有包含关系,只有调用动作;
——定义函数时,函数的结果应该返回给调用者,交由调用者处理
四、函数的应用
函数体现的是一个独立的功能,所以在定义函数之前要有“两个明确”:
1、明确该功能的运算结果。目的是为了明确参数的返回值类型;
2、明确在定义该功能的过程中是否有未知的内容参与运算。也就是说,函数的具体内容我们是否能完全独立实现,还是要依赖调用者给我们的一些值才能具体实现;其目的是为了明确函数的参数列表(参数的类型和参数的个数)。
原则:
如何定义一个好的函数:尽量让函数只实现一个功能,这样能提高函数的复用。
示例代码:
- /*需求:输出一个矩形点阵
- * 思路:
- 1、功能结果是输出一个方形点阵,返回值类型是void;
- 2、有未知内容参与运算,有两个,分别代表方形的长和宽,这两个未知内容类型都是int型
- */
- public static void printRectangularLattice(int Length, int Width){
- for(int x=0; x<Length;x++){
- for(int y=0; y<Width;y++){
- System.out.print("*");
- }
- System.out.println();
- }
- return ;
- }
五、函数的重载(overload)
1、重载的概念:在同一个类中,允许存在一个以上的同名函数,只要这些同名函数的参数个数或者参数类型不同即可。
2、重载的特点:与返回值类型无关,只和参数列表有关。即JVM是通过参数列表来区分函数的。而参数列表相同,但返回值类型不同的同名函数不能同时存在与一个类中。
3、重载的好处:方便于阅读,优化了程序设计;
4、重载示例:(在同一个类中)
- //返回两个整数的和
- 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};
Java函数的基本知识的更多相关文章
- Java面试题-基础知识
参考文章:Java面试题-基础知识 基础能力 什么是值传递和引用传递 线程状态有哪些,它们之间是如何转换的 进程与线程的区别,进程间如何通讯,线程间如何通讯? HashMap的数据结构是什么?如何实现 ...
- Java快速入门-03-小知识汇总篇(全)
Java快速入门-03-小知识汇总篇(全) 前两篇介绍了JAVA入门的一系小知识,本篇介绍一些比较偏的,说不定什么时候会用到,有用记得 Mark 一下 快键键 常用快捷键(熟记) 快捷键 快捷键作用 ...
- java开发必学知识:动态代理
目录 1. 引言 2. 代理模式及静态代理 2.1 代理模式说明 2.2 静态代理 2.3 静态代理局限性 3. 动态代理 3.1 JAVA反射机制 3.2 JDK动态代理 3.2.1 JDK动态代理 ...
- [转帖]java必备的开发知识和技能
java必备的开发知识和技能 https://blog.csdn.net/qq_34405062/article/details/89389646 学习一下java 其实上学那会儿学的 早就过时加落伍 ...
- Java基础 之一 基本知识
Java基础 之一 基本知识 1.数据类型 Java有8种基本数据类型 int.short .long.byte.float.double.char.boolean 先说明以下单位之间的关系 1位 = ...
- Java 代码的基本知识(摘)
(摘自:Java经典入门教程) http://wenku.baidu.com/link?url=IoWI58cD5vzeHN-NL4pN7Gren-RfzydrhjDlETAByC9L-9ANinyL ...
- java函数参数默认值
java函数参数默认值 今天,需要设定java函数参数的默认值,发现按照其它语言中的方法行不通 java中似乎只能通过函数的重载来实现 函数参数默认代码
- JS调用Java函数--DWR框架
(1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJA ...
- Java函数参数传递方式详解
在阅读本文之前,根据自己的经验和理解,大家可以先思考并选择一下Java函数的参数传递方式: A. 是按值传递的? B. 按引用传递的? C. 部分按值部分按引用? 此处暂不宣布正确答案,我们通过一个简 ...
随机推荐
- [AGC004C] AND Grid [构造]
题面: 传送门 思路: 一眼看上去是一道很迷的题目......直到我发现,红蓝色涂色的过程是互相独立的 而且最外围没有紫色 那么可以这样操作: 最左边一列全部红色,最右边一列全蓝 然后中间的一行红一行 ...
- windows系统——常用命令
1.cleanmgr: 打开磁盘清理工具2.compmgmt.msc: 计算机管理3.conf: 启动系统配置实用程序4.charmap: 启动字符映射表5.calc: 启动计算器6.chkdsk.e ...
- 优化Angularjs的$watch方法
Angularjs的$watch相信大家都知道,而且也经常使用,甚至,你还在为它的某些行为感到恼火.比如,一进入页面,它就会调用一次,我明明希望它在我初始化之后,值再次变动才调用.这种行为给我们带来许 ...
- py2exe error: [Errno 2] No such file or directory: 'MSVCP90.dll'
使用 python setup.py py2exe 打包时出现 py2exe error: [Errno 2] No such file or directory: 'MSVCP90.dll' 解决方 ...
- SQL server 数据连接池使用情况检测
1.依据HOST_NAME请求session_id 查询 select DB_NAME(database_id) dbname,login_name,t1.session_id,t1.request_ ...
- java网络编程(二)
客户端程序: package net; import java.io.OutputStream; import java.net.Socket; /** * Created by hu on 2015 ...
- 远程连接linux和linux的网络配置
linux一般是作为服务器的,并不直接对其进行操作,并且由于地理位置的原因,我们需要对linux服务器进行远程连接. 首先我们要确定linux服务器是否安装了ssh服务,在linux服务器上安装ope ...
- manjaro中okular中的pdf文件无法显示中文
最近发现Manjaro下用Okular打开含有中文的PDF文档时,许多地方显示空白, 开始怀疑是中文字体问题,但是其他的软件中文显示都是正常的. 接着,调整Okular中的中文字体,显示还是不正常. ...
- why not ovp protection ?
HW MSM8917 PM8937 PMI8940 Question : Recently, I connect usb cable with 10V to the phone. Why does t ...
- javascript 数据类型的一些方法总结
字符串slice()与substring()的区别: 相同点:均接收两个参数,分别是子字符串的起始位置和终止位置.返回这两者之间的子字符串,不包括终止位置的字符.如果第2个参数不设置,则默认字符串的长 ...