long lightspeed =
299792458
;long distance = lightspeed*
31536000
; system.out.
println
(distance)
;
該**執行結果為9454254955488000
long distance =
299792458
*31536000
; system.out.
println
(distance)
;
如果把中間變數取消,直接想*兩數,結果為1144840960
產生差異的原因是,數值預設為int型別,運算結果超出int的取值範圍就會自動閹割,即使變數為long,但在賦值前就已經閹割了,加了long中間變數則不會出現該問題。
解決是,較大數字運算時,在數字後加l
long distance =
299792458
*31536000
;
不一樣又不一樣的 木板接水
空地上豎立著n個從左到右排列的木板,它們可以把水擋住,但溢位最邊上木板的水將會流到空地上。已知木板間距都是單位1,現給定每個木板的高度,請求出總共能接住的水量?說明一點,這裡只考慮間距 寬度 和高度,不考慮第三個維度,因此水量是平方單位。木板高度分別是2,1,3,那麼我們可以接住2 2 4平方單位的...
不一樣的簡潔
less is more是設計領域對現代主義的解讀,主張功能決定形式 forms follow function 廢除一切不必要的裝飾以及重複的資訊,它的基礎就是理性主義。如果它被解讀成 要簡單,清晰,明確 應該說是不夠完全的,因為只看到了表面的 less 卻忽視了實質的 more 少即是多 les...
不一樣的for迴圈
提到for迴圈,我們肯定就想到一種寫法 for int x 0 x 3 x 這是一種很常見的寫法,但是使用for迴圈,我們都形成了一種固化的思維,其實for迴圈也可以很不一樣。for迴圈的格式是這樣的 for 初始化表示式 迴圈條件表示式 迴圈後的操作表示式 如果我們這樣寫乙個for迴圈 編譯沒有通...