A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张龙跃 于 2013-4-17 00:31 编辑

代码如下

class jishu
{
        public static void main(String [] args)
        {
                System.out.print("2乘以8等于"+2*8);
        }
}



我这是最有效率的方法吗

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

14 个回复

倒序浏览
答案是对的!不过这是非规范的写法!
回复 使用道具 举报
System.out.print("2乘以8等于"+(2<<3));
回复 使用道具 举报
本帖最后由 JavaUtil 于 2013-4-16 21:22 编辑

楼上的答案是对的,用<<是直接用二进制操作,比*效率高。
回复 使用道具 举报
  1. class jishu
  2. {
  3.         public static void main(String [] args)
  4.         {
  5.                 System.out.print("2乘以8等于:"+(8<<1));
  6.         }
  7. }
复制代码
位运算相比较效率。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
最快的运算是位运算,把2左移3位,就是2*2的三次方,2<<3,楼上正解
回复 使用道具 举报
用位运算效率最高:
2<<3;
回复 使用道具 举报
class jishu
{
         public static void main(String [] args)
         {
                 System.out.print("2乘以8等于"+2<<3);//向右位移3位,就是乘以2的3次方/--8
         }
}

计算机底层全是二进制,位运算就是对二进制位的操作,所以首选位移,技术含量高点,运算速度肯定是要快点的....

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
这是最快的。
System.out.println(16);
回复 使用道具 举报
用位运算最快,2<<3 ------>2*8
class Demo
{
        //主函数
        public static void main(String[] args)
        {
                //输出语句
                System.out.println("2*8="+2<<3);
        }
}
回复 使用道具 举报
虽然用左移是运算最快的!但它只局限于2的次觅。
回复 使用道具 举报
陈山洪 来自手机 高级黑马 2013-4-17 07:33:10
12#
位运算最快来自: Android客户端
回复 使用道具 举报
smile_joe 发表于 2013-4-16 21:40
class jishu
{
         public static void main(String [] args)

兄台,你的注释可不要误导新手哟,2乘以8的最高效运算方法的确是位移,但貌似你说的位移方向搞反了,应该是向左位移三位,记住一点:左移n就是乘以2的n次幂,右移n,则是除以2的n次幂
回复 使用道具 举报
yinbolove576 发表于 2013-4-17 08:26
兄台,你的注释可不要误导新手哟,2乘以8的最高效运算方法的确是位移,但貌似你说的位移方向搞反了,应该 ...

不好意思,写对说错,谢谢你....
回复 使用道具 举报
smile_joe 发表于 2013-4-17 10:17
不好意思,写对说错,谢谢你....

客气了,相互学习嘛,呵呵~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马