long l1 = 2147483648; //error 原因:是因为程序默认将2147483648看做是int类型,而2147483648已经超出了int类型的取值范围,所以会报错。 正确的写法:在为long类型赋值的时候,需要在后面加上“L”。 eg:
long l1
= 2147483648L
;
程序会默认的把整型的字面值当做int类型。 ~~ 2. long l = 888;为什么不报错? 原因:因为888在int的取值范围内。自动类型转换把int类型转成了long类型。 ~~ 3. 怎么从long类型转换到int类型?
int i1
= (
int)
11;
从容量大的向容量小的类型转换时,需要强制类型转换,可能会损失精度,不太建议使用。 ~~ 4. byte b = 127; \n short s = 32767; 这两句是正确的,只要不超过各自的取值范围就可以。
ps:十七的判断对错就可以做了哦!