黑马程序员——函数
来源:互联网 发布:关于网络的作文500字 编辑:程序博客网 时间:2024/05/05 21:48
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一,函数的定义
什么是函数?
1, 函数就是定义在类中具有特定功能的小程序
2, 函数也称为方法
函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该函数运算后的结果,该结果会返回给调用者。
例如:定义一个功能完成整数的*3+5的运算。
class FunctionDemo{public static void main(String[] args) {int x = getResult(5);System.out.println(x);}public static int getResult(int num){ return num*3+5;}}
函数的特点:
定义函数可以将功能代码进行封装,便于对该功能进行复用。
函数只有被调用才会被执行。
函数的出现提高了代码的复用性。
对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。
注意:
a) 函数中只能调用函数,不可以在函数内部定义函数。
b) 定义函数时,函数的结果应该返回给调用者,交由调用者处理。
示例:执行下列代码:
错误提示如下:
为什么呢?
因为函数式int类型的,说明要返回一个int类型的值,可是函数是直接打印出来的,没有具体返回值,没有具体返回值,
就不能有具体返回值类型,所以会出错。
如何解决呢?
当函数运算后,没有具体返回值时,这时返回值类型用一个特殊的关键字来标识,该关键字就是void,void表示函数没
有具体返回值,当函数返回值是void时,函数中的return语句可以省略不写。
如何定义一个函数?
1,既然函数是一个独立的功能,明确要定义的功能最后的结果是什么。
因为这是明确函数的返回值类型。
2,明确在定义该功能的过程中,是否需要未知内容参与运算。
因为这是明确函数的参数列表。
练习:需求定义一个功能完成3+4的运算,并将结果返回给调用者
1,明确功能的结果,是一个整数的和。
2,在实现功能过程中是否有未知参数参与运算,没有。
其实这两个功能就是在明确函数的定义
1,明确函数的返回值类型。
2,明确函数的参数列表(参数的类型和参数的个数)
class FunctionDemo2{public static void main(String[] args) {int num = getSum();System.out.println("sum"+sum);}public static int getSum(){ return 3+4;}}
以上函数的功能,结果是固定的,毫无扩展性而言为了方便用户需求,由用户指定加数和被加数
这样功能才有意义。
思路:
1,功能结果是一个和,返回值类型是int。
2,有未知内容参与运算,有两个,这两个未知内容的类型都是int。
class FunctionDemo2{public static void main(String[] args) {int num = getSum(4,6);System.out.println("sum"+sum);}public static int getSum(int x,int y){ return x+y;}}
细节注意:
下列代码会出错:
class FunctionDemo2{public static void main(String[] args) {System.out.println(get(4,5));}public static int get(int a,int b){ System.out.println(a+b); return ;}}
因为:如果函数的返回值类型是void的类型是不能在主函数的输出语句里
输出get(4,5),可以在主函数里直接调用,这个函数get运行完了后没有具体的值,主函数中
的打印语句不知道要打印什么。而下面的却可以, 因为getSum运算完是有具体的结果。
class FunctionDemo2{public static void main(String[] args) {System.out.println(getSum(4,5));}public static int getSum(int x,int y){ return x+y;}}
注意:下面功能定义思想有问题,因为只为完成加法运算,至于是否要对和进行打印操作
那是调用者的事,不要再该功能中完成。
练习:打印一个99乘法表功能的函数。
public static void print99(){ for(int x=1;x<=9;x++){ for (iny y=1;y<=x ;y++ ) {System.out.print(y+"*"+x+"="+y*x+"\t"); }System.out.println();}}
结果:
二,函数的重载
概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数列表的个数或者参数类型不同即可。
特点:与返回值类型无关,只看参数列表。
好处:方便于阅读,优化了程序设计。
示例:
//返回两个整数的和
int add(int x,int y){return x+y;}
//返回三个整数的和
int add(int x,int y,int z){returnx+y+z;}
//返回两个小数的和
double add(double x,double y){return x+y;}
什么时候用到重载?
当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
注意:重载和返回值类型没有关系。
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
- 黑马程序员——函数
- 黑马程序员——函数
- 黑马程序员——函数
- 黑马程序员——函数
- 黑马程序员——函数
- 黑马程序员——函数
- 黑马程序员—数据库函数
- 黑马程序员—字符串函数
- 黑马程序员—java 函数
- 黑马程序员—关于函数
- 黑马程序员——函数、递归函数
- 黑马程序员——函数部分总结
- 黑马程序员——SQL 函数
- 黑马程序员——初识构造函数
- 黑马程序员——函数的重载
- 黑马程序员——构造函数
- 黑马程序员——主函数Main
- 黑马程序员——反射main函数
- 高扩展性网站的50条原则
- 当json中object嵌套,datagrid中如何显示数据
- ubuntu 下mahout 的安装配置
- window7系统下如何使用虚拟机安装苹果系统
- typing today
- 黑马程序员——函数
- javascript知识点
- orgChart生成组织结构图应用
- boost并发编程(二)——条件变量
- 完美解决 SlidingMenu appcompat_7的冲突问题
- [DP]尼克的任务
- 数据库的级联删除
- 如何用 ISO 镜像制作 U 盘安装盘(通用方法、无需 WinPE)
- java web开发----tomcat安装与配置