在Java中,我們經(jīng)常會(huì)遇到兩個(gè)看上去非常相似的字符,那便是01和0l。雖然它們?cè)谝曈X上非常相似,但實(shí)際上它們?cè)贘ava中所代表的含義是完全不同的。
首先,我們來看看01。在Java中,01是一個(gè)二進(jìn)制的整數(shù)數(shù)字常量。它的語法形式為“0b”后面跟著一串由0和1組成的數(shù)值。例如,0b1010表示的是十進(jìn)制數(shù)值的10。
int binaryNum = 0b1010; System.out.println(binaryNum); // 輸出 10
相對(duì)地,0l則是一個(gè)十六進(jìn)制的長整型數(shù)字常量。它的語法形式為以“0x”或“0X”為前綴,后面跟著一串由0-9、A-F或a-f組成的數(shù)值,并以“L”或“l(fā)”結(jié)尾。例如,0x7fffffffffffffffl表示的是一個(gè)最大值為9223372036854775807的長整型數(shù)值。
long longNum = 0x7fffffffffffffffl; System.out.println(longNum); // 輸出 9223372036854775807
需要注意的是,如果不加“l(fā)”或“L”,則會(huì)被Java視為一個(gè)整型數(shù)字,可能會(huì)導(dǎo)致數(shù)據(jù)類型不匹配的問題。
下一篇css 一行最長