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. 部分按值部分按引用? 此处暂不宣布正确答案,我们通过一个简 ...
随机推荐
- BZOJ 3462 DZY Loves Math II ——动态规划 组合数
好题. 首先发现$p$是互质的数. 然后我们要求$\sum_{i=1}^{k} pi*xi=n$的方案数. 然后由于$p$不相同,可以而$S$比较小,都是$S$的质因数 可以考虑围绕$S$进行动态规划 ...
- PowerDesigner数据模型(CDM—PDM—SQL脚本的转换流程)
原文地址:PowerDesigner数据模型(CDM-PDM-SQL脚本的转换流程)作者:zzenglish 有图片的参考http://blog.sina.com.cn/s/blog_64742675 ...
- rpm包安装mysql5.6.*版本
1.查看是否已经安装Mysql rpm -qa | grep -i mysql #删除已经安装的Mysql程序 rpm -ev *****.rpm 2.检查是否还有残留mysql文件夹 find / ...
- SQLServer Split
ALTER FUNCTION dbo.splitl ( @String VARCHAR(MAX), @Delimiter VARCHAR(MAX) ) RETURNS @temptable TABLE ...
- duilib入门简明教程 -- 界面布局(9) (转)
原文转自:http://www.cnblogs.com/Alberl/p/3343806.html 上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的 ...
- 00.mp4v2工具的用法
1.交叉编译mp4v2库# ./configure --prefix=/usr/local/mp4v2-2.0.0 --host=arm-hisiv300-linux CC=arm-hisiv300 ...
- guacamole 基本学习使用
基本介绍: Guacamole 是一个基于 HTML 5 和 JavaScript 的 VNC 查看器,服务端基于 Java 的 VNC-to-XML 代理开发.要求浏览器支持HTML5. Apach ...
- LeetCode OJ-- Binary Tree Maximum Path Sum ***
https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/ 给一棵二叉树,路径可以从任一点起,到任一点结束,但是可以连成一个路径的.求 ...
- 洛谷 P1618 三连击(升级版)【DFS/next_permutation()/技巧性枚举/sprintf】
[链接]:https://www.luogu.org/problemnew/show/P1618 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试 ...
- Fiddler简介以及web抓包
Fiddler简介以及web抓包 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.Fiddler简介简单来说,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联 ...