67194:67194 > HELLO JAVA
[导读] ? ? ? ? ? 对于本篇博客,我实则很早之前就想写了。不过,当时没有时间,就拖到今天写了。 ? ? ? ? ? ?对于数值类型的数据,当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);
		
	}


? ? ? ? ? 运行结果?






HELLO JAVA

541 篇文章

关注

发布文章

技术子站

更多

论坛活动

  • 新年历,ADI精品视频课堂开始啦
    新年历,ADI精品视频课堂开始啦
  • 【看视频赢好礼】贸泽电子视频课程大讲堂
  • RT-Thread应用创新设计大赛,报名即领开发板~
  • 21ic下载站“资源奖励计划”升级!再发3450元~
更多

资料下载

  • (网盘)刘凯老师STM32视频教程及配套资源
  • (网盘)电路精讲班视频
  • 龙芯2k lite 开发板教育派硬件规格
  • (网盘)电路强化班视频
  • Beken BK7252 麻雀一号开发板
  • 最全Altium designer封装库700MB(含3D模型),网盘分享
  • (网盘)quartus基本语法等
  • (网盘)stm32四轴飞行器资料
  • 雅特力 AT-START-F403A开发板
  • 非接触式电子体温计(额温枪)PCB+程序源码
XML 地图 | Sitemap 地图