Java函数的基本知识
主要从Java函数的定义,函数的特点,函数的应用,函数的重载四个方面来讲解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函数的基本知识相关推荐
- 盘点JavaScript函数的基本知识
本文旨在提供web开发人员必须了解的所有JavaScript函数的基本知识. 函数于软件开发者而言并不是什么奇幻世界.如果你的日常活动涉及到编码,哪怕是一点点,那么在一天结束的时候,你一定创建/修改了 ...
- [Python学习] 专题一.函数的基础知识
最近才开始学习Python语言,但就发现了它很多优势(如语言简洁.网络爬虫方面深有体会).我主要是通过<Python基础教程>和"51CTO学院 智普教育的pyt ...
- Java尚硅谷核心知识
Java尚硅谷核心知识 一.Java基础部分 1.1 Java语言的主要特性 1.2 Java程序运行机制及运行过程 1.2.1Java两种核心机制 1.3Java语言的环境搭建 1.3.1 为什么要 ...
- *Java软件开发面试知识整理*
Java软件开发面试知识整理 围绕以下几点回答问题:是什么.为什么.什么时候用.项目实现.解决什么问题.遇到的困难 谈谈你对Java和C的理解? Java: 面向对象.Unicode:可以跨平台(JV ...
- java to go 基础知识与区别入土指南
java to go 基础知识与区别入土指南 文章目录 java to go 基础知识与区别入土指南 @[toc] 基础篇 关于基础类型 关于复合数据类型 关于切片 关于Map 关于sync.map ...
- 资料搜集-JAVA系统的梳理知识6-JAVA多线程
点击关注[公众号](#公众号 "公众号")及时获取笔主最新更新文章,并可免费领取本文档配套的<Java 面试突击>以及 Java 工程师必备学习资源.<!-- T ...
- java 泛型 默认值_java泛型 Java泛型的入门知识
在学习java的过程当中,我们就肯定会接触到java泛型,那么你知道java泛型是什么吗,有关java的使用方法又有哪些呢?今天小编就从java泛型的使用方法来了解一下java泛型这一知识. java ...
- 【面试资料】 Java中高级核心面试知识解析
[面试资料] Java中高级核心面试知识解析 一.Java (一). 基础 (二). 容器 (三). 并发 (四). JVM 二.网络 (一). 计算机网络知识 (二). HTTPS中的TLS 三.L ...
- 2,Java语言基础-Java语言基本程序设计知识
Java语言基础 Java语言基本程序设计知识 1,JavaAPI概述 1.1,什么是API API是指应用程序接口( Application Program Interface, API),故名思意 ...
最新文章
- 扩增子图片解读7三元图:美的不要不要的,再多用也不过分
- 2019与下一个十年:我们将要放弃的和将要拥抱的
- Git使用汇总之工作区、暂存区、版本库
- 操作系统原理第五章:CPU调度
- 汤晓鸥谈深度学习三大核心要素:算法设计、高性能的计算能力以及大数据
- java程序有连接数据库_Java程序连接数据库
- 加速DeiT-S 60%+吞吐量!腾讯优图提出高性能Transformer加速方法
- 实战系列-Spring Cloud微服务中三把利器Feign、Hystrix、Ribbon
- 带文件卖面,老坛酸菜面重回超市货架!你会买账吗?京东、淘宝依然屏蔽
- 个人网络安全从业心得
- BZOJ1085:[SCOI2005]骑士精神——题解+IDA*粗略讲解
- 利用Apache POI操作ppt模板
- python小波去噪实验
- ps 毛发 边缘,抠图技巧,抠图后头发边缘的颜色怎处理
- Cannot run program “D:\jdk8\bin\java.exe“ (in directory “C:\Users\Administrator\AppData\Local\JetBra
- 数字电视DVB-T/T2/C/S/S2,ATSC,ISDB-T参数设置
- 什么软件可以室内导航?怎样使用导航地图导航?
- 你想要的宏基因组-微生物组知识全在这(1905)
- 用 Python 找出了拉黑 QQ 空间屏蔽我的大人物
- 在团体沙盘游戏实操中分析“自我、本我、超我”