java如何得到一个数的首位

java如何得到一个数的首位

作者:Joshua Lee发布时间:2026-02-04阅读时长:0 分钟阅读次数:2

用户关注问题

Q
如何用Java提取一个整数的最高位数字?

我有一个整数,想用Java代码获取它的最高位数字,该怎么实现?

A

使用循环除法获取最高位数字

可以通过不断将数字除以10,直到数字小于10,此时得到的数字就是最高位数字。示例代码:

int num = 12345;
while (num >= 10) {
num /= 10;
}
System.out.println("最高位数字是:" + num);

Q
有没有快捷方法直接得到整数的首位数字?

除了循环除法,有没有更简便的方法来获取整数的第一位数字?

A

将数字转换为字符串并取首字符

可以将整数转换成字符串,获取字符串的第一个字符,再将其转换回整数。例如:

int num = 12345;
String str = String.valueOf(num);
int firstDigit = Character.getNumericValue(str.charAt(0));
System.out.println("首位数字是:" + firstDigit);

Q
如何处理负数获取其首位数字?

如果输入的数字可能是负数,使用上述方法是否还能正确得到其首位数字?

A

先取绝对值再获取首位数字

负数情况下,先用Math.abs()获取数字的绝对值,再用前述方法获取首位数字。例如:

int num = -9876;
num = Math.abs(num);
while (num >= 10) {
num /= 10;
}
System.out.println("首位数字是:" + num);