在Java中int類型強轉為byte類型,強轉為byte之後,數據超出byte的表述範圍是如何計算的?
public class Aa {
public static void main(String[] args) { byte i = 88; byte r = 68; byte f = (byte) (i + r); System.out.println(f);
}
}
輸出結果為-100
88+68=156;二進制表示為:1001 1100,進行強制轉換為byte後,因為byte是有符號的,取值範圍為:-128-127;1001 1100是一byte數的補碼,我們將它轉為原碼,即減一後再取反,但符號位不能變,得到:1110 0100,這個數也就是-100了
總結 :(88+68)-127+(-128)-1
在Java中int類型強轉為byte類型,強轉為byte之後,數據超出byte的表述範圍是如何計算的?
相關推薦
在Java中int類型強轉為byte類型,強轉為byte之後,數據超出byte的表述範圍是如何計算的?
ava -128 div string blog pub 二進制 就是 轉換 public class Aa { public static void main(String[] args) { byte i = 88; byte r = 68; byte f = (
Java 中int、String的類型轉換
對象 異常 拋出異常 div 作用 使用 ava long value int -> String int i=12345;String s="";第一種方法:s=i+"";第二種方法:s=String.valueOf(i);這兩種方法有什麽區別呢?作用是不是一樣的呢
Java中Int轉byte分析
span 進行 二進制表示 size 二進制 light bsp 變量 byte[] 針對聲明變量 int i = 3,j = 8; int占4個字節,i = 3 在Java二進制表示: 00000000 00000000 00000000 000000
java中int與byte相互轉換
基礎內容簡介 在做轉換之前先要明確幾個簡單的概念。首先本文是以java為語言,以int為例子。 long資料型別在原理上是一致的。 1 int 在java中是32位, byte是8位。 2 原碼,反碼,補碼簡介
java中int與byte,以及long與byte之間的轉換
轉載請註明出處! 做專案時候根據協議在傳送網路流的時候需要將所有int及long轉換成byte,因此寫了以下的轉換方法,希望能幫助到需要的朋友 ^_^ 閒話少說,直接上碼。 public cla
關於JAVA中:int和byte的互相轉換
一、基礎概念: 1.原碼: 一個byte是一個位元組,一個位元組是由8個位組成。其中最高位是符號位,範圍就是127 ~ -128。 即:0111 1111~1111 1111 也就是說:0000 0001 代表的是1, 1000 0000 代表的是-128
解析Java中的String、StringBuilder、StringBuffer類(一)
world! index ret ofb body 理解 rgs private 引入 引言 String 類及其相關的StringBuilder、StringBuffer 類在 Java 中的使用相當的多,在各個公司的面試中也是必不可少的。因此,在本周,我打算花費一些時間
JAVA中所有與集合有關的實現類都是這六個接口的實現類
length 數字 pack 有關 結構 [] rgs val 無序 JAVA中所有與集合有關的實現類都是這六個接口的實現類。 Collection接口:集合中每一個元素為一個對象,這個接口將這些對象組織在一起,形成一維結構。 List接口代表按照元素一定的相關順序
java中int->String 3種方式效率分析
nbsp ecif digits bsp num turn mode getchar obj 1.0 int轉String方式 java中,int轉String共有如下3種方式 (1) 字符串拼接(即num+"") (2) String.valueof(num) (3) I
Java中實現多線程繼承Thread類與實現Runnable接口的區別
不同 static oid 實現 nbsp 運行 我們 增強 ner Java中線程的創建有兩種方式: 1. 通過繼承Thread類,重寫Thread的run()方法,將線程運行的邏輯放在其中 2. 通過實現Runnable接口,實例化Thread類
java中int與Integer的區別
java中int與Integer的區別 本文引自: https://www.cnblogs.com/guodongdidi/p/6953217.html. 兩者之間的區別 1、Integer是int的包裝類,int則是java的一種基本資料型別 2、Integer變數必須例項化後
Java中的執行緒池及其實現類ThreadPoolExecutor
前言:像我們連線資料庫一樣,需要不斷地建立連線,銷燬連線,如果都是人為地一個個建立和銷燬的話會很費勁,所以就誕生了資料庫連線池,執行緒池的產生也是同樣的道理。 執行緒池預先建立了若干數量的執行緒,並且不能由使用者直接對執行緒的建立進行控制,在這個前提下重複使用固定或較為固定數目的執行緒來完成任務
Java中int和integer的比較
Java中,數值型的建立和字串有類似的地方,Integer是Java為了使用物件的屬性和方法給int準備的型別。字串 String s = “bag”; 這樣建立會在常量池中查詢 bag,沒有的話就新建,並不會在堆裡新建。 同樣地,Integer i = 11;也不會在堆裡
JAVA中String,StringBuilder以及StringBuffer三個類之間的區別
不斷地學習,不斷地填充自己的技術庫,學習Java已經有一段時間了,由一開始的不適應到後來的足以靈活應對,不僅僅取決於老師的精緻講課,還有就是依靠我的學習祕籍:記錄自己的學習筆記。今天給大家分享的技術學習筆記是JAVAString,StringBuilder以及StringBuffer這三個類之間的區別。 &
Java中4種許可權修飾符修飾類、與成員的分析
前言:在最近做專案中,對許可權修飾符又有了新的認知,對這塊知識的脈絡也越來越清晰,來部落格mark一下。 (ps.文中所說的default修飾指的是不加任何許可權修飾符。此外,為了敘述的方便,本文中涉及的類指的是外部類,涉及的成員指的是非靜態成員方法) 1、類的2種許
java中int和integer的區別
1、Integer是int的包裝類,int則是java的一種基本資料型別 2、Integer變數必須例項化後才能使用,而int變數不需要 3、Integer實際是物件的引用,當new一個Integer時,實際上是生成一個指標指向此物件;而int則是直接儲存資料值
Java中int與integer
int是基本資料型別,僅僅代表數的範圍;而integer是int的封裝類,還包含了很多與資料有關的方法; int的預設值是0;而integer的預設值是null; int的變數名和數值都儲存在棧記憶體中;而integer是引用堆記憶體的一個物件,變數名在棧記憶體,
java中的內部類(巢狀類)
1.內部類:定義在另一個類裡面的類 外部類:包含內部類的類 2.內部類的名字不允許與外部類的名字相同。因為在外部引用它時必須給出帶有外部類名的完整名稱(外部類名.內部類名) 3.內部類可以是抽象類或介面,若是介面,則可以由其他巢狀類實現。 4.巢狀類不要濫
java 中 int 型別的取值範圍
int 是整型,對應我們數學上認識的數值為整數,就是沒有小數點的數。 在計算機系統中,我們為這種型別的數定了一個範圍(其實我們為每一種型別都定了範圍,至於這個範圍是多少.....(當然不能那麼快說)。 為什麼要有這個範圍的限制呢,這是為了物盡所用,不能浪費。打個比方,我
Java中的基本資料型別及其封裝類
Java中的資料型別有兩種,基本資料型別和引用資料型別,引用資料型別的建立是 需要去new一個物件,該物件的記憶體分配在堆區,同時棧區會儲存一個指向該物件的引用, 但是對於一些簡單資料的建立,用new的方式就不是很有效了,因此JVM中定義了一套對於基本 資料型別的描述,它