Java中十六進(jìn)制和十進(jìn)制之間互相轉(zhuǎn)換代碼示例
前言
Java中的十進(jìn)制與十六進(jìn)制轉(zhuǎn)換,刷題的時(shí)候遇到了這樣的問(wèn)題,因此記錄一下
一、十進(jìn)制轉(zhuǎn)十六進(jìn)制,用到的方法為toHexString()
話不多說(shuō),直接上代碼
如將十進(jìn)制數(shù)字 108 轉(zhuǎn)換為十六進(jìn)制
代碼示例如下:
public static void main(String [] args) { Scanner input = new Scanner(System.in); while(input.hasNextInt()){ Integer a = input.nextInt(); System.out.println("數(shù)字"+a+"的十六進(jìn)制為:"+a.toHexString(a)); } }
運(yùn)行結(jié)果:
108
數(shù)字:108的十六進(jìn)制為:6c
666
數(shù)字:666的十六進(jìn)制為:29a
這樣將一個(gè)十進(jìn)制數(shù)字轉(zhuǎn)換為無(wú)符號(hào)的十六進(jìn)制便完成了,若要顯示“0x”符號(hào),可在結(jié)果進(jìn)行拼接,代碼示例如下
public static void main(String [] args) { Scanner input = new Scanner(System.in); while(input.hasNextInt()){ Integer a = input.nextInt(); System.out.println("數(shù)字"+a+"的十六進(jìn)制為:"+"0x"+a.toHexString(a)); } }
注意:這里在使用toHexString()函數(shù)將十進(jìn)制轉(zhuǎn)換為十進(jìn)制時(shí),接受的輸入?yún)?shù)a為Integer類型,倘若用int類型接收,則無(wú)法使用方法toHexString()
二、十六進(jìn)制轉(zhuǎn)為十進(jìn)制,用到的方法為parseInt()
在十六進(jìn)制轉(zhuǎn)換為十進(jìn)制的時(shí)候,接收到的輸入?yún)?shù)可能會(huì)出現(xiàn)兩種情況,一種是帶有“0x”符號(hào)的,一種是沒(méi)有符號(hào)的,因此需要做出判斷
代碼示例如下:
public static void main (String [] args){ Scanner input = new Scanner(System.in); while (input.hasNextLine()){ String str = input.nextLine(); if(str.substring(0,2).equals("0x")){ System.out.println("有符號(hào)十六進(jìn)制數(shù):"+str+"轉(zhuǎn)為十進(jìn)制的值為:"+Integer.parseInt(str.substring(2),16)); }else { System.out.println("無(wú)符號(hào)十六進(jìn)制數(shù):"+str+"轉(zhuǎn)為十進(jìn)制的值為:"+Integer.parseInt(str,16)); } } }
運(yùn)行結(jié)果:
29a
無(wú)符號(hào)十六進(jìn)制數(shù):29a轉(zhuǎn)為十進(jìn)制的值為:666
0x6c
有符號(hào)十六進(jìn)制數(shù):0x6c轉(zhuǎn)為十進(jìn)制的值為:108
總結(jié)
以上就是Java中十六進(jìn)制和十進(jìn)制之間相互轉(zhuǎn)換的一個(gè)一個(gè)方法,十進(jìn)制轉(zhuǎn)十六進(jìn)制的時(shí)候,用的函數(shù)為toHexString(待轉(zhuǎn)換的十進(jìn)制數(shù)字),十六進(jìn)制轉(zhuǎn)十進(jìn)制的時(shí)候用的函數(shù)為parseInt(待轉(zhuǎn)換的字符串,進(jìn)制表示),
相關(guān)文章
java中實(shí)現(xiàn)對(duì)象排序的兩種方法(Comparable,Comparator)
這篇文章主要給大家介紹了關(guān)于java中實(shí)現(xiàn)對(duì)象排序的兩種方法,一種是實(shí)現(xiàn)Comparable進(jìn)行排序,另一種是實(shí)現(xiàn)Comparator進(jìn)行排序,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12MyBatis insert操作插入數(shù)據(jù)之后返回插入記錄的id
今天小編就為大家分享一篇關(guān)于MyBatis插入數(shù)據(jù)之后返回插入記錄的id,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03Spring IOC源碼之bean的注冊(cè)過(guò)程講解
這篇文章主要介紹了Spring IOC源碼之bean的注冊(cè)過(guò)程講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09SpringBoot配置ShedLock分布式定時(shí)任務(wù)
ShedLock是一個(gè)在分布式環(huán)境中使用的定時(shí)任務(wù)框架,這篇文章主要介紹了SpringBoot配置ShedLock分布式定時(shí)任務(wù),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05java計(jì)算機(jī)器人的運(yùn)動(dòng)范圍
這篇文章主要為大家詳細(xì)介紹了java計(jì)算機(jī)器人運(yùn)動(dòng)范圍的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目快速搭建詳細(xì)步驟
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程,下面這篇文章主要給大家介紹了一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目快速搭建詳細(xì)步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08java鎖synchronized面試常問(wèn)總結(jié)
這篇文章主要介紹了java鎖synchronized面試常問(wèn)總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12