java中如何让1+1=3

前些日子在某Q群中和一些人聊天,突然有个拉卡拉的哥们说别整天扯淡,应该聊聊技术,发了这么个小题目。java中如何让1+1=3

我和大多数程序猿一样,我们都喜欢在网上看人家的帖子,但是都懒得自己写...
今天正好得空~~~
想着写点什么吧~~
改变从来都不晚,不是么~~

我本人是个长期做物联网项目的人,第一反应自然是进制转换,希望你的第一反应不是System.out.println("1+1=3")...
既然是进制转换,那么我首先想到的是Integer的valueOf方法,虽说有一些方法自己手写可能更高效,但是这种基础需求,JDK自带的方法足以。

以下是我的代码: 

/**
 * 
 * 项目名称:Demo
 * 类名称:StringToBinary
 * 类描述:java实现1+1=3
 * 创建人:prophethunter
 * 创建时间:2014-12-12 上午9:49:40
 * 修改人:prophethunter
 * 修改时间:2014-12-12 上午9:49:40
 * 修改备注:无
 * @version v1.0
 * 
 */
public class StringToBinary
{
    public static void main(String[] args)
    {
    //声明了2个String的变量num1、num2,并赋值为1
        String num1 = "1";
        String num2 = "1";
    /*
      用Integer的valueOf方法将"11"这个字符串转化为2进制并赋值给int的result变量,
      值得一提的是,只要你的String变量的值合法,valueOf的第二个参数是你填几就是几进制
    */
        int result = Integer.valueOf(num1+num2, 2);
        System.out.println(result);
    }
}

关于valueOf相关的api这里便不再赘述,请自行查阅,不要问我为什么,43程序员不关心为什么,苦B程序员自己研究一下就明白了。
我写完这段代码之后,在百度里随手搜了一下,看到了这篇帖子http://alvez.blog.51cto.com/7711135/1543281,它里面提到了一个了一个并不常用的函数printf,写JAVA很久,我几乎没有怎么用过这个函数。简单的说一下这个printf,它和 println的区别在于println 对于不同的基本类型都提供了overwrite,而printf并没有为基本类型提供方法。作者为此写了一堆相较复杂的代码,却并没有指明其在现实开发中的应用,这样看起来十分高大上,但是就实际开发来说,用到的并不多。 任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。而如果你需要用到socket和下位机通信,valueOf这个函数可以说相当常用。


下一篇,我将简单的谈一下使用byte在socket通信中容易遇到的问题和处理的方法。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值