第一章數(shù)據(jù)類型轉(zhuǎn)化
Java程序中要求參與的核算的數(shù)據(jù),必需求保證數(shù)據(jù)類型的一致性,假如數(shù)據(jù)類型不一致將發(fā)生類型的轉(zhuǎn)化。
1.1主動轉(zhuǎn)化
一個int類型變量和一個byte類型變量進行加法運算,成果會是什么數(shù)據(jù)類型?
inti=1;
byteb=2;
運算成果,變量的類型將是int類型,這便是呈現(xiàn)了數(shù)據(jù)類型的主動類型轉(zhuǎn)化現(xiàn)象。
主動轉(zhuǎn)化:將取值規(guī)模小的類型主動提高為取值規(guī)模大的類型。
1publicstaticvoidmain(String[]args){2inti=1;3byteb=2;4//bytex=b+i;//報錯5//int類型和byte類型運算,成果是int類型6intj=b+i;7System.out.println(j);8}
轉(zhuǎn)化規(guī)則
規(guī)模小的類型向規(guī)模大的類型提高,byte、short、char運算時直接提高為int。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
1.2強制轉(zhuǎn)化
強制類型轉(zhuǎn)化:將取值規(guī)模大的類型強制轉(zhuǎn)化成取值規(guī)模小的類型。
比較而言,主動轉(zhuǎn)化是Java主動履行的,而強制轉(zhuǎn)化需求咱們自己手動履行。
轉(zhuǎn)化格局:
數(shù)據(jù)類型變量名=(數(shù)據(jù)類型)被轉(zhuǎn)數(shù)據(jù)值;
當一個short類型與1相加,咱們知道會類型提高,可是還想給成果賦值給short類型變量,就需求強制轉(zhuǎn)化。
1publicstaticvoidmain(String[]args){2//short類型變量,內(nèi)存中2個字節(jié)3shorts=1;4/*5呈現(xiàn)編譯失利6s和1做運算的時分,1是int類型,s會被提高為int類型7s+1后的成果是int類型,將成果在賦值會short類型時發(fā)生錯誤8short內(nèi)存2個字節(jié),int類型4個字節(jié)9必須將int強制轉(zhuǎn)成short才干完結(jié)賦值10*/11s=s+1;//編譯失利12s=(short)(s+1);//編譯成功13}
強烈注意
浮點轉(zhuǎn)成整數(shù),直接取消小數(shù)點,或許形成數(shù)據(jù)損失精度。
int強制轉(zhuǎn)成short砍掉2個字節(jié),或許形成數(shù)據(jù)丟掉。
//定義s為short規(guī)模內(nèi)最大值shorts=32767;//運算后,強制轉(zhuǎn)化,砍掉2個字節(jié)后會呈現(xiàn)不確定的成果s=(short)(s+10);
第二章運算符
2.1管用運算符
管用運算符包含:
+加法運算,字符串銜接運算
-減法運算
*乘法運算
/除法運算
%取模運算,兩個數(shù)字相除取余數(shù)
++、–自增自減運算
++運算,變量自己增加1。反之,–運算,變量自己減少1,用法與++一致。
獨立運算:變量在獨立運算時,前++和后++沒有差異。
變量前++:例如++i。變量后++:例如i++。
混合運算:和其他變量放在一起,前++和后++就產(chǎn)生了不同。
變量前++:變量a自己加1,將加1后的成果賦值給b,也便是說a先核算。a和b的成果都是2。
1publicstaticvoidmain(String[]args){2inta=1;3intb=++a;4System.out.println(a);//核算成果是25System.out.println(b);//核算成果是26}
變量后++:變量a先把自己的值1,賦值給變量b,此時變量b的值便是1,變量a自己再加1。a的成果是2,b的成果是1。
1publicstaticvoidmain(String[]args){2inta=1;3intb=a++;4System.out.println(a);//核算成果是25System.out.println(b);//核算成果是16}
符號在字符串中的操作:
符號在遇到字符串的時分,表示銜接、拼接的意義。
“a”+”b”的成果是“ab”,銜接意義
2.2賦值運算符
賦值運算符包含:
=等于號
+=加等于
-=減等于
*=乘等于
/=除等于
%=取模等
賦值運算符,便是將符號右邊的值,賦給左面的變量。
1publicstaticvoidmain(String[]args){2inti=5;3i+=5;//核算方法i=i+5變量i先加5,再賦值變量i4System.out.println(i);//輸出成果是105}
2.3比較運算符
比較運算符包含:
==比較符號兩頭數(shù)據(jù)是否持平,持平成果是true。
<比較符號左面的數(shù)據(jù)是否小于右邊的數(shù)據(jù),假如小于成果是true。
>比較符號左面的數(shù)據(jù)是否大于右邊的數(shù)據(jù),假如大于成果是true。
<=比較符號左面的數(shù)據(jù)是否小于或許等于右邊的數(shù)據(jù),假如小于成果是true。
>=比較符號左面的數(shù)據(jù)是否大于或許等于右邊的數(shù)據(jù),假如小于成果是true。
!=不等于符號,假如符號兩頭的數(shù)據(jù)不持平,成果是true。
比較運算符,是兩個數(shù)據(jù)之間進行比較的運算,運算成果都是布爾值true或許false。
仿制代碼
1publicstaticvoidmain(String[]args){2System.out.println(1==1);//true3System.out.println(1<2);//true4System.out.println(3>4);//false5System.out.println(3<=4);//true6System.out.println(3>=4);//false7System.out.println(3!=4);//true8}
2.4邏輯運算符
邏輯運算符包含:
&&邏輯與
1.兩頭都是true,成果是true
2.一邊是false,成果是false
邏輯與特色:符號左面是false,右邊不再運算
||邏輯或
1.兩頭都是false,成果是false
2.一邊是true,成果是true
邏輯或特色:符號左面是true,右邊不再運算
!取反
1.!true成果是false
2.!false成果是true
邏輯運算符,是用來銜接兩個布爾類型成果的運算符,運算成果都是布爾值true或許false
1publicstaticvoidmain(String[]args){2System.out.println(true&&true);//true3System.out.println(true&&false);//false4System.out.println(false&&true);//false,右邊不核算56System.out.println(false||false);//falase7System.out.println(false||true);//true8System.out.println(true||false);//true,右邊不核算910System.out.println(!false);//true11}
2.5三元運算符
三元運算符格局:
數(shù)據(jù)類型變量名=布爾類型表達式?成果1:成果2
三元運算符核算方法:布爾類型表達式成果是true,三元運算符全體成果為成果1,賦值給變量。布爾類型表達式成果是false,三元運算符全體成果為成果2,賦值給變量。
1publicstaticvoidmain(String[]args){2inti=(1==2?100:200);3System.out.println(i);//2004intj=(3<=4?500:600);5System.out.println(j);//5006}
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號新時空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務專線/ 400-966-8830
旗下運營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號