本帖最后由 fancyLeeo 于 2011-08-18 11:32:09 编辑

解决方案 »

  1.   

    问题1:不晓得估计少些了(long)
    问题2:表示double类型数
      

  2.   

    1.前面括号不写类型比如long绝对会报错
    2.D应该是double吧 没什么意义吧
      

  3.   

    括号里什么也不写是编译不过去的,这个地方括号里必须加long。
      

  4.   


    1.确实会报错,会报“Type mismatch: cannot convert from void to long”!因为我这个是从jar包反编译过来的,所以可能有这种写法也不报错,但是真是的源码里应该不是这么写的!
    2.可能也跟反编译有关。刚查了一下,Math.random是返回double的,*10000.0就已经是double了没必要再加个D。其实就是写*1000也没问题!
    3.谢谢各位
      

  5.   

     问题2:  D和d加在数字后面表示double型F,f表示float型L,l表示long型0x123456表示16进制
    o123456注意最前面的是字母o表示八进制
      

  6.   

    1.涉及到强制转型,因为右侧的结果是double型,左侧是long,将double型转为long型会丢失精度,如需要转换只能用"()"进行强制转型。2.完全可以不加D,因为浮点数默认的就是double型,当然,加上也没有错。
      

  7.   


    如果我的目的就是为了丢失精度呢?我从random处就是为了取出一个4位的整数,于是,就可以用强制类型转换了。嘿嘿,我刚想明白的!