『壹』 哪位高手來解決一下:java中short類型數據如何轉換成boolean類型
現在只有自己寫代碼,你可以在set方法中轉換,在Hibernate中Java中的boolean型對應Mysql的bool(或bit或tinyint)型
『貳』 java 中如何將字元串轉換成16位bit型數據
String s = "a";
int[] i = s.toCharArray();
static String Integer.toBinaryString(i[0]);
希望有幫助
『叄』 java中的數據類型
java中的數據類型分兩大類分別是基本類型和引用數據類型。
一、基本類型
1)Java中的數據類型有八種,即基本類型。具體如下:
數據類型 位數 取值范圍:
Boolean 1 True|False
Byte 8 -128~127
Short 16 -32768~32767
Int 32 -2e31~2e31-1
Long 64 -2e63~2e63-1
Float 32 略
Double 64 略
Char 16 0~65535
『 /u0000』 ~』uFFFF『
二、引用數據類型
1)定義一個byte變數 如:byte b= -256;
由於-256超出了』Byte』的取值范圍,所以要使程序不報錯,有一下幾種解決方法:
A:更改變數的數據類型(如:將byte改為int);
B:更改變數名的賦值,使其包括在變數的數據類型的值域內;
C:進行強制轉換:如: byte b=(byte)-256:
『進行強制轉換後,雖然程序不在報錯,但是有可能會使原值的精度收到影響』
D:定義一個浮點類型數時,記得要在數值的後面加上「f」或「F」。(如:Float f=10000.0f;)
E:若定義 Char c=a;定義 int n=c;則輸出的n值為「a「的ASCII值,即97。
2)引用數據類型的定義
A:對象都是引用數據類型
B:應用類型使用NEW調用構造方法進行賦值
C:在Java中,除了基本數據類型以外,其餘的全都屬於引用數據類型, 如:
a:API中的類,如String,File等;
b:數據;
c:自定義的類,如Cars,Student
d:對象全部是引用數據類型。
(3)javashort轉bit擴展閱讀
其他數據類型:
在java中,String本身也提供了很多的方法供我們使用:
獲取到指定索引位置的字元:char c = 字元串.charAt(索引位置);
獲取到指定索引位置的字元:char c = 字元串.charAt(索引位置);
獲取第一次出現在字元串中的字元:int index = 字元串.index('a');
獲取在字元串中字元的索引位置:int index = 字元串.index('a',1);
如果想比較兩個字元串是否相等:字元串.equeals(字元串);
判斷字元串是否為空:字元串.isEmpty();
獲取字元串的長度:字元串.length();
根據某一個條件,將字元串進行分割:字元串.split("abc");
根據條件取出內容:字元串.substring(開始位置,結束位置);
『肆』 java 詳細介紹short,byte,char三種類型,我分不清
byte:byte在java中占據一個位元組即用8位bit表示,因為是有符號數,所以它的表示範圍是-128-127.如果在運算過程中超出了范圍限制就出現溢出。
char:char在java中占據兩個位元組,即用16位表示一個char類型的數據。由於char是無符號的所以其表示範圍是0-65536.當計算超過其表示範圍時,系統會自動將結果轉換為int類型。
short:short在java中占據兩個位元組也是由16位表示,因為short是有符號數據故其表示範圍是-32768-32767
根據需要可用來節省內存的使用。
『伍』 Java能否將位元組流轉換為bit流:
解析一下
10101000
10100111
----------------
10100000
//將最後一個1消去
所以執行多少次就是多少個1
『陸』 java bit怎麼調
能夠只使用 1 個 bit 存儲信息的就只有 boolean 型的布爾真假值類型,但是它的值就只有 true 或者 false,強制性轉換成數字也就只有 0 和 1,你不可能寫出其他數字的,而且這樣寫數字比你輕松地定義一個 int 型的數據要麻煩地多。
順便附上一個數據類型佔用存儲空間大小的表格:
類型 佔用 bit(位)
byte(位元組) 8
short(短整型) 16
int(整型) 32
long(長整型) 64
float(單精度浮點型) 32
double(雙精度浮點型) 64
char(字元) 16
boolean(布爾型) 1
另外如果你是要計算的話,所有參與計算的整數都會被轉換成 int 類型,所有參與計算的小數都會被轉換成 double 類型,所以真的沒有必要,也沒有辦法一個位一個位地寫數字。
『柒』 java 與運算 和 short類型
1、java 與運算:
& 和 && 相同點:
都表示「與」操作。這里的「與」和數學中的「與或非」中的「與」意義相同,都遵循「一假必假」原則。即「與」符號兩邊的元素只要有一個為假,"與"操作執行後的結果就為假。
& 和 && 的區別:
1)& 表示「按位與",這里的」位「是指二進制位(bit)。
例:十進制數字8 轉化為二進制是:1000 ;數字9 轉化為二進制是1001 。
則如有以下程序:
js">publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(9&8);
}
}
輸出結果應該是:8
原因:1001 & 1000 = 1000 。 計算機中一般1表示真,0表示假。最左邊一位1&1=1,最右邊一位1&0 = 0.
2) && 表示邏輯」與「 ,即java中的boolean值才可以存在於&&符號的左右兩側。
true && false = false ,true && true = true , 依舊是"一假必假"。
值的注意的是:&& 符號有所謂的「短路原則」,當 A && B 出現時,如果A經判斷是假,那麼B表達式將不會獲得執行或被判斷的機會。直接結果就為假。
註:關於十進制與二進制的轉換,簡單的說每四位可以遵循」8421「原則,1001即8+1=9,1011即8+2+1=11
2、shot(短整型)是16bit長的帶符號整數,范圍是-32768~32767。
『捌』 java中char與short有什麼區別
在Java中,來char是16bit長的無符號整數源,因此范圍是:0~65535,而short則是16bit長的帶符號整數,范圍是-32768~32767。 所以,兩者雖然字長相同,但意義卻不一樣(表示範圍並不完全重合或包含),因此不管是char轉換成short,還是short轉換成char,都屬於數值的「窄化轉換」(Narrowing Primitive Conversion)。 窄化轉化都可能「丟失精度」,因此必須強制轉換。雖然,這里的「丟失精度」跟從int到short的丟失精度給人的感覺似乎不一樣,但仔細想想也沒有什麼區別,一方面,char有16個bit表示數值,而short用於表示數值大小的只有15個bit,因此,從char到short會「丟失數值精度」,而另一方面,short有1個bit表示數值的符號,而char卻根本沒有這么個符號位(所有的bit都用來表示數值大小了),所以從short到char也可能「丟失精度」,只是這里丟失的是有關正負的「精確程度」。
『玖』 有關這段byte類型運算的java代碼作用
java中byte是8bit,short是16bit,所以兩個byte可以合並成一個short。
(data[i * 2]&0xff) | (data[i * 2+1]&0xff) << 8,這個表達式的意思是將data數組偶數位置上的數字取出做short的低8位,奇數位置上的數字取出做高8位。
|是位或,就是為了拼湊成16位的數字。
<<8是將原來的8位二進制向左移動8位,變成後八位全是0的數字。
『拾』 java的類型轉換問題。int a = 123456;short b = (short)a;System.out.println(b);為什麼結果是-7616
這個從二進制來解釋:
int 是 32 位,也就是最多能表示長度為 32 位的二進制整數。第一位是符號位,表示正負,0 表示正的,1 表示負的。當首位為 1(為負)時,把所有的位取反(0 變成 1,1 變成 0),然後再 + 1,就是它的正數相反數。
short 是 16 位,長度短了,其他和 int 一樣的。
然後看你的問題,123456 本來是 int,有 32 位,二進製表示為:0000 0000 0000 0001 1110 0010 0100 0000。
然後你轉成了 short,short 最大 16 位,截取最後 16 位,就是 1110 0010 0100 0000,這個數肯定不是原來那個數了,首位是 1,那麼就是負數,取反加一以後是 0001 1101 1100 0000,這轉成十進制就是 7616,這是相反數,所以是 -7616。
看明白了嗎?不明白問我。