主要从Java函数的定义,函数的特点,函数的应用,函数的重载四个方面来讲解Java函数。

一、函数的定义
    函数就是定义在类中的具有特定功能的一段独立程序,也称为方法

注意:函数是定义在类中,而不能在函数中定义函数。

二、函数的格式


修饰符  返回值类型  函数名参数类型 形式参数1, 参数类型 形式参数2, ...){    
    执行语句;
    return 返回值

示例代码:

 public static int getSum(int x, int y){return x+y;}

格式说明:

  • 修饰符:对函数的外加修饰,让函数具备更多的含义;
  • 返回值类型:函数运行后的返回的结果的数据类型;
  • 函数名:可自行定义,只要不和系统关键字等冲突。建议取有意义的名称,书写规范为动名词结合,若为多单词组合,则第一个单词首字母小写,后面的单词首字母大写,如getSum,表示获取求和的值。
  • 参数类型:是指形式参数的数据类型;
  • 形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数;
  • 实际参数:传递给形式参数的具体数值;
  • return:用于结束函数;
  • 返回值:作为函数的处理结果返回给调用者,其数据类型必须与“返回值类型”一样;

三、函数的特点

  1. 定义函数可以将功能代码进行封装;
  2. 便于对功能代码进行复用;
  3. 函数只有被调用才会被执行;
  4. 函数的出现提高了代码的复用性;
  5. 对于函数运算后,没有具体的返回值时,返回值类型用关键字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函数的基本知识相关推荐

  1. 盘点JavaScript函数的基本知识

    本文旨在提供web开发人员必须了解的所有JavaScript函数的基本知识. 函数于软件开发者而言并不是什么奇幻世界.如果你的日常活动涉及到编码,哪怕是一点点,那么在一天结束的时候,你一定创建/修改了 ...

  2. [Python学习] 专题一.函数的基础知识

            最近才开始学习Python语言,但就发现了它很多优势(如语言简洁.网络爬虫方面深有体会).我主要是通过<Python基础教程>和"51CTO学院 智普教育的pyt ...

  3. Java尚硅谷核心知识

    Java尚硅谷核心知识 一.Java基础部分 1.1 Java语言的主要特性 1.2 Java程序运行机制及运行过程 1.2.1Java两种核心机制 1.3Java语言的环境搭建 1.3.1 为什么要 ...

  4. *Java软件开发面试知识整理*

    Java软件开发面试知识整理 围绕以下几点回答问题:是什么.为什么.什么时候用.项目实现.解决什么问题.遇到的困难 谈谈你对Java和C的理解? Java: 面向对象.Unicode:可以跨平台(JV ...

  5. java to go 基础知识与区别入土指南

    java to go 基础知识与区别入土指南 文章目录 java to go 基础知识与区别入土指南 @[toc] 基础篇 关于基础类型 关于复合数据类型 关于切片 关于Map 关于sync.map ...

  6. 资料搜集-JAVA系统的梳理知识6-JAVA多线程

    点击关注[公众号](#公众号 "公众号")及时获取笔主最新更新文章,并可免费领取本文档配套的<Java 面试突击>以及 Java 工程师必备学习资源.<!-- T ...

  7. java 泛型 默认值_java泛型 Java泛型的入门知识

    在学习java的过程当中,我们就肯定会接触到java泛型,那么你知道java泛型是什么吗,有关java的使用方法又有哪些呢?今天小编就从java泛型的使用方法来了解一下java泛型这一知识. java ...

  8. 【面试资料】 Java中高级核心面试知识解析

    [面试资料] Java中高级核心面试知识解析 一.Java (一). 基础 (二). 容器 (三). 并发 (四). JVM 二.网络 (一). 计算机网络知识 (二). HTTPS中的TLS 三.L ...

  9. 2,Java语言基础-Java语言基本程序设计知识

    Java语言基础 Java语言基本程序设计知识 1,JavaAPI概述 1.1,什么是API API是指应用程序接口( Application Program Interface, API),故名思意 ...

最新文章

  1. 扩增子图片解读7三元图:美的不要不要的,再多用也不过分
  2. 2019与下一个十年:我们将要放弃的和将要拥抱的
  3. Git使用汇总之工作区、暂存区、版本库
  4. 操作系统原理第五章:CPU调度
  5. 汤晓鸥谈深度学习三大核心要素:算法设计、高性能的计算能力以及大数据
  6. java程序有连接数据库_Java程序连接数据库
  7. 加速DeiT-S 60%+吞吐量!腾讯优图提出高性能Transformer加速方法
  8. 实战系列-Spring Cloud微服务中三把利器Feign、Hystrix、Ribbon
  9. 带文件卖面,老坛酸菜面重回超市货架!你会买账吗?京东、淘宝依然屏蔽
  10. 个人网络安全从业心得
  11. BZOJ1085:[SCOI2005]骑士精神——题解+IDA*粗略讲解
  12. 利用Apache POI操作ppt模板
  13. python小波去噪实验
  14. ps 毛发 边缘,抠图技巧,抠图后头发边缘的颜色怎处理
  15. Cannot run program “D:\jdk8\bin\java.exe“ (in directory “C:\Users\Administrator\AppData\Local\JetBra
  16. 数字电视DVB-T/T2/C/S/S2,ATSC,ISDB-T参数设置
  17. 什么软件可以室内导航?怎样使用导航地图导航?
  18. 你想要的宏基因组-微生物组知识全在这(1905)
  19. 用 Python 找出了拉黑 QQ 空间屏蔽我的大人物
  20. 在团体沙盘游戏实操中分析“自我、本我、超我”

热门文章

  1. GridView选中状态
  2. 非诚勿扰php男嘉宾,非诚勿扰 php
  3. Python OpenCV开发MR智能人脸识别打卡系统(四、服务模块设计)
  4. 内部类有哪些好处?什么时候使用内部类
  5. Excel随机任意数的加减乘除法
  6. 关于mac地址,请各位大侠帮忙解决
  7. HMMER批量比对及结果处理
  8. js实现简单的购物车 有图有代码
  9. WPF使用SaveFileDialog对话框保存文件时不要用DialogResult.OK判断对话框正常关闭
  10. 用python画函数图像