Java變量 數(shù)據(jù)類型轉(zhuǎn)換

實例:

class Demo3{

public static void main(String[] args){

/*定義四種整數(shù)的數(shù)據(jù)類型*/

byte b = 127;

short s = 50;

int i = 100;

long l = 10000l;

//常量5默認是int類型,b+5可能超出byte的最大值,所以jvm定義byte和short和char

//變量參與運算的時候數(shù)據(jù)類型會提升到int

? int bresult? = b + 5;

? //short sresult = s + 1;錯誤

? int sresult = s + 1;

? System.out.println(bresult); //132

? System.out.println(sresult); //51

//定義一個a字符,每一個字符都對應(yīng)一個ascii碼,在字符參與運算時是用ascii嗎參與運算

char c = 'a';

//char變量參與運算的時候數(shù)據(jù)類型會提升到int

int cresult = c + 3;

System.out.println(cresult); //100

//byte和short和char直接運算也會轉(zhuǎn)換成int

int sresult1 = b + s;

System.out.println(sresult1); //177


//常量的計算可以使用byte,short,char接收(常量的計算結(jié)果不能溢出)

byte iresult1 = 4+3;

System.out.println(iresult1); // 7

int i1 = 2147483647;

//如果int計算時發(fā)生溢出就會變?yōu)樨撝担粫詣愚D(zhuǎn)換成long

int i2 = i1 + 100;

System.out.println(i2); // -2147483549

long lresult1 = i1 + l;

System.out.println(lresult1); // 2147493647

float f = 1.5f;

//float類型和long類型計算,會轉(zhuǎn)換成float,

float fresult = f + l;

System.out.println(fresult); // 10001.5

double d = 10.5d;

//float類型和double數(shù)據(jù)類型計算時,會轉(zhuǎn)換成double

double dresult = d + f;

System.out.println(dresult); // 12.0

/////////////////////////////////////////////////////////////強制轉(zhuǎn)換

//在java程序中同一個范圍內(nèi)變量名字不能重復(fù)

int i3 = 97;

//把int類型的數(shù)據(jù)強制轉(zhuǎn)換成byte

byte b3 = (byte)i3;

//把int類型的數(shù)據(jù)強制轉(zhuǎn)換成short

short s3 = (short)i3;

//把int類型的數(shù)據(jù)強制轉(zhuǎn)換成char

char c3 = (char)i3;

System.out.println(b3);? // 97

System.out.println(s3); // 97

System.out.println(c3); // a

? int i4 = 202;

? //注意如果被轉(zhuǎn)換的值超過了要轉(zhuǎn)換的值的最大值,轉(zhuǎn)換時精度就損失了,不準確。

? byte b4 = (byte)i4;

? System.out.println(b4); // -56

? //把long類型的數(shù)據(jù)轉(zhuǎn)換成int

? long l4 = 10000l;

? int i5 = (int)l4;

? System.out.println(i5); //10000


? //把小數(shù)float轉(zhuǎn)換成整型,直接把小數(shù)舍棄(非四舍五入)

? float f1 = 12.5f;

? int i6 = (int)f1;

? System.out.println(i6); //12

? //把小數(shù)double轉(zhuǎn)換成整型,直接把小數(shù)舍棄(非四舍五入)

? double d1 = 15.5f;

? int i7 = (int)d1;

? System.out.println(i7); // 15

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一類:邏輯型boolean 第二類:文本型char 第三類:整數(shù)型(byte、short、int、long) c...
    Jasonme閱讀 1,195評論 0 4
  • 目錄:1.基本數(shù)據(jù)類型2.引用數(shù)據(jù)類型 數(shù)據(jù)類型: Java語言是一個強類型語言 1.所有變量,必須先聲明類型...
    Ansaxnsy閱讀 1,128評論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,898評論 18 399
  • 曉黛云墨閱讀 438評論 6 1
  • 一、介紹架構(gòu) 有關(guān)android架構(gòu)方面的知識少之又少,而對與架構(gòu)的理解有關(guān)架構(gòu)的文章也都是智者見智仁者見...
    王猛biu閱讀 704評論 0 6

友情鏈接更多精彩內(nèi)容