課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
int num = 999;
int count = 0;
do
{
? ?count++;
? ?num=num/10;?
}
while(num >0);
System.out.println("它是個" + count + "位的數!");
2017-08-11
源自:Java入門第一季(IDEA工具)升級版 4-15
正在回答
首先jdk中定義int占4個字節,也就是32位,
32位可以理解為jvm只給分配32個格子的空間,用以存放數據。
但是Java中int有正負之分。所以32個格子中占用一個格子標識正負。
所以只能用31個格子來標識數值。
所以int能標識的最大/最小數字是:2的31次方:+/-?2147483648(剛好十位數),
如果要測試到11位,建議把 ? int類型改成long int 就行了
折_柳 提問者
我也很絕望_但只能繼續學啊 回復 折_柳 提問者
Java代碼中直接書寫的數字是int類型的,就是說數字的范圍在 -2^31 到 2^31 - 1 這個范圍之中.
應該是超出int型范圍了
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
4 回答判斷一個數(小于10位)的位數。為什是死循環了。求解!
2 回答測試數據測試數據123123加微信
3 回答最多只能到999999999 9位嗎?不能10位嗎
2 回答int num=999, num=num/10 就此題而言怎么是三位數 99.9; 9.99;0.999循環后不就是兩位數嗎
1 回答為什么是3位數?而不是顯示 99位數?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-08-11
首先jdk中定義int占4個字節,也就是32位,
32位可以理解為jvm只給分配32個格子的空間,用以存放數據。
但是Java中int有正負之分。所以32個格子中占用一個格子標識正負。
所以只能用31個格子來標識數值。
所以int能標識的最大/最小數字是:2的31次方:+/-?2147483648(剛好十位數),
如果要測試到11位,建議把 ? int類型改成long int 就行了
2017-08-11
Java代碼中直接書寫的數字是int類型的,就是說數字的范圍在 -2^31 到 2^31 - 1 這個范圍之中.
2017-08-11
應該是超出int型范圍了