这一节我们学习java语言中的函数概念和定义格式.
简单的说,函数也就是方法.
那么什么是函数呢?
函数就是定义在类中的具有特定功能的一段独立小程序.我们可以看到,这里面比较需要注意的词语,一个就是具有特定功能,另一个就是独立.
我们知道了函数的概念,那么在java中怎么定义呢?我们先看一个简单方法的例子.
~~~
//普通方法,有返回值,返回两上整数的和
public static int add(int a,int b)//没有static时报错
{
return a+b;
}
~~~
上面的例子就是一个简单的函数,返回两个整数的和.
我们可以看到函数的格式如下:
~~~
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,....)
{
执行语句;
return 返回值;
}
~~~
这里面几个定义注意一下:
返回值类型就是这个函数返回结果的数据类型.
参数类型就是对应形式参数的数据类型.
形式参数是一个变量,用于存储调用函数时传给函数的实际参数.
实际参数是传递给形式参数的具体数值.
return用于结束语句.
返回值该函数运算后的结果,会返回给调用者.
我们知道,有些函数是不需要返回值的,那么这种情况怎么处理呢?返回值应该怎么体现呢?
在java中返回类型用void关键字表示该函数没有返回值.
注意:如果返回值类型是void,那么函数中的return语句可以省略不写.
我们看一没有返回值的小例子
~~~
//没有返回值的函数
public static void myPrint()
{
System.out.println("Hello Java");
//return ;//这句话可以不写
}
~~~
上面的这个输出函数就是一个没有返回值的函数了,用了void关键字.
我们来看一下这两个小函数是怎么被调用的.
~~~
class FunctionDemo
{
public static void main(String[] args)
{
int a = 3;
int b = 4;
int c = add(a,b);
System.out.println("c="+c);
/*
注意:函数中只能调用函数,不能定义函数
public static void myPrint()
{
System.out.println("hello java");
}
myPrint();
*/
}
//普通方法,有返回值,返回两上整数的和
public static int add(int a,int b)//没有static时报错
{
return a+b;
}
//没有返回值的函数
public static void myPrint()
{
System.out.println("Hello Java");
//return ;//这句话可以不写
}
}
~~~
上面的main函数中调用了add函数.同时我们也看到了一个需要我们特别注意的细节:
就是函数中只能调用函数,不能定义函数.
我们看了函数的定义之后,我们就不得不思考,定义函数有什么特点呢?
定义函数可以将功能代码进行封装,提高了代码的复用性,便于对对功能进行复用;
我们总结了3点应该注意的细节:
1.函数中只能调用函数,不能定义函数
2.定义函数时,函数的结果应该返回给调用者,交由调用者处理
3.函数只有被调用才会被执行
- 前言
- 1.1 基本常识
- 1.2 Java语言概述
- 1.3 Java语言的环境搭建
- 1.4 Java程序开发之初体验--Hello World
- 2.1 关键字
- 2.2 标识符
- 2.3 注释
- 2.4 常量
- 2.5 进制扫盲
- 2.6 变量和数据类型(1)
- 2.7 变量和数据类型(2)
- 2.8 运算符
- 3.1 if语句
- 3.2 switch语句
- 3.3 while和do-while语句
- 3.4 for语句
- 3.5 for循环的嵌套
- 3.6 break语句与continue语句
- 4.1 函数的定义
- 4.2 定义函数的两个明确
- 4.3 函数的内存加载过程
- 4.4 函数的重载
- 5.1 数组的定义
- 5.2 数组的内存分配及特点
- 5.3 数组操作中常见问题
- 5.4 数组常用操作(1)
- 5.5 数组常用操作(2)
- 5.6 二维数组
- 6.1 面向对象的概述
- 6.2 类与对象的关系
- 6.3 对象的内存体现
- 6.4 成员变量与局部变量
- 6.5 类类型参数与匿名对象
- 6.6 基本数据类型参数与引用数据类型参数的传递过程
- 6.7 封装
- 7.1 构造函数概述与默认构造函数
- 7.2 构造函数与一般函数的区别
- 7.3 构造函数的重载
- 7.4 构造函数的内存加载
- 7.5 构造函数需要注意的几个细节
- 7.6 this关键字的原理
- 7.7 this关键字的细节与应用
- 8.1 static关键字之特点
- 8.2 成员变量与静态变量的区别
- 8.3 static关键字使用的注意细节
- 8.4 main函数的解析与细节
- 8.5 static关键字的使用场景
- 8.6 静态的内存加载
- 8.7 静态代码块
- 8.8 构造代码块
- 9.1 继承
- 9.2 单继承与多重继承
- 9.3 子父类中成员变量特征体现