- public class Demo1 {
- public static void swap(Integer x, Integer y) {
-
- }
- public static void swap(int x, int y) {
- /*
- * 在此方法中将传递进来的两个数据转换了
- * 二此方法中的变量x,y已经不是main()中的变量x,y了:因为变量的作用范围在{}之间有效
- */
- int temp =x;
- x = y;
- y = temp;
- System.out.println("x="+x+",y="+y);//输出交换后的值
-
- }
-
- public static void main(String[] args) {
- int x = 1;
- int y = 2;
- swap(x, y);//无返回值
- System.out.print("x=" + x);//输出的是main()中的x值
- System.out.print("y=" + y);//输出的是main()中的y值
- Integer a = new Integer(1);
- Integer b = new Integer(2);
- swap(a, b);
- System.out.print("a=" + a.intValue());
- System.out.print("b=" + b.intValue());
-
- }
- }
复制代码 在主函数中运行swap()方法后,由于方法是void类型,不会返回任何值;
swap(x,y)只是把x,y的具体数值传递给函数,而函数中定义的变量x,y已经不是主函数中的变量x,y了。
所以不能把交换后的数据传给main()中的变量x,y了。 |