Java 语言基础之函数
函数的定义:
- 函数就是定义在类中的具有特定功能的一段独立小程序
- 函数也称为方法
函数定义格式:
修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
备注:
- 如果函数没有具体的返回值,则返回值类型为 void; 此时,函数中 return 语句可以省略不写;
- 函数返回值类型和参数类型没有直接关系
定义函数需要考虑两方面:
- 这个函数的结果是什么? 其实就是在明确函数的返回值类型
- 这个函数实现过程中是否需要未知内容参与运算? 即函数的参数列表(参数个数和参数类型)
注意:
- 函数中只能调用函数,不可以在函数内部定义函数
- 定义函数时, 函数运行的结果应该返回给调用者, 由调用者处理该结果
错误示例一:在主函数中定义函数
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.
函数的特点:
- 将功能代码进行封装
- 提高了代码的复用性
函数的重载
概念: 在同一个类中, 允许存在一个以上的同名函数, 只要它们的参数个数或者参数类型不同即可.
注意: 与返回值类型无关, 只看参数列表(参数个数或参数类型)
原因: java 是严谨性语言, 如果只有函数返回值不同, 会出现函数调用的不确定性, 编译失败.
参考资料:
JavaSE 基础视频(毕向东)
Java 语言基础之函数的更多相关文章
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- 第二十三节:Java语言基础-详细讲解函数与数组
函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数
Java基础 Java语言概述 Java语言 语言 描述 javaee 企业版 javase 标准版 javame 小型版 JDK JDK(Java开发工具包) Java语言 语言 Java语言 Ja ...
- 第二十五节:Java语言基础-面向对象基础
面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...
- 【Java初探02】——Java语言基础
本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...
- day04<Java语言基础+>
Java语言基础(循环结构概述和for语句的格式及其使用) Java语言基础(循环结构for语句的练习之获取数据) Java语言基础(循环结构for语句的练习之求和思想) Java语言基础(循环结构f ...
随机推荐
- 并发insert情况下会发生重复的数据插入问题
1.背景 用多线程接收推送的订单数据,把接收的订单数据存到一个表中,实现的需求是:如果接收的订单消息在数据库中已经存在,那么执行update操作:如果没有存在,那么执行insert操作代码逻辑: if ...
- 5.14日学习内容1:jquery表单相关知识
<script> $comment.animate({height:'+=50'},400);//在原来的基础上加50: $('.smaller').click(function(){ i ...
- Java 调用 C/C++ 之 JNA 系列实战篇 —— 输出char * (六)
一. 工作环境 1. windows (64位), JDK (64位),dll文件 (64位) 2. Linux (64位), JDK (64位),so文件 (64位) 3. JNA的官方资 ...
- matlab hornerDemo
% a quick demo of Horner's method and its effects clear all close all % first a comparison of ways t ...
- 小型web服务器thttpd的学习总结(上)
1.软件的主要架构 软件的文件布局比较清晰,主要分为6个模块,主模块是thttpd.c文件,这个文件中包含了web server的主要逻辑,并调用了其他模块的函数.其他的5个模块都是单一的功能模块,之 ...
- CRM认识的误区
众所周知,CRM,就是平时说的“客户关系管理”,指用CRM来管理 企业与客户之间的关系.纵观整个IT圈子,做CRM的厂商比比皆是,每个厂商都有自己的产品宣言,令人眼花缭乱.但是领很多老板们不解的是,我 ...
- phoneGap 3.5 eclipise 模拟器调试
最近想搞phoneGap开发,可是一看 http://www.phonegapcn.com/ phoneGap中文网 FUCK .phoneGap 还在1.0.0 里混呢.现在phoneGap 3.5 ...
- Flow construction SGU - 176 有源汇有上下界最小流 二分法和回流法
/** 题目:Flow construction SGU - 176 链接:https://vjudge.net/problem/SGU-176 题意: 有源汇有上下界的最小流. 给定n个点,m个管道 ...
- 小程序WXML 使用小结
数据绑定 <view> {{message}} </view> // page.js Page({ data: { message: 'Hello MINA!' } }) 组件 ...
- 基于WebBrowser 的爬虫程序
WebBrowser的属性和事件 WebBrowser 如何跳转页面 web.Navigate(""); WebBrowser 如何循环跳转获取页面内容 bool loading ...