導航:首頁 > 編程語言 > javaintegerbyte

javaintegerbyte

發布時間:2023-02-02 13:02:04

『壹』 初學java,為什麼說Integer是引用數據類型

int是JAVA八大基本數據類型(byte,shor,int,long,char,boolean,float,double)之一。JAVA語言為八大基本數據提供了包裝類,Integer對應是int類型的包裝類,就是把int類型包裝成Object對象。Java有2種不同的類型:引用類型和原始類型。Int是java的原始數據類型,Integer是java的為int提供的封裝類。Java為每個原始類型提供了封裝類。int是基本數據類型Integer是int的一個包裝類(wrapper),他是類不是基本數據類型,他的內部其實包含一個int型的數據那為什麼要用Integer呢,主要是因為面向對象的思想,因為Java語言是面向對象的,這也是它只所以流行的原因之一,對象封裝有很多好處,可以把屬性也就是數據跟處理這些數據的方法結合在一起,比如Integer就有parseInt()等方法來專門處理int型相關的數據,另一個非常重要的原因就是在Java中絕大部分方法或類都是用來處理類類型對象的,如ArrayList集合類就只能以類作為他的存儲對象,而這時如果想把一個int型的數據存入list是不可能的,必須把它包裝成類,也就是Integer才能被List所接受。所以Integer的存在是很必要的。始數據類型引用數據類型oatdoubleDouble引用類型和原始類型的行為完全不同,並且它們具有不同的語義。引用類型和原始類型具有不同的特徵和用法,它們包括:大小和速度問題,這種類型以那種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例時所指定的預設值。對象引用實例變數的預設值為null,而原始類型實例變數的預設值與它們的類型有關。Integer類的使用方法1、屬性。staticintMAX_VALUE:返回最大的整型數;staticintMIN_VALUE:返回最小的整型數;staticClassTYPE:返回當前類型。例子代碼:System.out.println("Integer.MAX_VALUE:"+Integer.MAX_VALUE);結果為:Integer.MAX_VALUE:21474836472、構造函數。Integer(intvalue):通過一個int的類型構造對象;Integer(Strings):通過一個String的類型構造對象;例子代碼:Integeri=newInteger("1234");生成了一個值為1234的Integer對象。3、方法。說明:1.所有方法均為public;2.書寫格式:[修飾符]如:staticintparseInt(Strings)表示:此方法(parseInt)為類方法(static),返回類型為(int),方法所需參數為String類型。1.byteValue():取得用byte類型表示的整數;2.intcompareTo(IntegeranotherInteger):比較兩個整數。相等時返回0;小於時返回負數;大於時返回正數。例子代碼:Integeri=newInteger(1234);System.out.println("i.compareTo:"+i.compareTo(newInteger(123)));結果為:i.compareTo:13.intcompareTo(Objecto):將該整數與其他類進行比較。如果o也為Integer類,進行方法2的操作;否則,拋出ClassCastException異常。4.staticIntegerdecode(Stringnm):將字元串轉換為整數。5.doubledoubleValue():取得該整數的雙精度表示。6.booleanequals(Objectobj):比較兩個對象。7.floatfloatValue():取得該整數的浮點數表示。8.staticIntegergetInteger(Stringnm):根據指定名確定系統特徵值。9.staticIntegergetInteger(Stringnm,intval):上面的重載。10.staticIntegergetInteger(Stringnm,Integerval):上面的重載。11.inthashCode():返回該整數類型的哈希表碼。12.intintValue():返回該整型數所表示的整數。13.longlongValue():返回該整型數所表示的長整數。14.staticintparseInt(Strings):將字元串轉換成整數。s必須是時進制數組成,否則拋出NumberFormatException異常。15.staticintparseInt(Strings,intradix):以radix為基數radix返回s的十進制數。所謂的基數就是「幾進制」。例子代碼:Strings1=newString("1010");System.out.println("Integer.parseInt(Strings,intradix):"+Integer.parseInt(s1,2));結果為:Integer.parseInt(Strings,intradix):10即s1在此例中被看成是二進制,返回十進制就是10。16.shortshortValue():返回該整型數所表示的短整數。17.staticStringtoBinaryString(inti):將整數轉為二進制數的字元串。18.staticStringtoHexString(inti):將整數轉為十六進制數的字元串。19.staticStringtoOctalString(inti):將整數轉為八進制數的字元串。20.StringtoString():將該整數類型轉換為字元串。21.staticStringtoString(inti):將該整數類型轉換為字元串。不同的是,此為類方法。22.staticStringtoString(inti,intradix):將整數i以基數radix的形式轉換成字元串。例子代碼:inti1=54321;System.out.println("Integer.toString(inti,intradix):"+Integer.toString(i1,16));結果為:Integer.toString(inti,intradix):d43123.staticIntegervalueOf(Strings):將字元串轉換成整數類型。24.staticIntegervalueOf(Strings,intradix):將字元串以基數radix的要求轉換成整數類型。

『貳』 JAVA中怎麼將int數據轉換為byte數據

JAVA中根據以下代碼將int數據轉換為byte數據:

public static byte[] int32ToBytes(int val) {

int size = Integer.SIZE / Byte.SIZE;

byte[] ret = new byte[size];

for (int i = 0; i < size; ++i) {

ret[i] = (byte) (val << (8 * i) >> 56);

}

return ret;

}

(2)javaintegerbyte擴展閱讀

Java也提供了一個byte數據類型,並且是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。

byte,即位元組,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。在計算機中,8位帶符號二進制數的取值范圍是[-128, 127],所以在Java中,byte類型的取值范圍也是[-128, 127]。

運算規則:

####正數的最高位都是 0 ,正數的值就是二進製表示的值。 ####

####負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到得值。 ####

『叄』 java Integer類的byteValue()方法怎樣使用

該方法的作用是以byte類型返回該Integer的值。只取低八位的值,高位不要。

函數原型:

publicbytebyteValue()

所屬包:

java.lang.Integer

示例:

publicclassIntegerDemo{
publicstaticvoidmain(String[]args){
Integerobj=newInteger(10);
//
byteb=obj.byteValue();
System.out.println("Valueofb="+b);//輸出Valueofb=10
}
}

『肆』 java為什麼要有integer類型

int是JAVA八大基本數據類型(byte,shor,int,long,char,boolean,float,double)之一。JAVA語言為八大基本數據提供了包裝類,Integer對應是int類型的包裝類,就是把int類型包裝成Object對象。Java有2種不同的類型:引用類型和原始類型。Int是java的原始數據類型,Integer是java的為int提供的封裝類。Java為每個原始類型提供了封裝類。int是基本數據類型Integer是int的一個包裝類(wrapper),他是類不是基本數據類型,他的內部其實包含一個int型的數據那為什麼要用Integer呢,主要是因為面向對象的思想,因為Java語言是面向對象的,這也是它只所以流行的原因之一,對象封裝有很多好處,可以把屬性也就是數據跟處理這些數據的方法結合在一起,比如Integer就有parseInt()等方法來專門處理int型相關的數據,另一個非常重要的原因就是在Java中絕大部分方法或類都是用來處理類類型對象的,如ArrayList集合類就只能以類作為他的存儲對象,而這時如果想把一個int型的數據存入list是不可能的,必須把它包裝成類,也就是Integer才能被List所接受。所以Integer的存在是很必要的。始數據類型引用數據類型oatdoubleDouble引用類型和原始類型的行為完全不同,並且它們具有不同的語義。引用類型和原始類型具有不同的特徵和用法,它們包括:大小和速度問題,這種類型以那種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例時所指定的預設值。對象引用實例變數的預設值為null,而原始類型實例變數的預設值與它們的類型有關。Integer類的使用方法1、屬性。staticintMAX_VALUE:返回最大的整型數;staticintMIN_VALUE:返回最小的整型數;staticClassTYPE:返回當前類型。例子代碼:System.out.println("Integer.MAX_VALUE:"+Integer.MAX_VALUE);結果為:Integer.MAX_VALUE:21474836472、構造函數。Integer(intvalue):通過一個int的類型構造對象;Integer(Strings):通過一個String的類型構造對象;例子代碼:Integeri=newInteger("1234");生成了一個值為1234的Integer對象。3、方法。說明:1.所有方法均為public;2.書寫格式:[修飾符]如:staticintparseInt(Strings)表示:此方法(parseInt)為類方法(static),返回類型為(int),方法所需參數為String類型。1.byteValue():取得用byte類型表示的整數;2.intcompareTo(IntegeranotherInteger):比較兩個整數。相等時返回0;小於時返回負數;大於時返回正數。例子代碼:Integeri=newInteger(1234);System.out.println("i.compareTo:"+i.compareTo(newInteger(123)));結果為:i.compareTo:13.intcompareTo(Objecto):將該整數與其他類進行比較。如果o也為Integer類,進行方法2的操作;否則,拋出ClassCastException異常。4.staticIntegerdecode(Stringnm):將字元串轉換為整數。5.doubledoubleValue():取得該整數的雙精度表示。6.booleanequals(Objectobj):比較兩個對象。7.floatfloatValue():取得該整數的浮點數表示。8.staticIntegergetInteger(Stringnm):根據指定名確定系統特徵值。9.staticIntegergetInteger(Stringnm,intval):上面的重載。10.staticIntegergetInteger(Stringnm,Integerval):上面的重載。11.inthashCode():返回該整數類型的哈希表碼。12.intintValue():返回該整型數所表示的整數。13.longlongValue():返回該整型數所表示的長整數。14.staticintparseInt(Strings):將字元串轉換成整數。s必須是時進制數組成,否則拋出NumberFormatException異常。15.staticintparseInt(Strings,intradix):以radix為基數radix返回s的十進制數。所謂的基數就是「幾進制」。例子代碼:Strings1=newString("1010");System.out.println("Integer.parseInt(Strings,intradix):"+Integer.parseInt(s1,2));結果為:Integer.parseInt(Strings,intradix):10即s1在此例中被看成是二進制,返回十進制就是10。16.shortshortValue():返回該整型數所表示的短整數。17.staticStringtoBinaryString(inti):將整數轉為二進制數的字元串。18.staticStringtoHexString(inti):將整數轉為十六進制數的字元串。19.staticStringtoOctalString(inti):將整數轉為八進制數的字元串。20.StringtoString():將該整數類型轉換為字元串。21.staticStringtoString(inti):將該整數類型轉換為字元串。不同的是,此為類方法。22.staticStringtoString(inti,intradix):將整數i以基數radix的形式轉換成字元串。例子代碼:inti1=54321;System.out.println("Integer.toString(inti,intradix):"+Integer.toString(i1,16));結果為:Integer.toString(inti,intradix):d43123.staticIntegervalueOf(Strings):將字元串轉換成整數類型。24.staticIntegervalueOf(Strings,intradix):將字元串以基數radix的要求轉換成整數類型。

『伍』 java中的byte有什麼作用

在今天,byte位元組就是一個八位元組,使用其它位數的機器都進了博物館。 java也提供了一個byte數據類型,並且是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。不幸的是,byte的用作計數的時間遠少於用表達基本內存單元的時間。比如從stream里讀入一個雙位元組字元,我們先收到2個byte。為了把byte轉換成適當的形式,需要對byte值做一些比較,比如判斷字元集要比較其是否在某個編碼范圍內,比如GBK 0x8140~0xFEFE,然後new適當的string。 signed byte 把 0x00 ~ 0xff 映射成 0~127 -128~-1 兩段,注意當與literal比較時,java自動將literal識別成int 可以用 下面的小程序來驗證: 1 public class JavaByte 2 { 3 public static void main(String[] args) 4 { 5 byte b = 0; 6 for ( int i = 0; i <= 0xff; ++i ) 7 { 8 b = (byte)i; 9 System.out.print(" "+i+":"+b+", "); 10 } 11 } 12 } 當收到(0xC7B0)這個GBK字元時,要判斷 0x81 <= 0xC7 <= 0xFE 是否成立,實際變成判斷 -127 < -57 < -2,唔,萬幸,可以直接比較 low < ch < high。如果要判斷 0x00 <= 0xC7 <= 0x80 (ASC Char),這回麻煩了,變成判斷 (0 <= -57 <= 127) || ( 0x57 == -128 )。比較簡單的辦法用 (b+256)%256的辦法令其值回到0~255,或者用&0xff並賦給一個int。考慮到jvm里的byte其實也是32位的,所以在計劃用byte的地方,直接用integer並不會有什麼實際的損失,而 DataInputStream也提供了一個readUnsignedByte()方法返回的是int。所以真正的解決方案是忘掉byte,直接上 int。至於為什麼java沒有unsigned數據類型,照下面這個interview里Jams Golsing的意思,應該是java應該簡單而unsigned算術過於復雜了會讓大多數程序員產生誤解誤用:

『陸』 java 中各種數據類型轉換byte[]的方法

ObjectOutputStream oos = null;//對象輸出流
ByteArrayOutputStream baos = null;//byte數組輸出流
ByteArrayInputStream s = null;//對象輸入流
try {
//序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);//將數組流傳入對象流
oos.writeObject(new Integer(1));//用對象流讀取對象。
byte[] bytes = baos.toByteArray();//用數組流將傳入的對象轉化為byte數組
//反序列化
s = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(s);
Integer i = (Integer)ois.readObject();
System.out.println(i);
} catch (Exception e) {

}以上是把integer類型轉化成byte[]數組類型。註:基本類型要轉化為byte[]數組的話,需要用該基本類型的引用類。比如int的引用類是integer,就行了所有的類型,包括class都可以用這種序列化方式來轉成byte[],

『柒』 Java中int和Integer

java.lang.Integer是一個類.對它的操作要通過類的方法
int是JAVA預設的8中基本數據類型之一.不是類的對象.
int是基本數據類型,Integer是對int進行了封裝的一個類。
聲明為int的變數不需要實例化,聲明為Interger的變數需要實例化
int是基本類型,Integer是包裝類,也就是類。
Integer 是比int 更高級的 數據類型 為什麼java中使用int 而不像vb中那樣使用Integer
int是面向機器底層的數值類型,是Primitive類型的數據類型,而Integer是int的Warpper類,是面向對象的即OOP的對象類型。int 一般只用在數值計算中,而Integer是用在Java的其它要使用對象的地方,比如Map的Key與Value,List與Set的Element若要保存數值信息都要把int包裝成Integer對象使用。
Java 提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。
原始類型 封裝類
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
引用類型和原始類型的行為完全不同,並且它們具有不同的語義。引用類型和原始類型具有不同的特徵和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的預設值。對象引用實例變數的預設值為 null,而原始類型實例變數的預設值與它們的類型有關。
int 一般做為數值參數就夠了
integer 一般做類型轉換的時候用的較

『捌』 java的基本數據類型有哪些

四種八類:

基本數據類型

整數類型:

byte:位元組佔用 1位元組 8位,用來表達最小的數據單位,儲存數據長度為 正負 127;

short:位元組佔用 2位元組 16位,儲存數值長度為 -32768-32767

int:位元組佔用 4位元組 32位,最為常用的整數類型,儲存長度為,-2^31-1~2^31 (21 億)

long:位元組佔用 8位元組 64位,當到達int數值極限時使用,儲存長度為 看圖片:


浮點數類型:

float:單精度浮點型 32位 取值范圍 3.4e-38~3.4e-38

double:雙精度浮點型 64位 ,java中默認的浮點類型 取值范圍 1.7e-308~1.7e-308

字元類型:

char:16位 ,java字元使用Unicode編碼;

布爾類型

boolean : true 真 和 false 假

引用數據類型:

類 class

介面 interface

數組

『玖』 求java編程 位元組byte怎麼轉換成整形int

1.byte的大小為8bits而int的大小為32bits
2.java的二進制採用的是補碼形式

在這里先溫習下計算機基礎理論

byte是一個位元組保存的,有8個位,即8個0、1。
8位的第一個位是符號位,
也就是說00000001代表的是數字1
10000000代表的就是-1
所以正數最大位01111111,也就是數字127
負數最大為11111111,也就是數字-128

上面說的是二進制原碼,但是在java中採用的是補碼的形式,下面介紹下什麼是補碼

1、反碼:
一個數如果是正,則它的反碼與原碼相同;
一個數如果是負,則符號位為1,其餘各位是對原碼取反;

2、補碼:利用溢出,我們可以將減法變成加法
對於十進制數,從9得到5可用減法:
9-4=5因為4+6=10,我們可以將6作為4的補數
改寫為加法:
9+6=15(去掉高位1,也就是減10)得到5.

對於十六進制數,從c到5可用減法:
c-7=5因為7+9=16將9作為7的補數
改寫為加法:
c+9=15(去掉高位1,也就是減16)得到5.

在計算機中,如果我們用1個位元組表示一個數,一個位元組有8位,超過8位就進1,在內存中情況為(100000000),進位1被丟棄。

⑴一個數為正,則它的原碼、反碼、補碼相同
⑵一個數為負,剛符號位為1,其餘各位是對原碼取反,然後整個數加1

-1的原碼為10000001
-1的反碼為11111110
+1
-1的補碼為11111111

0的原碼為00000000
0的反碼為11111111(正零和負零的反碼相同)
+1
0的補碼為100000000(舍掉打頭的1,正零和負零的補碼相同)

Integer.toHexString的參數是int,如果不進行&0xff,那麼當一個byte會轉換成int時,由於int是32位,而byte只有8位這時會進行補位,
例如補碼11111111的十進制數為-1轉換為int時變為好多1啊,呵呵!即0xffffffff但是這個數是不對的,這種補位就會造成誤差。
和0xff相與後,高24比特就會被清0了,結果就對了。

----
Java中的一個byte,其范圍是-128~127的,而Integer.toHexString的參數本來是int,如果不進行&0xff,那麼當一個byte會轉換成int時,對於負數,會做位擴展,舉例來說,一個byte的-1(即0xff),會被轉換成int的-1(即0xffffffff),那麼轉化出的結果就不是我們想要的了。

而0xff默認是整形,所以,一個byte跟0xff相與會先將那個byte轉化成整形運算,這樣,結果中的高的24個比特就總會被清0,於是結果總是我們想要的。

來自博客友zhouyong0的分享

『拾』 JAVA的Integer.byteValue 用C#怎麼寫

我沒學Java,不過根據你的結果來看,你的C#應該這樣寫
List<sbyte> thumbList = new List<sbyte>();
int int_date = 175;
sbyte a = (sbyte)int_date;
thumbList.Add(a);
Console.WriteLine(a);
int int_date2 = 203;
sbyte b = (sbyte)int_date2;
thumbList.Add(b);
Console.WriteLine(b);
int int_date3 = 42;
sbyte c = (sbyte)int_date3;
thumbList.Add(c);
Console.WriteLine(c);

閱讀全文

與javaintegerbyte相關的資料

熱點內容
吉利汽車軟體放哪個文件夾安裝 瀏覽:223
多文件編譯c 瀏覽:539
頭頂加密後為什麼反而更稀疏 瀏覽:791
離心機壓縮機揚程高 瀏覽:656
xshell連接linux命令 瀏覽:5
把多個文件夾的內容合並在一起 瀏覽:481
基於單片機的澆花系統設計ppt 瀏覽:685
卷積碼編解碼及糾錯性能驗證實驗 瀏覽:354
請在刪除驅動器之前暫停加密什麼意思 瀏覽:785
光催化pdf 瀏覽:98
java字元串包含某字元 瀏覽:526
ssm身份認證源碼 瀏覽:466
預排序遍歷樹演算法 瀏覽:671
加密裝置如何打開ping功能 瀏覽:478
python下載372 瀏覽:901
u盤子文件夾隱藏 瀏覽:296
本地誤刪svn文件夾 瀏覽:685
海康威視python通道名 瀏覽:241
如何用app覆蓋全部曲庫 瀏覽:602
變異布林源碼 瀏覽:686