房上的猫:带参数的方法

一.定义带参方法  语法:

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

  解析:    (1)<访问修饰符>指该方法允许被访问的权限范围,只能是public(公共的),protected(继承)或private(私有的)    (2)返回值类型指方法返回值。如果方法不返回任何值,它应该声明为void类型    (3)<方法名>是定义的方法的名字,它必须使用合法的标识符    (4)<参数列表>是传送给方法的参数列表。列表中各参数间以逗号分隔

   格式:(数据类型 参数1,数据类型 参数2,......,数据类型 参数n)
       // 其中n>=0
     //如果n=0,代表没有参数,这时的方法就是前面学习过的无参方法    

二.调用带参方法   调用带参方法与调用无参方法的语法相同,但是在调用带参方法时必须传入实际的参数的值  1.语法:

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

 2.形参与实参   (1)在定义方法和调用方法时,把参数分别称为形式参数和实际参数,简称形参和实参   (2)形参是在定义方法时对参数的称呼,目的是定义方法需要传入的参数个数和类型   (3)实参是在调用方法时传递给方法处理的实际的值  3.调用方法时,注意事项:   (1)先实例化对象,再调用方法   (2)实参的类型,数量,顺序都要与形参一一对应  4.经验:   (1)带参方法的参数个数无论多少,在使用时只要注意实参和形参一一对应:     传递是实参值与形参的数据类型相同,个数相同,顺序一致,就掌握了带参方法的使用   (2)编程时,对于完成不同功能的代码,我们可以将它们写成不同的方法:     每一个方法完成一个独立的功能模块,在需要的时候调用就可以了,使用方法可以提高代码重用率及程序的顺序

下面是一个银行存取款的实例:

public class Method_005 {
    double zje;    //储存总金额的变量
    String banli;//存储办理业务方式的字符串
    boolean pd;//输出是否成功的开关

    public void show(int choice, double money) {//定义一个办理业务的方法
        pd = false;
        if (choice == 1) {//如果选择1,则是存款
            banli = "存款";
            zje += money;//每次加上存款金额并记录总金额
        } else if (choice == 2) {//如果选择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();//new关键字创建对象
        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("\n***当前余额为:" + bdqn.zje + "***\n");
            } else if (choices != 0) {
                System.out.println("命令执行错误!请重新输入!");//乱输数字会报此语句,并进行下一次循环
            }
        }while (choices != 0) ;
        System.out.println("程序退出!");
    }
}

如感兴趣,可自行复制代码,执行运作

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

C++智能指针

C++中,动态内存的管理是通过一对运算符来完成的,new用于申请内存空间,调用对象构造函数初始化对象并返回指向该对象的指针。delete接收一个动态对象的指针,...

671
来自专栏Java帮帮-微信公众号-技术文章全总结

第七天 自定义数据类型ArrayList集合【悟空教程】

1305
来自专栏专注 Java 基础分享

Java 字节流操作

     在java中我们使用输入流来向一个字节序列对象中写入,使用输出流来向输出其内容。C语言中只使用一个File包处理一切文件操作,而在java中却有着...

1859
来自专栏代码世界

Python中下划线---完全解读

Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __xxx...

33311
来自专栏风口上的猪的文章

.NET面试题系列[12] - C# 3.0 LINQ的准备工作

"为了使LINQ能够正常工作,代码必须简化到它要求的程度。" - Jon Skeet

573
来自专栏瞎说开发那些事

[Java并发系列]Java并发容器和框架

1604
来自专栏WindCoder

Java中的数组是对象吗?

首先说明:Java中的数组是对象,这个可以查看The Java Language Specification SE(4.3.1)可得,另外本文讨论的相关问题的结...

341
来自专栏成长道路

jsp基础知识 jsp指令 jsp9大内置对象 jstl表达式

JSP 1, JSP 的生命周期 理解 JSP 底层功能的关键就是去理解它们所遵守的生命周期。 JSP 生命周期就是从创建到销毁的整个过程,类似于 serv...

1950
来自专栏水击三千

ARCGIS接口详细说明

ArcGIS接口详细说明 目录 ArcGIS接口详细说明... 1 1.      IField接口(esriGeoDatabase)... 2 2.     ...

2976
来自专栏Java Edge

深入分析Java的enum

27611

扫描关注云+社区