java如何判断数字的位数?

Python06

java如何判断数字的位数?,第1张

按照num/10 语句,不是应该显示 它是个99位数吗?java是如何判断为3位数的?

答 999/10 = 99        此时num = 99  count=1

    99/10=9           此时num = 9  count=2

    9/10=0            此时num = 0  count=3

    一共在while循环里执行了三次, 所以判断是3位数

提示

System.out.println("它是个"+ count+"位的数!") 

这里输出的是count 这个变量,表达的是次数,

不是输出num 这个数,此时num经过循环已经等于0了

用个例子来说明:

 ‍

double d = 345.678

String s = "hello!" 

int i = 1234

//"%"表示进行格式化输出,"%"之后的内容为格式的定义。

System.out.printf("%f",d)//"f"表示格式化输出浮点数。

System.out.printf("%9.2f",d)//"9.2"中的9表示输出的长度,2表示小数点后的位数。

System.out.printf("%+9.2f",d)//"+"表示输出的数带正负号。

System.out.printf("%-9.4f",d)//"-"表示输出的数左对齐(默认为右对齐)。

System.out.printf("%+-9.3f",d)//"+-"表示输出的数带正负号且左对齐。

System.out.printf("%d",i)//"d"表示输出十进制整数。

System.out.printf("%o",i)//"o"表示输出八进制整数。

System.out.printf("%x",i)//"d"表示输出十六进制整数。

System.out.printf("%#x",i)//"d"表示输出带有十六进制标志的整数。

System.out.printf("%s",s)//"d"表示输出字符串。

System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s",d,i,s)//可以输出多个变量,注意顺序。

System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s)//"X$"表示第几个变量。

计算机计算的基本单位是bit,一般叫"字",也叫“位”。

“字”的取值是0和1。.

而字对于一般的软件计算来说,太小了,所以将8个字放在一起形成byte(字节)。

这个byte也叫位,因为在java里一般不计算bit,byte被当做最基本得计算单位。

数据类型使用位数的多少,主要是为方便空间的控制。

一般我们整形计算的时候要使用int型的变量。

有的时候int型不能满足计算要求,就要使用long型的。

但是一旦声明了一个long型的变量,在这个变量的生存周期结束前,它就永远占用64byte的空间。这在早起对计算机的负担是很大的。所以设计了不同的变量类型,方便程序员控制程序运行空间的大小