函数(方法)讲解的内容
1.函数的定义
2.函数的特点
3.函数的应用
4.函数的重载
函数-定义
什么是函数
函数就是定义在类中的具有特定功能的一段独立小程序.
函数也称为方法
public static int add(int i,int j){ return i+j; } }
函数-格式
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,..)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后得到的结果的数据类型.
参数类型 : 是形式参数的数据类型
形式参数 : 是一个变量,用于存储调用函数时传递给函数的实际参数(参加运算的数据)
实际参数 :传递给形式参数的具体数值
return :用于结束函数.
返回值 :该函数运算后的结果,该结果会返回给调用者.
- public class methodDemo {
- public static void main(String[] args) {
- int x = 3;
- int z = 5;
- int c = add(x,z);
- System.out.println(c);
- }
- public static int add(int i,int j){
- return i+j;
- }
- }
函数-细节
/**
* 特殊情况:
* 功能没有具体的返回值.
*
* 这时return的后面直接用分号结束.
* 返回值类型怎么体现呢?因为没有具体值,所以不可以写具体的数据类型.
* 在java中只能用意个关键字来表示这种情况,关键字是:void
*
* 总结:没有具体返回值时,返回值类型用void来表示
*/
public void testmethod(){
return ;
}
函数-特点
定义函数可以将功能代码进行封装
便于对该功能进行服用
函数只有被调用才会被执行
函数的出现提高了代码的复用性
注意:
函数中只能调用函数,不可以再函数内部定义函数
定义函数时,函数的结果应该返回给调用者,交由调用者处理
函数-两个明确
明确一:这个功能的结果是什么?
是和(加法运算)是功能的结果,所以该功能的返回类型是int
其实就是在明确函数的返回值类型.
明确二:这个功能实现过程中是否需要未知内容参与运算?
有,加数和被加数,这就是函数的参数列表(参数的个数,参数的类型)
其实就是在明确参数列表
注意: 返回值类型和参数类型没有直接关系
public static void int add(int i,int y){
int number=i+y;
return number
}
/*两个参数比较*/
public static boolean equals(int a ,int b){
return a==b;
}
函数-内存加载过程
public class FunctionDemo2 {
/*
* javac:命令是启动java编程器程序 对给定的java程序进行编译和检查
* 如果编译没有错误的情况下会生成java运行程序.class文件
*"/> javac FunctionDemo2.java--->FunctionDemo2.class
*
*java:启动虚拟机 运行java应用程序 在运行该java类的时候会去找该类中的main方法参数为(String[] str)方法
*"/> java FunctionDemo2
*/
public static void main(String[] args) {
int x = add(3,5);
System.out.println("x="+x);
}
public static int add(int a,int b){
return a+b;
}
}
内存 栈的变化先进后出 原理与弹夹类似
函数-重载
重载的概念:
在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或参数类型不同即可
重载的特点:
与返回值类型无关,只看参数列表
重载的好处:
方便与阅读,优化了程序设计.
重载示例:
//返回两个参数的和
int add(int x,inty ){return x+y}
//返回三个整数的和
int add(int x,int y,int z){return x+y+z}
//返回两个小数的和
double add(double x,double y){return x+y};
public class OverLoad {
/*函数的重载
* 1.同一个类
* 2.同名
* 3.参数个数不同 或 参数类型不同
* 4.函数重载和返回值类型无关
* 5.java是严谨性语言,如果函数出现的调用的不确定性,会编译失败
*/
public static void main(String[] args) {
printCFB(5);
}
public static int add(int a,int b){
return a+b;
}
public static double add(double a,double b){
return a+b;
}
public static int add(int a,int b,int c){
return add(a,b)+c;
}
/*打印指定的乘法表*/
public static void printCFB(int num){
for(int x = 1;x<num;x++){
for(int y = 1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
/*打印99乘法表*/
public static void printCFB(){
/*着块的代码一样所以还可以重载
* for(int x = 1;x<num;x++){
for(int y = 1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}*/
//重载后写法
printCFB(9);
}
}
相关推荐
第二步是调用诸如 getDeclaredMethods 的方法; 第三步使用 反射API 来操作这些信息。 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第7页。 3.2.5 反射机制的应用场景 Java反射机制是在运行...
一、规范的代码可以促进团队合作 二、规范的代码可以减少bug处理 三、规范的代码可以降低维护成本 四、规范的代码有助于代码审查 五、养成代码规范的习惯,有助于程序员自身的成长 Java高级程序设计实战教程第一章-...
python将变量i的值增加1_Python基础教程之第⼆章---变量和 字符串(1)搬运 Python变量及其使⽤ ⽆论使⽤什么语⾔编程,其最终⽬的都是对数据进⾏处理。程序在编程过程中,为了处理数据更加⽅便,通常会将其存储在...
你最爱的Java 搞懂了这几点,你就学会了Web...Java帝国之 函数式编程(上) Java帝国之 函数式编程 (下) 关于Java初学者需要知道的10件事 Junit你不知道的那些事儿 Java EE的历史 Java EE读书指南 给小白的Java
认证指南的第二部分。 第一个指南涵盖 OCA 考试(我已经通过了),本指南涵盖了 OCP 考试(1Z0-809 考试)。 Oracle 官方文档 其他资源 另一个准备 Java 8 程序员 II 考试的指南 OCA指南 我在阅读 OCA 学习指南后的...
第3章 函数-------------------------------------------------------------102 3.1 简介------------------------------------------------------------102 3.2 C++程序组件----------------------------------...
第二部分 通过例子学习VTK 第4章 基础 4.1 创建1个简单的模型-------------------------------------------------------------------------24 程序化源对象----------------------------------------------------...
第二章 算法分析 1.算法分析是计算机科学的基础 2.增长函数表示问题(n)大小与我们希望最优化的值之间的关系。该函数表示了该算法的 时间复杂度或空间复杂度。增长函数表示与该问题大小相对应的时间或空间的使用 3....
第 一 章 Java概 述 § 1.1 Java语 言 出 现 的 背景 、 影 响 及 应 用 前 景 一 、 背 景 最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就是 Ja va语 言 和 用 Java编 写 的 浏 览 器...
第二章: 面向对象概述 15 学习目标 15 面向对象(Object Oriented) 16 面向对象的主要特性 18 抽象(Abstraction) 18 封装(Encapsulation): 19 多态(Polymorphism) 20 面向对象的优点 22 面向对象的分析、设计和编程...
1.5.3 带有限制的通配符 1.5.4 泛型static方法 1.5.5 类型限界 1.5.6 类型擦除 1.5.7 对于泛型的限制 1.6 函数对象 小结 练习 参考文献第2章 算法分析 2.1 数学基础 2.2 模型 2.3 要分析的...
1.5.3 带有限制的通配符 1.5.4 泛型static方法 1.5.5 类型限界 1.5.6 类型擦除 1.5.7 对于泛型的限制 1.6 函数对象 小结 练习 参考文献第2章 算法分析 2.1 数学基础 2.2 模型 2.3 要分析的...
第1章 Java应用分层架构及软件模型 1.1 应用程序的分层体系结构 1.1.1 区分物理层和逻辑层 1.1.2 软件层的特征 1.1.3 软件分层的优点 1.1.4 软件分层的缺点 1.1.5 Java应用的持久化层 1.2 软件的模型 ...
第1章 Java概述、安装及简易教学 14 1-1 Java概述 14 1-2 Java安装 16 1-3 Eclipse安装 18 1-4 GUI设计工具WindowBuilder 18 1-5 在Eclipse开发第一个Java程式 23 1-6 在Eclipse开发第一个Java视窗程式-显示影像 26 ...
示例描述:本章介绍开发Java的基础语法知识。 accumulationByDoWhile.java 用do~while语句写的累加程序 accumulationByFor.java 用for语句写的累加程序 accumulationByWhile.java 用while语句写的累加程序 ...
第1章 什么是Java程序设计语言 1 1.1 Java语言诞生背景 1 1.2 Java语言的特点 1 1.2.1 可移植性(universality) 1 1.2.2 安全性(security) 1 1.2.3 Java Virtual Machine(JVM) 2 1.2.4 面向对象的程序...
第二章 1程序语言的发展 2面向机器(机器语言、汇编语言) 3面向过程 4面向对象 5面向对象的三个特性 6继承,多态和封装。 第三章 1 接口 2 包 3 访问权限 第四章 1什么是异常 2 异常的处理 3 自定义异常类的使用...
Java数据结构和算法中文第二版(1) Java数据结构和算法中文第二版(2) 【内容简介】 本书可帮助读者: 通过由基于JAVA的演示所组成的可视专题讨论来掌握数据结构和算法 学会如何为常见和不太常见的编程条件选择...