Java编程练习之成员方法的参数

Java中方法的参数主要有3种,分别为值参数、引用参数和不定长参数,本节练习不涉及不定长参数。

值参数:表明实参与形参之间按值传递,当使用值参数的方法被调用时,编译器为形参分配存储单元,然后将对应的实参的值复制到形参中,因此,方法中对值类型的形参的修改并不会影响实参。

案例1:

今日橘子的价格为每500克2.98元,购买3千克橘子,计算顾客需支付的钱款。

package demo;
//import java.util.Arrays;
//import java.util.Scanner;
public class Test {//定义橘子类,类名叫Test
    public static void main(String[] args) {
        Test tangerine= new Test();//创建橘子类对象
        double price=2.98; //初始化每斤橘子的价格;
        int jin=3000/500;  //初始化购买橘子的斤两;
        System.out.print("顾客购买3千克橘子,需要支付"+tangerine.multiply(price, jin)+"元。");        
    }  
    private double multiply(double price,int jin) {
        price =price*jin;
        return price;
    }
}

引用参数:在给方法传递参数时,参数的类型是数组或者其他引用类型(类、接口),那么,在方法中对参数的修改会反映到原有的数组或者其他引用类型上,这种类型的方法参数被称之为引用参数。

案例2:图书馆举办双十一买二享五折活动,设计一个打折方法,传入顾客购买的图书数组,然后重新为图书定价。已知顾客购买的图书为《Java从入门到精通(第4版)》,作者是明日科技,售价59.8元;《JavaWeb从入门到精通(第2版)》,作者是明日科技,售价69.8元,在控制台输出打折前和打折后的图书信息。

package demo;
//import java.util.Arrays;
//import java.util.Scanner;
public class Test {//定义图书类,类名叫Test
    public static void main(String[] args) {
        /**/
        Test book= new Test();//创建图书类对象
        double total1=0;              //记录打折前的总价格;
        double total2=0;              //记录打折后的总价格;
        double[] price= {59.8,69.8}; //定义一位数组,用来存储顾客购买的所有图书的价格;
        for(int i=0;i<price.length;i++) {
            total1 += price[i];
        }
        System.out.println("打折前图书价格:"+total1+"元。");
        book.discount(price);   //调用discount方法进行五折处理改变一维数组中各元素的值;
        //System.out.println("查看当前一维数组价格五折处理后各元素的值分别是:{"+price[0]+","+price[1]+"}");
        for(int j=0;j<price.length;j++) {
            total2 += price[j];
        }
        System.out.print("打折后图书价格:"+total2+"元。");
    }  
    
//定义一个方法,方法的参数是一维数组(形参)
    public void discount(double[] i) {
        for(int j=0;j<i.length;j++) {//for循环遍历数组
            i[j]=i[j]*0.5;   //对数组中所有的价格进行五折处理;
    }  
    }
}


 
 

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值