Java編程long數(shù)據(jù)類型的使用問題
在Java編程中經(jīng)常遇到一些整數(shù)類型的使用問題,下面我們來看看長整形數(shù)據(jù)使用問題。
今天在寫一個java線程的時候,想讓線程休眠720小時候繼續(xù)執(zhí)行,代碼如下:
long runSperiod = 720 * 60 * 60 * 1000; Thread.sleep(runSperiod)
啟動線程測試的時候,發(fā)現(xiàn)線程并沒有按照預(yù)想的720小時候后執(zhí)行,而是不停在執(zhí)行,最后跟蹤代碼發(fā)現(xiàn) runSperiod 的值時負數(shù)。仔細研究后發(fā)現(xiàn),java在處理幾個數(shù)相乘時,如果幾個數(shù)都是 int 類型,那么計算出來的值就是 int 型,上面的計算機結(jié)果就是 int 型,但是超出了java里對于 int 類型的范圍,所以結(jié)果是負數(shù)。
解決方法很簡單,只要在相乘的數(shù)字后面加上L即可(只要一個數(shù)字后面加即可),標識該數(shù)字類型是長整形,計算出來的結(jié)果就是 long 型。
long runSperiod = 720L * 60 * 60 * 1000; Thread.sleep(runSperiod)
在通常情況下,如果JAVA中出現(xiàn)了一個整數(shù)數(shù)字比如35,那么這個數(shù)字就是int型的,如果我們希望它是byte型的,可以在數(shù)據(jù)后加上大寫的 B:35B,表示它是byte型的,同樣的35S表示short型,35L表示long型的,表示int我們可以什么都不用加,但是如果要表示long型 的,就一定要在數(shù)據(jù)后面加“L”。
總結(jié)
以上所述是本文Java編程數(shù)據(jù)類型long的使用問題的全部內(nèi)容,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。感謝大家對本站的支持。
相關(guān)文章
使用ServletInputStream()輸入流讀取圖片方式
這篇文章主要介紹了使用ServletInputStream()輸入流讀取圖片方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10SpringBoot + JPA @ManyToMany的操作要點說明
這篇文章主要介紹了SpringBoot + JPA @ManyToMany的操作要點說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Java平臺調(diào)試體系原理分析和實踐整理 遠程Debug
這篇文章主要介紹了Java平臺調(diào)試體系原理分析和實踐整理 遠程Debug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03idea 創(chuàng)建 maven web 工程流程(圖文教程)
這篇文章主要介紹了idea 創(chuàng)建 maven web 工程流程(圖文教程),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05jpa使用manyToOne(opntional=true)踩過的坑及解決
這篇文章主要介紹了jpa使用manyToOne(opntional=true)踩過的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10