3 18資料型別與強制轉換

2021-10-22 13:08:35 字數 1606 閱讀 7677

一、基本資料型別轉換

輸出之後是1,因為byte的容量比int少

字元與數字可以相互運算

char

='a'

;byte b0=2;

int k=c+b0;

system.out.

println

(k);

執行結果是99

為什麼會這樣?因為存在ascii碼

任何型別的值和字串進行運算時(+),基本型別的值將自動轉換為字串型別

string str=

"abc"

;int i=1;

system.out.

println

(str + i)

;

輸出結果是abc+1

特別注意:

string str=""+

1+2+

3;system.out.

println

(str)

;//得出123

system.out.

println(3

+4+"hello");

//得出7hello,可以簡單理解為從左向右運算,3+4=7之後,後面運算不動了,直接加上了字串hello

system.out.

println

("hello"+3

+4);

//得出hello34,可以簡單理解為從左向右,但是,字串加任何都是字串,「hello」+3=hello3,它也是字串,再往後,字串加字串等於字串

system.out.

println

('a'+1

+"hello");

//得出98hello,此處可以參考上面ascii碼,字元和數字運算時,字元會用他的ascii碼運算得到98,而98與字串運算時,得到了98hello

system.out.

println

("hello"

+'a'+1

);//得出helloa1,字串加任何等於字串

注意:

char、byte、short之間不可以互相轉換。

小結:

二、強制型別轉換

有一道題目:

short s=5;

s=s-

2;

這是乙個錯誤的表達,在進行s-2的時候,結果會自動轉換為int,但是s是short,將乙個int型賦給乙個short型的s,自然編譯會出錯。

JavaScript資料型別強制轉換

我的個人部落格 基本資料 number,boolean,undefined,null,string 引用資料 object 當0.000 01,小數點後大於等於7位時會自動轉換成科學計數法 當20000 00,當整數部分大於等於22位時會自動轉換成科學計數法。console.log number 1...

強制資料型別轉換之Number型別

強制型別轉換 1.定義 指將乙個資料型別強制轉換為其他的資料型別 型別轉換主要指,將其他的資料型別,轉換為string number,boolean 將其他的資料型別轉換為number 方式一 使用number 函式 字串 數字 1.如果是純數字的字串,則直接將其轉換為數字 2.如果字串中有非數字的...

小端模式與強制資料型別轉換

c 資料型別轉換的問題 include void main int i 0xb62 char c c i cout 這裡為什麼輸出的是b?版本一 有問題,結果無論如何都是34,不能說明34是高位址的還是低位址的 版本二 根據 shineyan1991shineyan1991的建議 從上圖可知,cpu...