do
{
count++;
num=num/10;
}
while(num >0);
System.out.println("它是个" + count + "位的数!");
}
}
"/"是整除运算,每一次执行num/10,num就会少了一位,比如原来是三位数,执行后就是两位数了,执行一次之后判断条件num>0是否符合,符合就继续循环执行,直到num是个位数时,此时num/10=0,循环结束。
将原num理解成一个多位的数组,执行循环体时每一位都要遍历到(个、十、百、千……),在对最后一位执行循环体后num=0,此时就该跳出循环啦。循环条件当然是num>0
对原来的数字进行循环除于10的操作,最后的一次操作,操作到一定的次数结果会小于1,对于整型数来说,不满1将会被舍去,结果为0,所以判断条件是num>0.
因为对于/算法,是省略余数的。num=num/10,你可以看作是把num直接去掉最后一位的操作。