public class ChangeTest { |
02 | |
03 | public void changeMethodA( int a, int b){ |
04 | System.out.println( "changeMethodA交换之前\ta:" +a+ "\tb:" +b); |
05 | a = a + b - (b = a); |
06 | System.out.println( "changeMethodA交换之后\ta:" +a+ "\tb:" +b); |
07 | } |
08 | |
09 | public void changeMethodB( int a, int b){ |
10 | System.out.println( "changeMethodB交换之前\ta:" +a+ "\tb:" +b); |
11 | b = a + (a = b)* 0 ; |
12 | System.out.println( "changeMethodB交换之后\ta:" +a+ "\tb:" +b); |
13 | } |
14 | |
15 | public void changeMethodC( int a, int b){ |
16 | System.out.println( "changeMethodC交换之前\ta:" +a+ "\tb:" +b); |
17 | a = a + b; |
18 | b = a - b; |
19 | a = a - b; |
20 | System.out.println( "changeMethodC交换之后\ta:" +a+ "\tb:" +b); |
21 | } |
22 | |
23 | public void changeMethodD( int a, int b){ |
24 | System.out.println( "changeMethodD交换之前\ta:" +a+ "\tb:" +b); |
25 | a = a * b; |
26 | b = a / b; |
27 | a = a / b; |
28 | System.out.println( "changeMethodD交换之后\ta:" +a+ "\tb:" +b); |
29 | } |
30 | |
31 | public void changeMethodE( int a, int b){ |
32 | System.out.println( "changeMethodE交换之前\ta:" +a+ "\tb:" +b); |
33 | a = a^b; |
34 | b = a^b; |
35 | a = a^b; |
36 | System.out.println( "changeMethodE交换之后\ta:" +a+ "\tb:" +b); |
37 | } |
38 | |
39 | public static void main(String[] args) { |
40 | ChangeTest changeTest = new ChangeTest(); |
41 | changeTest.changeMethodA( 1 , 10 ); |
42 | System.out.println( "-----------------------------------" ); |
43 | changeTest.changeMethodB( 2 , 9 ); |
44 | System.out.println( "-----------------------------------" ); |
45 | changeTest.changeMethodC( 3 , 8 ); |
46 | System.out.println( "-----------------------------------" ); |
47 | changeTest.changeMethodD( 4 , 7 ); |
48 | System.out.println( "-----------------------------------" ); |
49 | changeTest.changeMethodE( 5 , 6 ); |
50 | } |
51 | } |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | 运行结果: |
58 | changeMethodA交换之前 a: 1 b: 10 |
59 | changeMethodA交换之后 a: 10 b: 1 |
60 | ----------------------------------- |
61 | changeMethodB交换之前 a: 2 b: 9 |
62 | changeMethodB交换之后 a: 9 b: 2 |
63 | ----------------------------------- |
64 | changeMethodC交换之前 a: 3 b: 8 |
65 | changeMethodC交换之后 a: 8 b: 3 |
66 | ----------------------------------- |
67 | changeMethodD交换之前 a: 4 b: 7 |
68 | changeMethodD交换之后 a: 7 b: 4 |
69 | ----------------------------------- |
70 | changeMethodE交换之前 a: 5 b: 6 |
71 | changeMethodE交换之后 a: 6 b: 5 |