方法参数

 1 public class ParamTest {
 2
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7         // TODO Auto-generated method stub
 8
 9         System.out.println("Testing tripleValue:");
10         double percent = 10;
11         System.out.println("Before:percent:"+percent);
12         tripleValue(percent);
13         System.out.println("After:percent="+percent);
14
15
16         System.out.println("\nTesting tripSalary");
17         Employee harry = new Employee("Harry",50000);
18         System.out.println("Before: salary=" + harry.getSalary());
19         tripleSalary(harry);
20         System.out.println("After: salary=" + harry.getSalary());
21
22         System.out.println("\nTesting swap:");
23         Employee a = new Employee("Alice", 70000);
24         Employee b = new Employee("Bob", 60000);
25         System.out.println("Before: a="+ a.getName());
26         System.out.println("Before: b="+ b.getName());
27         swap(a,b);
28         System.out.println("After: a="+ a.getName());
29         System.out.println("After: b="+ b.getName());
30     }
31         public static void tripleValue(double x) {
32             x = 3*x;
33             System.out.println("End of method: x="+x);
34         }
35
36         public static void tripleSalary(Employee x) {
37             x.raiseSalary(200);
38             System.out.println("End of method: salary =" + x.getSalary());
39         }
40
41         public static void swap(Employee x, Employee y) {
42             Employee temp = x;
43             x = y;
44             y = temp;
45             System.out.println("End of method: x=" + x.getName());
46             System.out.println("End of method: y=" + y.getName());
47         }
48     }
49
50
51
52     class Employee {
53         private String name;
54         private double salary;
55
56         public Employee(String n, double s) {
57             name = n;
58             salary = s;
59         }
60
61         public String getName() {
62             return name;
63         }
64
65         public double getSalary() {
66             return salary;
67         }
68
69         public void raiseSalary(double byPercent) {
70             double raise = salary * byPercent / 100;
71             salary += raise;
72         }
73
74
75 }

时间: 2024-08-25 23:36:34

方法参数的相关文章

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)

 一.方法参数的类型----值类型和引用类型 当方法传递的参数是值类型时,变量的栈数据会完整地复制到目标参数中即实参和形参中的数据相同但存放在内存的不同位置.所以,在目标方法中对形参所做的更改不会对调用者的初始变量产生任何影响. 当方法传递的参数是引用类型是,只是将变量的引用复制到目标参数中,实参和形参的引用指向内存中的同一位置.所以,在目标方法中对形参所做的更改会影响调用者的初始变量. 二.一些特殊的方法参数 1.引用参数---ref (使值类型的变量做方法参数时也可以传引用) 一些数据类型(

C#中方法参数的类型

C#方法参数类型有三种: 根据传递方式不同分为值传递和引用传递 值传递的本质是在传递参数时是把实参里面存的值传递给方法的形参,方法中对形参改变数值不会影响原来实参里面的数据. 输出结果为0 引用类型传递的本质是:实参是引用类型存储的是地址值,传递时是将实参中的地址传递给形参,这个时候形参中存储的是地址值.而在方法中改变变量值的时候是引用地址中存储的数据,所以会改变原来实参变量的值.因为两个变量引用的是一个地址. 声明引用类型传递时,需在方法签名中使用ref关键字声明参数类型为引用传递,并且在调用

ajax方法参数

jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持. 3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设置. 4.async: 要求为Boolean类型的参数,默

springmvc 方法参数自定义的解析

1.实现HandlerMethodArgumentResolver接口: 2.在配置文件中添加配置<mvc:argument-resolvers>   <bean class=""></bean>  </mvc:argument-resolvers> class文件是第一步中定义的class 3.定义注解用于只解析controller带有该注解的方法参数 自定义方法参数解析实现了前端和后端的数据的统一,比如将表单数据定义成bean,通过定

java 方法参数-值调用,引用调用问题

(博客内容来自于core java卷一) 1. xx调用:程序设计语言中方法参数的传递方式: 引用调用(call by reference):表示方法接收的是调用者提供的变量地址. 值调用(call by value):表示方法接收的是调用者提供的值. 命名调用(call by name):已经成为历史. 2. Java使用值调用,而且只有值调用.也就是说方法得到的是参数值的一个拷贝,并不是参数值本身,所以,方法不能修改传递给它的的任何参数变量本身. 看下面代码: public class te

jQuery中$.ajax()方法参数解析

本文实例为大家讲解了jQuery $.ajax()方法参数,供大家参考,具体内容如下 $.ajax({ url:'test.do', data:{id:123,name:'xiaoming'}, type:'post', dataType:'json', success:function(data){ alert(data);//弹窗 //TODO ........ }, error:function(data){ alert(data);//弹窗 //TODO ........ } }) ur

[ jquery 过滤器nextAll(expr) ] 此方法用于在选择器的基础之上搜索被选元素的后面的所有同级元素,此方法参数只能传递表达式,无法传递其他类型

此方法用于在选择器的基础之上搜索被选元素的后面的所有同级元素,此方法参数只能传递表达式,无法传递其他类型 可以使用此方法向里面传递表达式的方法实现和jqueryObj.next()相同的效果 实例: <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta

[ jquery 过滤器next(expr) ] 此方法用于在选择器的基础之上搜索被选元素的后一个同级元素,此方法参数只能传递表达式,无法传递其他类型

此方法用于在选择器的基础之上搜索被选元素的后一个同级元素,此方法参数只能传递表达式,无法传递其他类型: 实例: <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,key

Java的方法参数-想想挺有趣的问题

一直认为Java的方法参数都是传递值,调用后对本身不影响. Java不存在C/C++中的指针,在快速排序中,传入的数组,却发生了值的改变.由此引发的思考: //为方便举例,以下为部分快速排序伪代码 传入的数组,在递归中,数组值被操作. void quickSort(int s[], int l, int r){ if (l < r){ quickSort(s, l, i - 1); quickSort(s, i + 1, r); } } 结论:Java方法参数中传递的是值,在参数是引用类型(如数