函数的定义:

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

函数定义格式:

修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2,...)

{

执行语句;

return 返回值;

}

备注:

  • 如果函数没有具体的返回值,则返回值类型为 void; 此时,函数中 return 语句可以省略不写;
  • 函数返回值类型和参数类型没有直接关系

定义函数需要考虑两方面:

  1. 这个函数的结果是什么? 其实就是在明确函数的返回值类型
  2. 这个函数实现过程中是否需要未知内容参与运算? 即函数的参数列表(参数个数和参数类型)

注意:

  • 函数中只能调用函数,不可以在函数内部定义函数
  • 定义函数时, 函数运行的结果应该返回给调用者, 由调用者处理该结果
错误示例一:在主函数中定义函数
class FunctionDemo
{
public static void main(String[] args)
{
public static void myPrint()
{
System.out.println("Hello world!");
}
}
} 错误示例二:
根据考试成绩获取学生分数对应的等级:
90~100 A
80~89 B
70~79 C
60~69 D
60以下 E 分析: 函数结果: 对应的等级, 类型为字符, 即 char
函数参数: 学生分数, 类型为整型, 即 int public static char getLevel(int num)
{
char level;
if(num>=90 && num<=100)
level = 'A';
else if(num>=80 && num<=89)
level = 'B';
else if(num>=70 && num<=79)
level = 'C';
else if(num>=60 && num<=69)
level = 'D';
else if(num<60 || num>100)
level = 'E'; return level;
} 编译失败原因:
编译主要检查语法错误,不进行运算. 如果上述四个 else 都不满足, level 没有值, 相当于没有初始化.需要将最后一个 else if 该为 else.

函数的特点:

  1. 将功能代码进行封装
  2. 提高了代码的复用性

函数的重载

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

注意: 与返回值类型无关, 只看参数列表(参数个数或参数类型)

原因: java 是严谨性语言, 如果只有函数返回值不同, 会出现函数调用的不确定性, 编译失败.

参考资料:

JavaSE 基础视频(毕向东)

Java 语言基础之函数的更多相关文章

  1. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  2. 第二十三节:Java语言基础-详细讲解函数与数组

    函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...

  3. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  4. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  5. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  6. 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数

    Java基础 Java语言概述 Java语言 语言 描述 javaee 企业版 javase 标准版 javame 小型版 JDK JDK(Java开发工具包) Java语言 语言 Java语言 Ja ...

  7. 第二十五节:Java语言基础-面向对象基础

    面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...

  8. 【Java初探02】——Java语言基础

    本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...

  9. day04<Java语言基础+>

    Java语言基础(循环结构概述和for语句的格式及其使用) Java语言基础(循环结构for语句的练习之获取数据) Java语言基础(循环结构for语句的练习之求和思想) Java语言基础(循环结构f ...

随机推荐

  1. centos7和scientific linux7里面调出中文输入法

    默认安装后,却没有中文输入,于是研究以下,原来是没有调出来. 1.应用程序->系统工具->设置 2.选择“区域和语言” 3.这里默认会有一个汉语,如果没有,那么你当初选择安装的是英语,需要 ...

  2. unity的自带特性

    2016/9/24补充: unity官方有一篇文章对菜单扩展讲的不错 https://unity3d.com/cn/learn/tutorials/topics/interface-essential ...

  3. 矩阵乘法C语言实现

    /* 矩阵乘法C语言实现 Slyar 2009.3.20 */   #include <stdio.h> #include <stdlib.h>   /* 给 int 类型定义 ...

  4. structs2 获得表单数据

    http://blog.csdn.net/crazy_java1234/article/details/52766307

  5. 小马哥课堂-统计学-z分数

    Standard score(z-分数) The standard score is the signed number of standard deviations by which the val ...

  6. 谈一谈APP版本号问题

    如题:谈一谈APP版本号问题 为什么要谈这个问题,周五晚上11~12点,被微信点名,说APP有错,无效的版本号,商城无法下单.我正在准备收拾东西,周末回老家,结果看到这样问题,菊花一紧.我擦,我刚加的 ...

  7. 陷阱:C++模块之间的”直接依赖“和”间接依赖“与Makefile的撰写

    参考:http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ 参考:http://stackoverflow ...

  8. SPI—读写串行 FLASH

    SPI协议简介SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线.它被广泛地使用在 ADC. LCD ...

  9. linux学习笔记20--命令df和dh,fdisk

    df和dh是用来查看磁盘空间使用情况的. linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命 ...

  10. jQuery 实战读书笔记之第四章:使用特性、属性和数据

    使用属性 /* 每个元素都有一或多个特性,,这些特性的用途是给出相应元素或其内容的附加信息.(出自 JavaScript 高级程序设计) */ /* 特性是固有的 JavaScript 对象 属性指的 ...