Java也有着函数的概念,不过在OOP中,函数用作方法称呼

函数的定义

函数就是定义在类中的具有特定功能的一段独立小程序

函数也称为方法

函数的格式

  1. 修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2,) {
  2. 执行语句;
  3. return 返回值;
  4. }
  • 返回值类型:函数运行后的结果的数据类型
  • 参数类型:是形式参数的数据类型
  • 形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数
  • 实际参数:传递给形式参数的具体数值
  • return:用于结束函数
  • 返回值:该值会返回给调用者

函数的特点

  • 定义函数可以将功能代码进行封装
  • 便于对该功能进行复用
  • 函数只有被调用才会被执行
  • 函数的出现提高了代码的复用性
  • 对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。

注意:

  • 函数中只能调用函数,不可以在函数内部定义函数
  • 定义函数时,函数的结果应该返回给调用者,交由调用者处理

函数的应用

两个明确

  • 明确要定义的功能最后的结果是什么
  • 明确在定义该功能的过程中,是否需要未知内容参与运算

示例:

需求:定义一个功能,可以实现两个整数的加法运算

分析:

  • 该功能的运算结果是什么?两个数的和,也是一个整数(int)
  • 在实现该功能的过程中是否有未知内容参与运算?加数和被加数是不确定的。(两个参数int,int)
  • 代码:
  1. int getSum(int x,int y) {
  2. return x + y;
  3. }

函数的重载

  • 重载的概念

    在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可

  • 重载的特点:与返回值类型无关,只看参数列表

  • 重载的好处:方便于阅读,优化了程序设计

  • 重载示例:

  1. //返回两个整数的和
  2. int add(int x,int y){
  3. return x + y;
  4. }
  5. //返回三个整数的和
  6. int add(int x,int y,int z){
  7. return x + y + z;
  8. }
  9. //返回两个小数的和
  10. double add(double x,double y){
  11. return x + y;
  12. }

说明

这里只是引出函数的概念,关于函数在类的部分会详细介绍

Java学习笔记-函数的更多相关文章

  1. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  2. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  3. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  4. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  5. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  6. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  7. java学习笔记15--多线程编程基础2

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...

  8. java学习笔记14--多线程编程基础1

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...

  9. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

随机推荐

  1. Android特定语言 Xtendroid

    Xtendroid是一款Android的领域特定语言,它大大降低样板代码,同时提供巨大的工具支持.Xtendroid利用Xtend transpiler实现,它的特点是能够在Java代码编辑或编译期间 ...

  2. 了解 Spring Boot

    Spring Boot是什么,解决哪些问题? SpringBoot是伴随着Spring4.0诞生的: 从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架: S ...

  3. asp.net用sql数据库生成json字符串并显示出来

    use Shop ,) )) insert into DictBase select '包装' UNION ALL select '价格' UNION ALL select '品牌' 工厂方法模式 I ...

  4. 分页控件Webdiyer.MvcPager

    MVC 1.安装控件 install-package Webdiyer.MvcPager 2.Cotroller using System; using System.Collections.Gene ...

  5. Greenplum 的发展历史

    一.Greenplum的发展历史 Greenplum的发展可以分为下面6个阶段:   图 1 Greenplum时间线 Postgres关系型数据库.Postgres是UC Berkeley开发的关系 ...

  6. [Luogu] 八数码难题

    https://www.luogu.org/problemnew/show/P1379 long long ago 暴力bfs #include <iostream> #include & ...

  7. Codevs 1768 种树 3(差分约束)

    1768 种树 3 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 为了绿化乡村,H村积极响应号召,开始种树了. H村里有n幢 ...

  8. django报错TypeRError:__init__() missing 1 required positional argument: 'on_delete'

    在添加外键的时候,在括号里添加on_delete=models.CASCADE即可 on_delete=models.CASCADE是级联删除的意思,意思就是说当你更新或删除主键表,那外键表也会跟随一 ...

  9. plus.zip.compressImage 压缩报错{"code":-5,"message":"输出图片失败"}

    var pathCompress = "_doc/" + getNowFormatDate(new Date()) + ' ' + Math.random() + ".c ...

  10. @Transactional注解不生效的原因总结(整理网上和自己遇到的解决方案)

    1.问题背景 今天做项目,发现配置好@Transactional后,没有生效,事务没有回滚,即便在网上查资料,也没有解决,好像网上没有人发过我遇见的这种情况的帖子. 2.自己遇到的情况分析 代码结构图 ...