Java源码中的发现:快速判断一个int值是几位数
判断一个int值是几位数,要是我自己实现,估计又会想到除法和模运算了,偶然在java标准API源码中发现的写法,很强大。
public class Test { final static int[] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999, 99999999, 999999999, Integer.MAX_VALUE }; static int sizeOfInt(int x) { for (int i = 0;; i++) if (x <= sizeTable[i]) return i + 1; } public static void main(String[] args) { System.out.println(sizeOfInt(1234)); System.out.println(sizeOfInt(123)); System.out.println(sizeOfInt(12345)); System.out.println(sizeOfInt(12)); } }