int num = 999;
int count = 0;
do
{
count++;
num=num/10;
}
while(num >0);
System.out.println("它是个" + count + "位的数!");
首先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型范围了