第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

類型為int的文字xyz超出范圍

類型為int的文字xyz超出范圍

弒天下 2019-12-13 17:10:52
目前,我正在使用Java處理數(shù)據(jù)類型,如果我正確理解該類型,則可long接受的值介于-9,223,372,036,854到+9,223,372,036,854,775,807之間?,F(xiàn)在,您可以在下面看到,我創(chuàng)建了一個(gè)Long變量,名為testLong,盡管當(dāng)我將9223372036854775807插入為值時(shí),我收到一條錯(cuò)誤消息:“ int類型的文字9223372036854775807超出范圍?!蔽也恢罏槭裁此鼘ong數(shù)據(jù)類型稱為int有人有想法么?下面的代碼:char testChar = 01;byte testByte = -128;int testInt = -2147483648;short testShort = -32768;long testLong = 9223372036854775807;float testFoat;double testDouble = 4.940656458412;boolean testBool = true;
查看完整描述

3 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

L在末尾添加大寫(xiě)字母:


long value = 9223372036854775807L;

否則,編譯器將嘗試將文字解析為int,因此出現(xiàn)錯(cuò)誤消息


查看完整回答
反對(duì) 回復(fù) 2019-12-14
?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

我不知道為什么它將長(zhǎng)數(shù)據(jù)類型稱為int


它不是。您應(yīng)該學(xué)會(huì)信任編譯器消息(尤其是當(dāng)它們來(lái)自健全,現(xiàn)代的編譯器而不是古老的C / C ++編譯器時(shí))。盡管他們有時(shí)說(shuō)的語(yǔ)言可能很難理解,但他們通常不會(huì)對(duì)您說(shuō)謊。


讓我們?cè)賮?lái)看一看:


int 9223372036854775807的文字超出范圍。


注意,它在任何地方都沒(méi)有提及您的變量testLong或類型long,因此它與初始化無(wú)關(guān)。該問(wèn)題似乎在其他時(shí)候發(fā)生。


現(xiàn)在讓我們研究消息的某些部分:


int告訴我們他想將某些東西視為一種int價(jià)值(這不是您想要的!)

“超出范圍”非常清楚:某些內(nèi)容不在預(yù)期范圍內(nèi)(可能是int)

“文字”:現(xiàn)在很有趣:什么是文字?

我將離開(kāi)舒適的列表,討論一下文字:文字是在代碼中具有一定價(jià)值的地方。有String文字,int文字,class文字等等。每次您在代碼中明確提及一個(gè)值時(shí),它都是文字。


因此,它實(shí)際上并不是在困擾您關(guān)于變量聲明,而是數(shù)字本身,值就是在困擾您。


您可以在a long和an int均可接受的上下文中使用相同的文字來(lái)輕松地驗(yàn)證這一點(diǎn):


System.out.println(9223372036854775807);

PrintStream.println可以帶一個(gè)int或一個(gè)long(或幾乎其他任何東西)。這樣的代碼就可以了,對(duì)吧?


不會(huì)。也許應(yīng)該這樣,但是根據(jù)規(guī)則,這樣做并不好。


問(wèn)題在于“某些數(shù)字”被定義為int文字,因此必須在定義的范圍內(nèi)int。


如果要編寫(xiě)long文字,則必須通過(guò)附加L(或小寫(xiě))使其明確l,但我強(qiáng)烈建議您始終使用大寫(xiě)形式,因?yàn)樗菀组喿x且更容易被誤認(rèn)為是1。


請(qǐng)注意,float(postfix F/ f)和double(postfix D/ d)也會(huì)發(fā)生類似的問(wèn)題。


旁注:您將意識(shí)到?jīng)]有byteor short文字,您仍然可以將值(通常是int文字)分配給byte和short變量:這可能是由于§5.2中有關(guān)Assignment Converson的特殊規(guī)則所致:它們?cè)试S分配較大類型的常量表達(dá)式到byte,short,char或int 如果值是類型的范圍內(nèi)。



查看完整回答
反對(duì) 回復(fù) 2019-12-14
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

long ak = 34778754226788444L/l;

兩者都使用,但一次只能使用大寫(xiě)L或小寫(xiě)l。


為什么要使用L / l?因?yàn)閘ong是整數(shù)數(shù)據(jù)類型的一部分。


查看完整回答
反對(duì) 回復(fù) 2019-12-14
  • 3 回答
  • 0 關(guān)注
  • 511 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)