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

函数的定义

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

函数也称为方法

函数的格式

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

函数的特点

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

注意:

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

函数的应用

两个明确

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

示例:

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

分析:

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

函数的重载

  • 重载的概念

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

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

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

  • 重载示例:

//返回两个整数的和
int add(int x,int y){
return x + y;
} //返回三个整数的和
int add(int x,int y,int z){
return x + y + z;
} //返回两个小数的和
double add(double x,double y){
return x + y;
}

说明

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

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. BZOJ 2127 / Luogu P1646 [国家集训队]happiness (最小割)

    题面 BZOJ传送门 Luogu传送门 分析 这道题又出现了二元关系,于是我们只需要解方程确定怎么连边就行了 假设跟SSS分在一块是选文科,跟TTT分在一块是选理科,先加上所有的收益,再来考虑如何让需 ...

  2. deferred.pipe([doneFilter],[failFilter],[progressFilter])

    deferred.pipe([doneFilter],[failFilter],[progressFilter]) 概述 筛选器和/或链Deferreds的实用程序方法. deferred.pipe( ...

  3. JAVA类的无参方法

    Java注释:                //:单行注释                /**/:多行注释                /**    */:JavaDoc注释    方法:   ...

  4. Vue Parent Send Ajax Data to Child Component

    Vue 父组件ajax异步更新数据,子组件props获取不到 2018年06月26日 09:25:06 哎哟嘿 阅读数 3585   当父组件  axjos  获取数据,子组件使用  props  接 ...

  5. KiCad:Cursor Ghosting

    造冰箱的大熊猫@cnblogs 2019/8/11 装下KiCad学习下,结果鼠标在界面上划过时,留下一串鼠标残影,原来英文管这个叫“cursor ghosting”. 解决方法:依旧粗暴简单,从官网 ...

  6. Linux进程通信之mmap

    mmap()函数: void *mmap(void* addr,size_t length,int port,int flags,int fd,off_t offset); 返回:成功:返回创建的映射 ...

  7. 数据结构实验之栈与队列二:一般算术表达式转换成后缀式(SDUT 2132)

    题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; int ok(char ch, char ...

  8. 实战 Prometheus 搭建监控系统

    实战 Prometheus 搭建监控系统 Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个在线音乐分享的平台,类似于 ...

  9. js 选择文本

    怎么用js脚本,选中文本呢? // 获取selection对象 var selection = window.getSelection(); // 清空selection对象 selection.re ...

  10. Tomcat部署时war和war exploded区别以及如何实现热部署

    war和war exploded的区别       使用IDEA配置Tomcat服务的时候,在 Select Artifacts to Deploy 选项中相同项目名有war和 war explode ...