A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Kurt_cobain 中级黑马   /  2013-9-19 20:37  /  1092 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

首先我们要先知道什么是函数呢?
函数就是定义在类中的具有特定功能的一段独立小程序,也可以称之为方法
函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2....)
{
  要执行的语句;
   return返回值;
}

返回值类型:函数运行后的结果的数据类型
参数类型.是形式参数的数据类型.
形式参数:是一个变量用于存储调用函数时候攒地给函数的实际参数
实际参数:传递给形式参数的具体数值.
return:用于结束函数的
返回值:结束后返回给调用者的一个值
  1. class FunctionDemo
  2. {
  3. public static void main(String[] args)
  4. {
  5. int x=4;
  6. System.out.println(x*5+6);
  7. x=6;
  8. System.out.println(x*5+6);
  9. }
  10. }
复制代码
发现了以上的运算,因为获取不同数据云散结果,代码出现了重复.
为了提高代码的复用性,对大麦进行抽取
将这个部分定义成一个独立的功能,方便与日后使用.
java中对功能的定义是通过函数的形式来体现的
那么下面我们用函数的形式来定义一个功能来完成*5+6的运算
1.先明确函数定义的格式.
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2....)
{
  要执行的语句;
   return返回值;
}
示例:
public static int getResunlt(int num)
{
  return num*5+6;
}

函数是单独存在的不使用的时候直接调用就好了.
但是怎么调用呢?
示例
  1. class FunctionDemo1
  2. {
  3. //程序首先执行主函数.
  4. public static void main(String[] args)
  5. {
  6. //然后开始执行getResunlt.跳转到了getResunlt函数上同时
  7. //把4给了num
  8. int x=getResunlt(4);
  9. System.out.println("x="=x);
  10. }
  11. public static int getResunlt(int num)
复制代码
{
  //传给函数之后开始进行运算num*3+5加完之后返回给了主函数
  return num*5+6;
}

public static void getResunlt_2(int num)
{
  //当函数运算后,没有具体的返回值时候,这是返回值类型用一个特殊的关键字便是void
  //当函数中返回值类型是void时,函数中的return可以省略不写
  System.out.println(num*5+6);
  return;//可以省略
}
}
示例2:
  1. class FunctionDemo2
  2. {
  3. public static void main(String[] args)
  4. {
  5. int x = getSum(4,4);
  6. int y = getSum(7,9);
  7. int num = getMax(x,y);
  8. }
  9. public static int getSum(int x,int y)
  10. {
  11. //返回a+b的和
  12. return x+y;
  13. }
  14. public static boolean compare(int a,int b)
  15. {
  16. //判断ab是否相等
  17. return a==b;
  18. }
  19. public static int getMax(int a,int b)
  20. {
  21. //判断ab那个值大.返回大的值
  22. return (a>b)?a:b;
  23. }
  24. }
复制代码
函数的特点总结:
1.定义函数可以将共轭ngn代码进行封装
2.便于对该功能进行复用
3.函数只有被调用才会被执行
4.函数的出现提高的代码的复用性
5.对函数没有具体返回值的情况,返回值类型用关键字void表示
,那么该函数的return语句如果在最后一行可以省略不写.
注意!:
函数中只能调用函数.不可在函数内部定义函数.
定义函数时候,函数的结果应该返回给调用者,交给调用者类处理
//-------------华丽的分割线----------------------
函数的重载:
在同一个类中,润徐存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可.
重载的特点:
与返回值类型无关,只看参数列表.
重载的好处:
方便与阅读.优化了程序设计
什么时候用重载呢?
当定义的功能相同,单参与运算的位置内容不同,
那么这是就定义一个函数名以表示期功能,方便阅读,而通过参数列表的不同来区分多个同名函数
重载的示例
  1. class FunctionOverload //重载
  2. {
  3. public static void main(String[] args)
  4. {
  5. //当add(3,4)的时候会自动走上边的那个add
  6. int x=add(3,4,5);
  7. System.out.println(x);
  8. }
  9. public static int add(int x,int y)
  10. {
  11. return x+y;
  12. }
  13. public static int add(int x,int y,int z)
  14. {
  15. return x+y+z;
  16. }
  17. }
复制代码

评分

参与人数 1技术分 +3 收起 理由
黄玉昆 + 3 总结的不错,中秋节送你几分,继续努力.

查看全部评分

1 个回复

正序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马