黑马程序员_函数的应用和重载

1 篇文章 0 订阅
1 篇文章 0 订阅

------- android培训java培训、期待与您交流! ---------- 

 /*函数的应用和重载*/
 
 首先我们要先知道什么是函数呢?
 函数就是定义在类中的具有特定功能的一段独立小程序,也可以称之为方法

函数的格式:
 示例:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2....)
 {
  要执行的语句;
   return返回值;
 }



 返回值类型:函数运行后的结果的数据类型
 参数类型.是形式参数的数据类型.
 形式参数:是一个变量用于存储调用函数时候攒地给函数的实际参数
 实际参数:传递给形式参数的具体数值.
 return:用于结束函数的
 返回值:结束后返回给调用者的一个值

class FunctionDemo
{
 public static void main(String[] args) 
 {
  int x=4;
  System.out.println(x*5+6);
  x=6;
  System.out.println(x*5+6);
 }
}


发现了以上的运算,因为获取不同数据云散结果,代码出现了重复.
为了提高代码的复用性,对大麦进行抽取
将这个部分定义成一个独立的功能,方便与日后使用.
java中对功能的定义是通过函数的形式来体现的

那么下面我们用函数的形式来定义一个功能来完成*5+6的运算
1.先明确函数定义的格式.
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2....)
 {
  要执行的语句;
   return返回值;
 }
示例:

 public static int getResunlt(int num)
 {
  return num*5+6;
 }
函数是单独存在的不使用的时候直接调用就好了.
但是怎么调用呢?
示例
class FunctionDemo1
{
 //程序首先执行主函数.
 public static void main(String[] args) 
 {
  //然后开始执行getResunlt.跳转到了getResunlt函数上同时
  //把4给了num
  int x=getResunlt(4);
  System.out.println("x="=x);
 }
 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

示例2:
class FunctionDemo2 
{
 public static void main(String[] args) 
 {
  int x = getSum(4,4);
  int y = getSum(7,9);
  int num = getMax(x,y);
 }
 public static int getSum(int x,int y)
 {
  //返回a+b的和
  return x+y;
 }
 public static boolean compare(int a,int b)
 {
  //判断ab是否相等
  return a==b;
 }
 public static int getMax(int a,int b)
 {
  //判断ab那个值大.返回大的值
  return (a>b)?a:b;
 }
}


 

函数的特点总结:
 1.定义函数可以将共轭ngn代码进行封装
 2.便于对该功能进行复用
 3.函数只有被调用才会被执行
 4.函数的出现提高的代码的复用性
 5.对函数没有具体返回值的情况,返回值类型用关键字void表示
 ,那么该函数的return语句如果在最后一行可以省略不写.

注意!:
 函数中只能调用函数.不可在函数内部定义函数.
 定义函数时候,函数的结果应该返回给调用者,交给调用者类处理
//-------------华丽的分割线----------------------
函数的重载:
 在同一个类中,润徐存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可.
重载的特点:
 与返回值类型无关,只看参数列表.
重载的好处:
 方便与阅读.优化了程序设计
什么时候用重载呢?
 当定义的功能相同,单参与运算的位置内容不同,
 那么这是就定义一个函数名以表示期功能,方便阅读,而通过参数列表的不同来区分多个同名函数

示例:

class FunctionOverload //重载
{
 public static void main(String[] args) 
 {
  //当add(3,4)的时候会自动走上边的那个add
  int x=add(3,4,5);
  System.out.println(x);
 }
 public static int add(int x,int y)
 {
  return x+y;
 }
 public static int add(int x,int y,int z)
 {
  return x+y+z;
 }
}

------- android培训java培训、期待与您交流! ---------- 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值