黑马程序员---Java基础篇之函数(方法)

来源:互联网 发布:cba球员卧推数据 编辑:程序博客网 时间:2024/06/03 11:00

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

方法概述和格式说明

A:为什么要有方法    假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。B:什么是方法    方法就是完成特定功能的代码块    在很多语言中都有函数的定义,但是在咱们JAVA语言中,我们将其称之为方法。C:方法的格式    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){        方法体;        return 返回值;    }D:方法的格式详细说明    (1): 修饰符            比较多,后面会详细介绍。目前使用  public static    (2): 返回值类型      用于限定返回值的数据类型    (3): 方法名            就是一个名称,它的存在是为了方便我们调用方法    (4): 参数类型       限定调用方法时传入参数的数据类型    (5): 参数名            是一个变量,接收调用方法时传入的参数                        这个参数其实有一个专业的名词,被称之为形式参数,它的作用是用来接收实际参数的.    (6): 方法体            完成功能的代码    (7): return         结束方法以及返回方法指定类型的值     (8): 返回值            就是功能的结果,由return带回,带回给调用者

方法之求和案例及其调用

A:需求:求两个数据之和的案例B:如何写一个方法    两个明确        (1):返回值类型   明确功能结果的数据类型        (2):参数列表    你要传递几个参数,以及每一个参数的数据类型    如何调用?        直接写方法名,传递相应的参数即可.C:方法调用(有明确返回值的调用)    a:单独调用,一般来说没有意义,所以不推荐。    b:赋值调用,推荐方案。    c:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。

方法的练习

A:案例演示: 需求:获取两个数中的较大值   
class Test01{    public static void main(String[] args)    {        int maxNum=getMax(3,4);        System.out.println(maxNum);    }    public static int getMax(int a,int b)    {        return a>b?a:b;    }}
B:案例演示: 需求:比较两个数是否相等
class Test02{    public static void main(String[] args)    {        boolean flag=isEquals(3,4);        System.out.println(flag);    }    public static boolean isEquals(int a,int b)    {        return a==b;    }}
使用键盘录入改进
import java.util.Scanner;class Test03{    public static void main(String[] args)    {        Scanner sc=new Scanner(System.in);        System.out.println("请输入一个数");        int a=sc.nextInt();        System.out.println("请再输入一个数");        int b=sc.nextInt();        boolean flag=isEquals(a,b);        System.out.println(flag);    }    public static boolean isEquals(int a,int b)    {        return a==b;    }}

方法的注意事项

A:  方法不调用不执行B:  方法与方法是平级关系,不能嵌套定义C:  方法定义的时候参数之间用逗号隔开D:  方法调用的时候不用在传递数据类型E:  如果方法有明确的返回值,一定要由return带回一个值

方法之输出星形及其调用

A:案例演示: 需求:根据键盘录入的行数和列数,在控制台输出*形
import java.util.Scanner;class Test04{    public static void main(String[] args)    {        Scanner sc=new Scanner(System.in);        System.out.println("请输入行数");        int a=sc.nextInt();        System.out.println("请输入列数");        int b=sc.nextInt();        prints(a,b);    }    public static void prints(int a,int b)    {        for(int i=1;i<=a;i++)        {            for(int j=1;j<=b;j++)            {                System.out.print("*");            }            System.out.println();        }    }}
B:方法调用:(没有明确返回值的调用)    单独调用    输出调用(错误)    赋值调用(错误)

方法的练习

A:案例演示: 需求:根据键盘录入的数据输出对应的乘法表
import java.util.Scanner;class Test05{    public static void main(String[] args)    {        Scanner sc=new Scanner(System.in);        System.out.println("请输入几几乘法表");        int a=sc.nextInt();        print99(a);    }    public static void print99(int a)    {        for(int i=1;i<=a;i++)        {            for(int j=1;j<=i;j++)            {                System.out.print(j+"*"+i+"="+j*i+"\t");            }            System.out.print("\n");        }    }}

方法重载概述和基本使用

A:案例演示    求和案例        2个整数        3个整数        4个整数
class Test06{    public static void main(String[] args)    {        int add1=getAdd(3,4);        int add2=getAdd(3,4,5);        int add3=getAdd(3,4,5,6);        System.out.println(add1+"..."+add2+"..."+add3);    }    public static int getAdd(int a,int b)    {        return a+b;    }    public static int getAdd(int a,int b,int c)    {        return a+b+c;    }    public static int getAdd(int a,int b,int c,int d)    {        return a+b+c+d;    }}
B:方法重载概述    在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同,与返回值无关。    参数列表不同:        A:参数个数不同        B:参数类型不同

方法重载的好处以及练习

A:方法重载好处    对于程序人员来说  : 减少一定的代码量    对于使用者来说    : 不用记忆很多方法名字    println()输出任意类型数据,调用者只需要记忆1个方法名字即可B:方法重载练习    根据练习熟悉方法重载的概念

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

0 0