zoukankan      html  css  js  c++  java
  • 带参数的方法

    1.定义带参方法

      语法:

      <访问修饰符>返回值类型<方法名>(<参数列表>){

        //方法的主体

      }

      <访问修饰符>指该方法允许被访问的权限范围,只能是public,protected或privute,其中public访问修饰符表示该方法可以被任何代码调用,另外两种修饰符将在后续课程中陆续学习。

      返回值类型:指方法返回值的类型。假如不返回任何值,他应该声明为void类型,Java对待返回值的要求很严格,方法返回值必须与所说明的类型相匹配,使用return返回值。

      <方法名>是定义的方法的名字,它必须使用合法的标识符。

      <参数列表>是传送给方法的参数列表,列表中参数间一哦独好分隔,参数列表的格式如下:

      数据类型  参数1,数据类型  参数2,……数据类型  参数n。你>=0,如果n=0,代表没有参数,这是的方法就是前面学习的无参方法。

    2.调用带参方法

      语法:

       对象名.方法(参数1,参数2……参数n)

      在定义方法和调用方法时,把参数分别称为形式参数和实际参数,简称形参和实参。形参是在定义方法时对参数的称呼。用的是定义方法需要传入的参数个数和类型,实参是在调用方法时传送给方法处理的实际的值。

      现实例化对象,在调用方法

      实参的类型数量,顺序都要与形参一一对应

    3.为什么要包

      1.包允许将类给合成娇小的单元,(类似文件夹)易于找到和使用相应的类文件。

      2.防止命名冲突;Java只有在不同包中的类名才能重名。

      3.包允许在更广的 范围内保护类,数据和方法,可以在包内定义类。根据规则,保外的代码有可能不能访问类。

    public class Method_005 {
        double zje;    //总金额
        String banli;//办理业务方式
        boolean pd;
    
        public void show(int choice, double money) {
            pd = false;
            if (choice == 1) {
                banli = "存款";
                zje += money;
            } else if (choice == 2) {
                banli = "取款";
                if (zje >= money) {
                    zje -= money;//每次减掉取款金额并记录总金额
                } else {
                    pd = true;//开关,main方法中会判断一条输出语句
                    System.out.println("余额不足!");
                }
            }
        }
    
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            Method_005 bdqn = new Method_005();
            int choices = 0;
            do{
                System.out.println("1.存款 2.取款 0.退出");
                System.out.print("请选择你需要办理的业务:");
                choices = input.nextInt();
                if (choices == 1 || choices == 2) {
                    bdqn.show(choices, 0);
                    System.out.print("请输入" + bdqn.banli + "金额:");
                    double quk = input.nextDouble();
                    bdqn.show(choices, quk);
                    if (bdqn.pd == false) {
                        System.out.println(bdqn.banli + "成功!");
                    }
                    System.out.println("
    ***当前余额为:" + bdqn.zje + "***
    ");
                } else if (choices != 0) {
                    System.out.println("命令执行错误!请重新输入!");
                }
            }while (choices != 0) ;
            System.out.println("程序退出!");
        }
    }

     常见错误:

    //方法定义
    public void addNme(String name){
        //方法体
    }
    //方法调用
    对象名.addName(String  "张三");
    
    代码中,调用方法时,在床底的实参前添加数据类型,正确的调用方法如下:
    对象名.addName("张三");
    //方法定义
    public booiean scarchName(int start,int end,String name){
        //方法体
    }
    //方法调用
    String s="开始";
    int e=3;
    String name="张三";
    boolean fiag=对象名.searchName(s,e,name);
    
    代码中,形参和实参的数据类型不一致,searchName()方法定义的形参要求数据类型为int,int,String类型,而实际传递的实参护具类型为String,int,String。
    //方法定义
    public boolran searchName(int start,int end,String name){
        //方法体
    }
    //方法调用
    int s=1;
    int e=3;
    boolean fiag=对象名.searchName(s,e);
    
    形参和实参数量不一致。searchName()方法定义了三个形参,而实际传递的实参只有两个。
    //方法定义
    public boolean searchName(int start,int end,String name){
        //方法体
    }
    //方法调用
    int s=1;
    int e=3;
    String name="张三";
    
    方法定义有返回值,但是调用该方法后没有对返回值做任何处理。
  • 相关阅读:
    python format() 函数
    -bash: fork: Cannot allocate memory 问题的处理
    阿里云telnet 3306端口失败
    npm install报错 npm ERR! enoent ENOENT: no such file or directory
    springboot启动后总是自己shutdown
    thymeleaf给bootstrap自定义变量赋值
    java通过反射拷贝两个对象的同名同类型变量
    使用awk按照行数切割文件
    Iterable接口
    mac brew update 报错
  • 原文地址:https://www.cnblogs.com/wxl941549541/p/7372045.html
Copyright © 2011-2022 走看看