在此程序中,您將學(xué)習(xí)在Java中使用while循環(huán)和for循環(huán)來計(jì)算位數(shù)。
public class NumberDigits { public static void main(String[] args) { int count = 0, num = 3452; while(num != 0) { // num = num/10 num /= 10; ++count; } System.out.println("數(shù)值的位數(shù): " + count); } }
運(yùn)行該程序時(shí),輸出為:
數(shù)值的位數(shù): 4
在此程序中,將循環(huán)while循環(huán),直到測試表達(dá)式num != 0的計(jì)算結(jié)果為0(false)。
第一次迭代后,num將除以10,其值將為345。然后,將count其遞增為1。
在第二次迭代之后,num 的值將為34,并且將count增加為2。
在第三次迭代之后,num的值將為3,并且將count增加為3。
第四次迭代后,num的值將為0,并且將count遞增為4。
然后將測試表達(dá)式評估為false,并終止循環(huán)。
public class NumberDigits { public static void main(String[] args) { int count = 0, num = 123456; for(; num != 0; num/=10, ++count) { } System.out.println("數(shù)值的位數(shù): " + count); } }
運(yùn)行該程序時(shí),輸出為:
數(shù)值的位數(shù): 6
在此程序中,不使用while循環(huán),而是使用不帶任何主體的for循環(huán)。
在每次迭代中,num的值除以10,然后count增加1。
如果num != 0為false,即num= 0 ,則for循環(huán)退出。
由于for循環(huán)沒有主體,因此可以將其更改為Java中的單個(gè)語句,如下所示:
for(; num != 0; num/=10, ++count);