欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java——Byte類/包裝類的使用說(shuō)明

 更新時(shí)間:2021年02月20日 16:00:22   作者:小妖精_淚汪汪  
這篇文章主要介紹了java——Byte類/包裝類的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Byte類/包裝類

包裝類是一個(gè)常量類,可實(shí)例化 (意義:幫助對(duì)應(yīng)的數(shù)據(jù)類型進(jìn)行數(shù)據(jù)類型)

java數(shù)據(jù)類型包括內(nèi)置數(shù)據(jù)類型和引用數(shù)據(jù)類型

內(nèi)置數(shù)據(jù)類型 :含6中數(shù)字類型(四個(gè)整數(shù)型,兩個(gè)浮點(diǎn)型),一種字符類型,還有布爾類型

byte

byte:數(shù)據(jù)類型占用1個(gè)字節(jié)=8bit,以二進(jìn)制補(bǔ)碼表示的整數(shù)

取值范圍:默認(rèn)值為0,最小值為-128(-2^7);最大值是127(2^7-1)

數(shù)據(jù)類型 關(guān)鍵字 內(nèi)存中占用字節(jié)數(shù) 取值范圍 默認(rèn)值
布爾型 boolean 1 true/false FALSE
字節(jié)型 byte 1 -128~127 0
短整型 short 2 -2^15~2^15-1 0
整型 int 4 -2^31~2^31-1 0
長(zhǎng)整型 long 8 -2^63~2^63-1 0
字符型 char 2 0~2^16-1 '\u000'
單精度浮點(diǎn)型 float 4 1.4013E-45~3.4028E+38 0.0F
雙精度浮點(diǎn)型 double 8 4.9E-324~1.7977E+308 0.0D

用途:byte類型用在大型數(shù)組中節(jié)約空間,主要代替整數(shù),因byte變量占用內(nèi)存的空間只有int類型的1/4;不足是這個(gè)數(shù)取值范圍大,byte不能全部替代

常用方法

A.構(gòu)造方法

public Byte(byte value)
public Byte(String s)

B.普通方法+類方法(對(duì)數(shù)據(jù)類型做轉(zhuǎn)換)

piublic byte byteValue()
public short shortValue()
public int intVlaue()
public long longValue()
public float floatValue()
public double doubleValue()
public String toString()
public static String toString(byte b)

包裝類和基本數(shù)據(jù)類型的對(duì)象關(guān)系

注:常量類是否可以被實(shí)例化主要看構(gòu)造方法

package com.youceedu.test.wrapper; 
public class TestByte { 
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 byte a = 9;
 byte b = -7;
  String result = Byte.toString(a);
 Byte c = new Byte((byte) 9);
 System.out.println(c.floatValue()); 
 System.out.println(result+b);
 } 
}

補(bǔ)充:java的byte數(shù)據(jù)類型總結(jié)||二進(jìn)制的原碼、反碼和補(bǔ)碼

二進(jìn)制的原碼、反碼和補(bǔ)碼

原碼就是二進(jìn)制定點(diǎn)表示法,即最高位為符號(hào)位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大小。

反碼表示法規(guī)定:正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對(duì)其原碼逐位取反,但符號(hào)位除外。

補(bǔ)碼表示法規(guī)定:正數(shù)的補(bǔ)碼與其原碼相同;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1。

正數(shù)

首位表示符號(hào)位,原碼、反碼和補(bǔ)碼都是本身。

負(fù)數(shù)

如何計(jì)算負(fù)數(shù)在計(jì)算機(jī)中的二進(jìn)制(即它的補(bǔ)碼)?

首先對(duì)負(fù)數(shù)的絕對(duì)值取反,然后+1得到負(fù)數(shù)的補(bǔ)碼。

例如:byte a=-5

-5的絕對(duì)值=5 5的二進(jìn)制表示是 0000 0101 取反得到 1111 1010 +1運(yùn)算得到 1111 1011 ,那么1111 1011就是-5的補(bǔ)碼。

也可以這樣,用原碼計(jì)算

例如:byte a=-5 原碼表示 1000 0101

計(jì)算其反碼為 1111 1010

計(jì)算其補(bǔ)碼為 1111 1011

所以 -5在計(jì)算機(jī)中表示為1111 1011

byte

byte的取值范圍為什么是-128~127

byte 表示一個(gè)字節(jié),8bit,其中最高位是符號(hào)位。因此,最大值為 0111 1111,即127;最小值是負(fù)數(shù)為 1000 0000(規(guī)定)【其他數(shù)據(jù)類型的最大最小值也可以這樣以此類推】。在計(jì)算機(jī)中二進(jìn)制都是以補(bǔ)碼的形式表示的,我們也可以這樣來(lái)理解,為什么最小是-128

最小負(fù)數(shù)補(bǔ)碼表示為:1000 0000

由補(bǔ)碼計(jì)算原碼:

1000 0000 作-1 運(yùn)算 得到 0111 1111,取反 1000 0000 因?yàn)樨?fù)數(shù)的補(bǔ)碼是其絕對(duì)值取反,即10000000為最小負(fù)數(shù)的絕對(duì)值,而10000000的十進(jìn)制表示是128,所以最小負(fù)數(shù)是-128

byte與ASCII

標(biāo)準(zhǔn)ASCII 碼也叫基礎(chǔ)ASCII碼,使用7 位二進(jìn)制數(shù)(剩下的1位二進(jìn)制為0)來(lái)表示所有的大寫和小寫字母,數(shù)字0 到9、標(biāo)點(diǎn)符號(hào), 以及在美式英語(yǔ)中使用的特殊控制字符。

ASCII碼表示的范圍是0~127 剛好byte類型可以覆蓋到。因此byte類型和ASCII可以互相轉(zhuǎn)換??梢愿鶕?jù)ASCII對(duì)照表進(jìn)行查看http://tool.oschina.net/commons?type=4

當(dāng)byte類型的變量的值實(shí)時(shí)是在''單引號(hào)里面的時(shí)候,該byte變量的值表示的是ASCII碼,可以通過(guò)ASCII對(duì)照表查看其真實(shí)的數(shù)值。

比如:

public class ByteTest {
 public static void main(String args[]) {
  byte a = 'a';
  byte b = 'B';
  byte c = '4';
 
  System.out.println("a=" + a);
  System.out.println("b=" + b);
  System.out.println("c=" + c);
 }
}

輸出:

a=97
b=66
c=52

byte&0xff的作用

byte->int 因?yàn)閎yte是8位,而int是32位,當(dāng)byte類型轉(zhuǎn)換為int類型的時(shí)候,會(huì)自動(dòng)用符號(hào)位補(bǔ)足高位。例如 -5 1111 1011 轉(zhuǎn)為int 類型會(huì)表示為 1111 1111 1111 1111 1111 1111 1111 1011 其表示的十進(jìn)制的數(shù)值不變。

有的時(shí)候,我們只想保留二進(jìn)制的補(bǔ)碼形式,我們可以用byte&0xff。0xff是十六進(jìn)制,默認(rèn)是int類型,其二進(jìn)制表示為 0000 0000 0000 0000 0000 0000 1111 1111 將byte類型的數(shù)值跟0xff作&操作,可以將高24位變?yōu)?,保留低8位。當(dāng)然對(duì)應(yīng)的十進(jìn)制數(shù)也發(fā)生了變化。(相當(dāng)于將byte變成無(wú)符號(hào)int類型)

例如:byte a=-5 ((int)-5)&0xff

 1111 1111 1111 1111 1111 1111 1111 1011
&
 0000 0000 0000 0000 0000 0000 1111 1111
= 0000 0000 0000 0000 0000 0000 1111 1011

int強(qiáng)轉(zhuǎn)換為byte

例如:

int a=234 byte b=(byte)a -->得到b=-22 因?yàn)?34已經(jīng)超出了byte類型的表示范圍,強(qiáng)轉(zhuǎn)會(huì)直接丟棄高位,保留低8位。

int類型的234的二進(jìn)制表示為:1110 1010【高24位全是0】 強(qiáng)轉(zhuǎn)為byte類型,舍棄高24位得到1110 1010 ,第一位為符號(hào)位1,得到一個(gè)負(fù)數(shù)-22。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • MyBatis中的SQL映射文件配置結(jié)果映射的操作指南

    MyBatis中的SQL映射文件配置結(jié)果映射的操作指南

    MyBatis?是一款優(yōu)秀的?ORM?框架,它提供了多種配置方式來(lái)定義?SQL?語(yǔ)句以及結(jié)果映射規(guī)則,本文將介紹?MyBatis?中的?SQL?映射文件如何配置結(jié)果映射,包括常規(guī)類型、集合類型等多種情況,需要的朋友可以參考下
    2023-07-07
  • java HttpURLConnection 發(fā)送文件和字符串信息

    java HttpURLConnection 發(fā)送文件和字符串信息

    這篇文章主要介紹了java HttpURLConnection 發(fā)送文件和字符串信息的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Spring Boot Logback配置日志過(guò)程解析

    Spring Boot Logback配置日志過(guò)程解析

    這篇文章主要介紹了Spring Boot Logback配置日志過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 聊聊Mybatis反射之ObjectWrapper的使用

    聊聊Mybatis反射之ObjectWrapper的使用

    本文主要介紹了Mybatis反射之ObjectWrapper的使用,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java如何通過(guò)反射取實(shí)體類字段取值

    Java如何通過(guò)反射取實(shí)體類字段取值

    這篇文章主要介紹了Java如何通過(guò)反射取實(shí)體類字段取值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • spring boot請(qǐng)求異常處理并返回對(duì)應(yīng)的html頁(yè)面

    spring boot請(qǐng)求異常處理并返回對(duì)應(yīng)的html頁(yè)面

    這篇文章主要介紹了spring boot處理請(qǐng)求異常并返回對(duì)應(yīng)的html頁(yè)面,包括404異常處理和500異常處理,需要的朋友可以參考下
    2017-07-07
  • idea安裝jerbel及文件上傳下載的實(shí)現(xiàn)示例

    idea安裝jerbel及文件上傳下載的實(shí)現(xiàn)示例

    JRebel是一個(gè)Java開發(fā)工具,它是一款用于實(shí)時(shí)代碼重載的插件,本文主要介紹了idea安裝jerbel及文件上傳下載的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解下
    2023-09-09
  • Mybatis實(shí)現(xiàn)一對(duì)一、一對(duì)多關(guān)聯(lián)查詢的方法(示例詳解)

    Mybatis實(shí)現(xiàn)一對(duì)一、一對(duì)多關(guān)聯(lián)查詢的方法(示例詳解)

    這篇文章主要介紹了Mybatis實(shí)現(xiàn)一對(duì)一、一對(duì)多關(guān)聯(lián)查詢的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Java中Spring擴(kuò)展點(diǎn)詳解

    Java中Spring擴(kuò)展點(diǎn)詳解

    這篇文章主要介紹了Java中Spring技巧之?dāng)U展點(diǎn)的應(yīng)用,下文Spring容器的啟動(dòng)流程圖展開其內(nèi)容的相關(guān)資料,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • 詳解SpringBoot和SpringBatch 使用

    詳解SpringBoot和SpringBatch 使用

    Spring Batch 是一個(gè)輕量級(jí)的、完善的批處理框架,旨在幫助企業(yè)建立健壯、高效的批處理應(yīng)用。這篇文章主要介紹了詳解SpringBoot和SpringBatch 使用,需要的朋友可以參考下
    2018-07-07

最新評(píng)論