码迷,mamicode.com
首页 > 编程语言 > 详细

(10.16)java小作业!

时间:2017-10-16 21:38:16      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:编写   font   赋值   思考   rgs   div   log   int   col   

  相信大家刚刚学习java多多少少都会写一些java的基础编程来练练手感,我也不例外!今天想和大家分享一下我最近所接触到的比较有趣的java小编程!

  已知a已被赋值,b已被赋值,请编写java程序实现a与b值的互换:

  其实这道题挺经典的,无论是C语言也好,java也好,都把这道题作为入门的小作业,它的解法如下:

1 public class Demo{
2     public static void main(String[] args){
3         int a=1;//为a赋值
4         int b=2;//为b赋值
5         int temp=a;//新的变量
6         a=b;
7         b=temp;//a与b互换
8   }  
9 }

  解答这道题的方法通常都是初始化一个新的变量,以该变量作为中间变量,来防止a或者b被覆盖,通过这样的方法来解这道题。那么,除了这种常规的解题方法还有别的解题方法么?

  答案是肯定的,下面我会为大家再列举两种解题方法,有其他解题的方法也欢迎大家补充!

  1.加减法

public class Demo {
    public static void main(String[] arg) {
        int a = 1;
        int b = 2;
        a = b-a;
        b = b-a;
        a = b+a;
    }

}

  2.异或法

public class Demo {
    public static void main(String[] arg) {
        int a = 1;
        int b = 2;
        a = a^b;
        b = a^b;
        a = a^b;
    }

}

  其实,不管是加减法也好,异或法也好,这两种解题方法都是我们解题时思维的延伸,也是我们思维逻辑的一种改变,毕竟java就是一堆积木,所有的一切都是通过一步一步的组合来完成的,而完成品是什么样的取决于我们的思考方式和想象力,所以千万不要只局限于一种解法,要勇于去扩展自己的思维,改变自己的逻辑,才能发现更有趣的世界!

 

(10.16)java小作业!

标签:编写   font   赋值   思考   rgs   div   log   int   col   

原文地址:http://www.cnblogs.com/ziyihuang/p/7678470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!