房上的猫:带参数的方法

一.定义带参方法  语法:

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

  解析:    (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 条评论
登录 后参与评论

相关文章

来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31810
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3145
来自专栏魂祭心

原 canvas绘制clock

4104
来自专栏菩提树下的杨过

Flash/Flex学习笔记(23):运动学原理

先写一个公用的小球类Ball: package{ import flash.display.Sprite; //小球 类 public class B...

25310
来自专栏码匠的流水账

聊聊NettyConnector的start及shutdown

reactor-netty-0.7.6.RELEASE-sources.jar!/reactor/ipc/netty/NettyConnector.java

851
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2577
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6848
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4025

扫码关注云+社区