当前位置:首页 > 芯闻号 > 充电吧
[导读]           对于本篇博客,我实则很早之前就想写了。不过,当时没有时间,就拖到今天写了。            对于数值类型的数据,当2个变量进行数据交换时,我们一般会使用第三方变量进行数值


          对于本篇博客,我实则很早之前就想写了。不过,当时没有时间,就拖到今天写了。


           对于数值类型的数据,当2个变量进行数据交换时,我们一般会使用第三方变量进行数值交换。代码与运行结果如下所示: 


          代码 

	public static void main(String[] args) {
		
		// 使用第3方变量来进行数据交换
		test1();
		
		// 不使用第3方变量进行数据交换:算法方式一
		//test2();
		
		// 不使用第3方变量进行数据交换:算法方式二
		//test3();
		
	}

	public static void test1() {
		
		double a = 3.14, b = 5.28, c = 0.0;
		System.out.println("交换前a、b的值为:");
		System.out.println("a= " + a);
		System.out.println("b= " + b);
		
		c = a;
		a = b;
		b = c;
		
		System.out.println("交换后a、b的值为:");
		System.out.println("a= " + a);
		System.out.println("b= " + b);
		System.out.println("c= " + c);
	}




          运行结果





            同时,对于2个数值型数据进行交换时,也可不采用第三方变量的方式来实现。在这里,我自己列出2个小的算法来实现这个功能。对于2个算法之间为何会出现一些精确度数据的差异,我个人也是不懂。如果有知道的网友,可以回复我,告知一下,谢谢。

  算法方式一:

          代码 

	public static void main(String[] args) {
		
		// 使用第3方变量来进行数据交换
		//test1();
		
		// 不使用第3方变量进行数据交换:算法方式一
		test2();
		
		// 不使用第3方变量进行数据交换:算法方式二
		//test3();
		
	}
	public static void test2() {
		
		double a = 3.14, b = 5.28;
		System.out.println("交换前a、b的值为:");
		System.out.println("a= " + a);
		System.out.println("b= " + b);
		
		a = a + b; 
		b = a - b;
		a = a - b;
		
		System.out.println("交换后a、b的值为:");
		System.out.println("a= " + a);
		System.out.println("b= " + b);
		
	}


          运行结果 





  算法方式二:

          代码 

	public static void main(String[] args) {
		
		// 使用第3方变量来进行数据交换
		//test1();
		
		// 不使用第3方变量进行数据交换:算法方式一
		//test2();
		
		// 不使用第3方变量进行数据交换:算法方式二
		test3();
		
	}
	public static void test3() {
		
		double a = 3.14, b = 5.28;
		System.out.println("交换前a、b的值为:");
		System.out.println("a= " + a);
		System.out.println("b= " + b);
		
		a = a - b; 
		b = a + b; 
		a = b - a;
		
		System.out.println("交换后a、b的值为:");
		System.out.println("a= " + a);
		System.out.println("b= " + b);
		
	}


          运行结果 






本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭