在此程序中,您将学习在Java中使用while循环和for循环来计算位数。
示例1:使用while循环对整数中的位数进行计数
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("数值的位数: " + count); } }
运行该程序时,输出为:
数值的位数: 4
在此程序中,将循环while循环,直到测试表达式num != 0的计算结果为0(false)。
第一次迭代后,num将除以10,其值将为345。然后,将count其递增为1。
在第二次迭代之后,num 的值将为34,并且将count增加为2。
在第三次迭代之后,num的值将为3,并且将count增加为3。
第四次迭代后,num的值将为0,并且将count递增为4。
然后将测试表达式评估为false,并终止循环。
示例2:使用for循环对整数中的位数进行计数
public class NumberDigits { public static void main(String[] args) { int count = 0, num = 123456; for(; num != 0; num/=10, ++count) { } System.out.println("数值的位数: " + count); } }
运行该程序时,输出为:
数值的位数: 6
在此程序中,不使用while循环,而是使用不带任何主体的for循环。
在每次迭代中,num的值除以10,然后count增加1。
如果num != 0为false,即num= 0 ,则for循环退出。
由于for循环没有主体,因此可以将其更改为Java中的单个语句,如下所示:
for(; num != 0; num/=10, ++count);