java中进制转化只需要记住这两个方法,后续再遇到进制转换的问题,轻松破解!

进制转换的核心就是:

其他进制---》十进制---》其他进制

1、其他进制转成十进制

valueOf() 方法

该方法有以下几种语法格式:

static Integer valueOf(int i)
static Integer valueOf(String s)
static Integer valueOf(String s, int radix)

参数

  • i -- Integer 对象的整数。

  • s -- Integer 对象的字符串。

  • radix --在解析字符串 s 时使用的进制数,用于指定使用的进制数。

返回值

  • Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。

  • Integer valueOf(String s):返回保存指定的 String 的值的 Integer 对象。

  • Integer valueOf(String s, int radix): 返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

例子

public static void main(String[] args) {
System.out.println(Integer.valueOf("25",16)); // 16进制的25转成10进制的值
System.out.println(Integer.valueOf("25",8)); // 8进制的25转成10进制的值
System.out.println(Integer.valueOf("25",10)); // 10进制的25转成10进制的值
}
// 输出结果
37
21
25

或者使用Integer.parseInt()方法

public static void main(String[] args) {
System.out.println(Integer.parseInt("25",16));
System.out.println(Integer.parseInt("25",8));
System.out.println(Integer.parseInt("25",10));
}

2、十进制转成其他进制

该方法有以下几种语法格式:

String toString()
static String toString(int i)

参数

  • i -- 要转换的整数。

返回值

  • toString(): 返回表示 Integer 值的 String 对象。

  • toString(int i): 返回表示指定 int 的 String 对象。

例子

public static void main(String[] args) {
System.out.println(Integer.toString(25,2)); // 将10进制的25转成2进制的值
System.out.println(Integer.toString(25,8)); // 将10进制的25转成8进制的值
System.out.println(Integer.toString(25,16)); // 将10进制的25转成16进制的值
System.out.println(Integer.toString(25,12)); // 将10进制的25转成12进制的值
}

或者使用常用的转进制的方法

public static void main(String[] args) {
System.out.println(Integer.toBinaryString(25)); // 将10进制的25转成2进制的值
System.out.println(Integer.toOctalString(25)); // 将10进制的25转成8进制的值
System.out.println(Integer.toHexString(25)); // 将10进制的25转成16进制的值
}

综合上面这个两种方法,我们可以简单写一个方法,将任意进制i的字符串s转成指定进制e的结果

// 将任意进制的字符串转成目标进制的字符串
public static String toRadixEvery(String s,int i,int e){
Integer tem=Integer.valueOf(s,i); // 将i进制的字符串转成10进制的整数
return Integer.toString(tem,e); // 将10进制的tem转成e进制 // return Integer.toString(Integer.valueOf(s,i),e);
}

例子:

public static void main(String[] args) {
System.out.println(toRadixEvery("19",16,8));
} // 16进制的19转成8进制的值为31

一招搞定进制转换--java篇的更多相关文章

  1. 进制转换 Java day6

    今天周末学习的不多,只学习了一些二进制转十进制,八进制.十六进制,以及数据单位 二进制转十进制 我们都知道十进制转二进制就是除以2取余的方法.那二进制转到十进制又如何处理呢,今天我来学习以下 我们看看 ...

  2. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  3. Java基础笔记(3) 进制与进制转换

    ---恢复内容开始--- 进制 在一般生活中,我们一直在应用的十进制,就是逢十进一,而今天我们要接触的是,计算机编程常用的进制!首先我们要知道,计算机内部运算采用的是二进制,也就是逢二进制! 1.什么 ...

  4. Java进制转换, 数据类型, 运算符

    1:进制转换 转换规则: 先把数据的每一位上的系数乘以对应基数的次幂(低位从零开始),然后相加即可 十进制到其他进制 规则:除基取余,直到商为0,最后将余数反转 十进制到二进制: 除2取余,直到商为0 ...

  5. JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)

    主函数类MainDemo.java package com.itcast.test20140109; import java.util.ArrayList; import java.util.Coll ...

  6. 《java版进制转换》

    import java.util.Scanner; class 十进制转成十六进制_2 { public static void main(String[] args) { int num = 0; ...

  7. Java:进制转换

    进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于 ...

  8. Java基础复习之一篇:关健字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换

    1.关健字 1.1.被Java语言赋予特定意义的单词(如:class,interface,public ,static) 1.2.全部是小写 1.3.注意事项(goto和const作为关健字保留起来) ...

  9. java高精度进制转换

    POJ1131   由于本题只有小数部分(整数部分均为0),故在进制转换的之后只能自己手写转换方法了.   8进制转换10进制的方法为,以0.75为例,应是7*8^-1 + 5*8^-2.所以呢,可以 ...

  10. java中Integer包装类的具体解说(java二进制操作,全部进制转换)

    程序猿都非常懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往须要操作Integer,或者各种进制的转换等等.我今天就为大家具体解说一下Integer的使用吧.看代码: ...

随机推荐

  1. Idea 本人开发常用几款插件

    先说 idea装插件 首先,进入插件安装界面: 标注 1:显示 IntelliJ IDEA 的插件分类, All plugins:显示 IntelliJ IDEA 支持的所有插件: Enabled:显 ...

  2. ffmpeg之avformat_alloc_output_context2

    函数原型: int avformat_alloc_output_context2(AVFormatContext **ctx, const AVOutputFormat *oformat, const ...

  3. junit运行Parameterized参擞化测试

    Parameterized (参数化)的测试运行器允许你使用不同的参数多次运行同一个侧试. 运行此测试的必备条件: 1.必须使用@RunWith(Parameterized.class) 2.必须声明 ...

  4. Java集合框架学习(十二) Arrays类详解

    声明:部分内容参考自:https://liuyanzhao.com/2863.html Arrays类介绍 这个类包含了用于操作数组的各种方法,诸如:排序和搜索. 这个类还包含一个静态方法asList ...

  5. 项目实战:Qt西门子PLC通讯调试和模拟工具(包含PLC上位机通讯,PLC服务器)

      前言   西门西PLC.台达触摸屏.法兰克机床等等多年以前玩得比较多,改造机床.维修机床.给机床编程等等,没事还能车个零件啥的,对于多年以前的研发改造,有时间就重新整理下.  先上点有历史年代感的 ...

  6. django学习第七天---创建多表结构,创建第三张表的三种方式,创建模型类时的一些元信息配置,多表增加

    图书管理系统作业知识点整理 知识点1: print(request.POST.dict())#dict()方法能将QueryDict类型数据转换为普通字典类型数据 传数据时,可以用**{}打散的方式来 ...

  7. 【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误

    问题描述 PHP应用突然遇见了500 The page cannot be displayed because an internal server error has occurred.错误,但是如 ...

  8. 【Azure 事件中心】如何查看事件中心的消息中具体报文内容呢?

    问题描述 如何查看事件中心的消息中具体报文内容呢? 问题解答 正常情况是通过 Event Hub 的消费端获取消息进行处理查看,但是没有客户端代码的情况下,也可以通过微软的默认客户端Service B ...

  9. Java与sql中的字符串表示

    在 Java 中,双引号 "" 用于表示字符串字面量,而单引号 '' 用于表示字符字面量.这意味着在 Java 中,您可以使用双引号来包围包含任意数量字符的字符串,包括零个字符(空 ...

  10. Docker部署clickhouse

    Clickhouse特点 完备的DBMS:不仅是个数据库,也是个数据库系统 列存储和数据压缩:典型的olap数据库特性 向量化并行:利用CPU的SIMD(Single INstruction MUlt ...