新聞中心
一、變量類型的轉(zhuǎn)換

(一)自動(dòng)類型轉(zhuǎn)換也叫隱式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過(guò)程中不需要顯式地聲明。需要滿足兩個(gè)條件:第一是兩種數(shù)據(jù)類型相互兼容,第二是目標(biāo)類型取值范圍要大于源類型。
1.當(dāng)把一個(gè)表數(shù)范圍小的數(shù)值或變量直接賦給另一個(gè)表數(shù)范圍大的變量時(shí),系統(tǒng)將可以進(jìn)行自動(dòng)類型轉(zhuǎn)換。
例如:
- double d = 3; //int自動(dòng)轉(zhuǎn)換為double類型3.0再賦值。
- 3+1.0; //表達(dá)式的類型為所有操作數(shù)的最高類型,即double類型。
2.當(dāng)把任何基本數(shù)據(jù)類型的值和字符串值進(jìn)行連接運(yùn)算時(shí),基本類型的值將自動(dòng)類型轉(zhuǎn)換為字符串類型。
(二)強(qiáng)制類型轉(zhuǎn)換也叫顯式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型之間的轉(zhuǎn)換需要進(jìn)行顯式地聲明。當(dāng)兩種數(shù)據(jù)類型不能相互兼容或目標(biāo)類型取值范圍小于源類型,自動(dòng)類型轉(zhuǎn)換就不能進(jìn)行。所以需要強(qiáng)制類型轉(zhuǎn)換。
1.當(dāng)把一個(gè)表數(shù)范圍大的數(shù)值或變量直接賦給另一個(gè)表數(shù)范圍小的變量時(shí),范圍將溢出,出現(xiàn)錯(cuò)誤。
例如:
- short s = 5; //5在short的范圍內(nèi),允許賦值,5將被看成是short類型的。
- s = s + 2; //2是int類型,s+2表達(dá)式類型為int,賦值給short類型,將發(fā)生溢出,報(bào)錯(cuò)。
2.強(qiáng)制類型具體格式如下:
目標(biāo)類型 變量=(目標(biāo)類型)值
例如:
- s = (short)(s+2);//將int類型強(qiáng)制轉(zhuǎn)換成short類型。
需要注意一點(diǎn)就是強(qiáng)制類型轉(zhuǎn)換可能會(huì)造成信息丟失。
二、運(yùn)算符
(一)算術(shù)運(yùn)算符
與算術(shù)相關(guān)運(yùn)算符+、-、*、/,就是加減乘除,也被成為四則運(yùn)算。另外還有一個(gè)%稱為模數(shù)運(yùn)算符或余數(shù)運(yùn)算符。算術(shù)運(yùn)算符使用上和學(xué)過(guò)的加減乘除一樣,先乘除后加減。
算術(shù)運(yùn)算符看起來(lái)比較簡(jiǎn)單和容易理解。在實(shí)際使用時(shí)還有很多需要注意的問(wèn)題:
1.在自增++和自減--的運(yùn)算時(shí),如果是運(yùn)算符++或--放在操作數(shù)的前面則是先進(jìn)行自增或自減運(yùn)算,再進(jìn)行其他運(yùn)算。反之,如果運(yùn)算符放在操作數(shù)的后面則是先進(jìn)行其他運(yùn)算再進(jìn)行自增或自減。
例如:
- int a=2; //聲明一個(gè)int類型變量a并賦值為2
- int b=3;//聲明一個(gè)int類型變量b并賦值為3
- int x=a+b++;//聲明一個(gè)int類型變量x
- System.out.print("b="+b);
- System.out.print("x="+x);
上面代碼輸出結(jié)果是b=4,x=5。具體分析:
首先是定義了3個(gè)int類型,其中a=2,b=3,當(dāng)x進(jìn)行a+b++運(yùn)算,因?yàn)檫\(yùn)算符++寫在后面,所以是先進(jìn)行運(yùn)算,然后再自增。變量b參與加法運(yùn)算時(shí)值仍然是3,x=5。變量b先進(jìn)行運(yùn)算后自增,b的值為4。
(二)比較運(yùn)算符
數(shù)學(xué)上有大于,小于,等于的比較運(yùn)算符,java也提供這些運(yùn)算符,這些運(yùn)算符稱為比較運(yùn)算符。
例如:
- System.out.printf("3>2 結(jié)果%b%n",3>2);
- System.out.printf("3>=2 結(jié)果%b%n",3>=2);
- System.out.printf("3<2 結(jié)果%b%n",3<2);
- System.out.printf("3<=2 結(jié)果%b%n",3<=2);
- System.out.printf("3==2 結(jié)果%b%n",3==2);
- System.out.printf("3!=2 結(jié)果%b%n",3!=2);
輸出結(jié)果是:
- 3>2 結(jié)果true
- 3>=2 結(jié)果true
- 3<2 結(jié)果false
- 3<=2 結(jié)果false
- 3==2 結(jié)果false
- 3!=2 結(jié)果true
比較運(yùn)算符是對(duì)兩個(gè)數(shù)值或變量進(jìn)行比較,結(jié)果是一個(gè)布爾值true或false。
(三)邏輯運(yùn)算符
邏輯運(yùn)算符用于對(duì)布爾型的數(shù)據(jù)進(jìn)行操作,結(jié)果也是一個(gè)布爾值。在邏輯上“且(AND)”、“或(OR)”、“反相(NOT)”,在java也提供這些邏輯運(yùn)算符,分別是&&(AND)、||(OR)、!(NOT)。
例如:
- int number=35;
- System.out.println(number>30&&number<40);
- System.out.println(number>40||number<30);
- System.out.println(!(number>40||number<30));
輸出結(jié)果是:
- true
- false
- True
(四)位運(yùn)算符
位運(yùn)算符是對(duì)二進(jìn)制數(shù)的每一位進(jìn)行運(yùn)算的符號(hào),它是專門對(duì)數(shù)字0和1進(jìn)行操作。
例如:
計(jì)算5&3=1
三、總結(jié)
本文主要介紹了數(shù)據(jù)類型的轉(zhuǎn)換分別有自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換,也介紹了這兩種類型轉(zhuǎn)換的用法,需要注意的是強(qiáng)制類型轉(zhuǎn)換可能造成信息的丟失。
運(yùn)算符包括了算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。算術(shù)運(yùn)算符是+、-、*、\,還有%模數(shù)運(yùn)算符或余數(shù)運(yùn)算符。詳細(xì)介紹了自增和自減的用法。比較運(yùn)算符是對(duì)兩個(gè)數(shù)值或變量進(jìn)行比較,結(jié)果是一個(gè)布爾值true或false。
邏輯運(yùn)算符對(duì)布爾型的數(shù)據(jù)進(jìn)行操作,結(jié)果也是一個(gè)布爾值。位運(yùn)算符是對(duì)二進(jìn)制數(shù)的每一位進(jìn)行運(yùn)算的符號(hào),它是專門對(duì)數(shù)字0和1進(jìn)行操作。希望通過(guò)本文的學(xué)習(xí),能夠幫助到你理解數(shù)據(jù)類型轉(zhuǎn)換和運(yùn)算符。
新聞標(biāo)題:Java基礎(chǔ)入門篇(五)Java變量類型的轉(zhuǎn)換和運(yùn)算符
文章出自:http://www.dlmjj.cn/article/djochsj.html


咨詢
建站咨詢
