导读:本期聚焦于小伙伴创作的《如何在Java中进行进制转换?八进制前缀0与十六进制前缀0x写法详解》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Java中进行进制转换?八进制前缀0与十六进制前缀0x写法详解》有用,将其分享出去将是对创作者最好的鼓励。

在Java中进行进制转换,既可以通过字面量直接书写不同进制的整数,也可以借助JDK自带的包装类方法实现相互转换。理解八进制前缀0和十六进制前缀0x的写法,是写出正确数值常量的基础。

如何在Java中进行进制转换?八进制前缀0与十六进制前缀0x写法详解

一、Java中的进制字面量写法

Java语言规定整型字面量默认是十进制。如果要表示其他进制,需要遵循特定前缀规则:

  • 二进制:以 0b0B 开头(Java 7及以上)
  • 八进制:以数字 0 开头,例如 010 表示十进制的8
  • 十六进制:以 0x0X 开头,例如 0x10 表示十进制的16

注意八进制前缀就是普通的数字0,后面紧跟合法的八进制数字(0到7)。如果写成 08 就会编译报错,因为8不属于八进制字符。

1. 八进制与十六进制字面量示例

public class LiteralDemo {
    public static void main(String[] args) {
        // 八进制前缀0,010等于十进制8
        int octal = 010;
        // 十六进制前缀0x,0x1F等于十进制31
        int hex = 0x1F;
        System.out.println("octal=" + octal); // 输出 8
        System.out.println("hex=" + hex);     // 输出 31
    }
}

二、使用Integer类进行进制转换

除了字面量,Java的 Integer 类提供了多个静态方法,可以把十进制整数转成其他进制的字符串,也可以把带有前缀或不带前缀的字符串解析成整数。

1. 十进制转其他进制

public class ConvertOut {
    public static void main(String[] args) {
        int num = 100;
        // 转二进制
        String bin = Integer.toBinaryString(num);
        // 转八进制
        String oct = Integer.toOctalString(num);
        // 转十六进制
        String hex = Integer.toHexString(num);
        System.out.println("bin=" + bin);
        System.out.println("oct=" + oct);
        System.out.println("hex=" + hex);
    }
}

2. 其他进制字符串转十进制

使用 Integer.valueOf(String s, int radix)Integer.parseInt(String s, int radix) 可以指定进制基数进行解析。对于带 00x 前缀的字符串,需要先用代码去掉前缀再传入对应基数。

public class ParseDemo {
    public static void main(String[] args) {
        // 解析八进制字符串,去掉前缀0
        String octStr = "010";
        int fromOct = Integer.valueOf(octStr, 8);
        // 解析十六进制字符串,去掉前缀0x
        String hexStr = "0x1F";
        String pureHex = hexStr.replaceFirst("0x", "");
        int fromHex = Integer.valueOf(pureHex, 16);
        System.out.println("fromOct=" + fromOct);
        System.out.println("fromHex=" + fromHex);
    }
}

三、常见错误与注意事项

写法含义是否合法
010八进制,等于十进制8合法
08想写八进制但包含数字8不合法,编译错误
0xG十六进制出现非法字符G不合法,编译错误

在实际项目中,如果读取配置文件或网络数据中的数值字符串,务必明确其进制格式,避免把 012 误当作十进制十二处理。合理利用前缀和方法,就能在Java中安全高效地完成各种进制转换任务。

Java进制转换八进制前缀0十六进制前缀0x修改时间:2026-07-30 03:09:20

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。