boolean - 布爾值 ,true(真),false(假)
1.boolean 定義
//規(guī)定中boolean只有倆個(gè)值:true;false; ? ? ? boolean a = true; ? ? ? boolean b = false; // ? ? ? boolean c = 1;//編譯錯(cuò)誤,1不能boolean類型,不能賦值給變量c
2.運(yùn)算 邏輯運(yùn)算
&& 與運(yùn)算 || 或運(yùn)算 ! 非運(yùn)算
boolean c = a&&b; c = a||b; c = !a;
3.boolean類型主要用于條件判斷
int age = 19; boolean d = age >18 ;//age>18 結(jié)果是true 使用d= true; if (d){//if..else 就是判斷boolean的數(shù)據(jù)值,如果為真 就輸出成年人 如果為假 就輸出未成年人 ? System.out.println("成年人"); }else { ? System.out.println("未成年人"); }2.數(shù)據(jù)類型轉(zhuǎn)換
1.自動(dòng)轉(zhuǎn)換:
小類型自動(dòng)轉(zhuǎn)換大類型
byte->short->int->long->double
char->int
2.強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換
大類型轉(zhuǎn)換成小類型,需要強(qiáng)制轉(zhuǎn)換
// ? ? ? int a2 = 3.6;//編譯錯(cuò)誤 3.6是double類型 a2是int 不能直接轉(zhuǎn)換 ? ? ? int a2 = (int)3.6;//強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換 在數(shù)據(jù)3.6的前面加(int) 告訴程序,把這個(gè)3.6轉(zhuǎn)化成int ? ? ? System.out.println("a1:"+a1); ? ? ? System.out.println("a2:"+a2);
轉(zhuǎn)換會(huì)出現(xiàn) 精度會(huì)丟失,或者溢出
double d = 3.141592666666666; ? ? ? float d1 = (float) d; ? ? ? System.out.println("精度丟失:"+d1);//3.1415927 ? ? ? ? long data = 10000000000L; ? ? ? int data1 = (int) data; ? ? ? System.out.println("溢出:"+data1);//1410065408 ? ? ? ? byte b1 = 100; // ? ? ? byte b2 = 128;//編譯錯(cuò)誤,超出byte的取值范圍 ? ? ? short s1 = 100; // ? ? ? short s2 = 1000000;//編譯錯(cuò)誤,超出short的取值范圍 ? ? ? byte b2 = 5; // ? ? ? byte b3 =(b1 + b2);//編譯錯(cuò)誤,byte數(shù)據(jù)類型不匹配 運(yùn)算中byte或者short 都會(huì)轉(zhuǎn)換成int的結(jié)果 ? ? ? byte b3 = (byte)(b1 + b2); ? ? ? System.out.println("b3:"+b3); ? ? ? ? short s2 = 200; // ? ? ? short s3 = (s1 +s2);//編譯錯(cuò)誤,short數(shù)據(jù)類型不匹配 運(yùn)算中byte或者short 都會(huì)轉(zhuǎn)換成int的結(jié)果 ? ? ? short s3 = (short) (s1 +s2); ? ? ? System.out.println("s3:"+s3); ? ? ? ? short s4 = 10+10;//10+10是可以的 先運(yùn)算再賦值給short s43.算數(shù)運(yùn)算符
算數(shù)運(yùn)算符: + - * / %
++ ? -- 符號(hào) (+,-) 能做算數(shù)運(yùn)算的類型: byte short int long float double 做算術(shù)運(yùn)算的類型: boolean,其他復(fù)雜類型
1.取余(%)運(yùn)算
boolean k = data1 % 3 == 0; System.out.println("k:"+k);
2.++,--運(yùn)算
int i = 5; i++;//自增 i = i + 1 先用后加 ++i;//自增 i = i + 1 先加后用 System.out.println(i); i--;//自減 i = i - 1 先用后加 --i;//自減 i = i - 1 先加后用 ? int j = ++i;//前自增 先對(duì)i進(jìn)行增加 然后把增加之后的數(shù)據(jù)值 賦值給變量j System.out.println("i:"+i+",j:"+j); ? j = i++;//后自增 先把原本的數(shù)據(jù)值 賦值給變量j 再對(duì)i進(jìn)行增加 System.out.println("i:"+i+",j:"+j); ? int i1 = i++ + j++ + i--; //i++ = 7 j++ = 6 i-- = 8 System.out.println("i1:"+i1);//21 ? int a = 1; ? int i2 = ++a + a++ + ++a; //1.運(yùn)算++a,得到結(jié)果后壓棧1 //2.運(yùn)算a--,得到結(jié)果后壓棧2 //3.將棧1+棧2 //4.運(yùn)算++a,得到結(jié)果后壓棧3 //將棧1+棧2的結(jié)果,與相加棧3 System.out.println(i2);
3.符號(hào)(+ -)
int m1 = -5; int m2 = +5; int m3 = -5 - 5; int m4 = -5 + 10; int m5 = -5 + +10; System.out.println("m1:"+m1); System.out.println("m1:"+m2); System.out.println("m1:"+m3); System.out.println("m1:"+m4); System.out.println("m1:"+m5);4.關(guān)系運(yùn)算
大于(>) 大于等于(>=) 等于(==) 不等于(!=) 小于(<) 小于等于(<=)
能進(jìn)行關(guān)系運(yùn)算:byte short int long float double
不能進(jìn)行關(guān)系運(yùn)算:boolean
1.關(guān)系運(yùn)算的結(jié)果為boolean類型
int a = 100; int b = 200; boolean r = a >b;//關(guān)系運(yùn)算 r是false ? char c = '中'; char c1 = '國'; if (c>c1){//c>c1 如果滿足條件 那么就true 否則為false ? System.out.println("中的編碼大于國的編碼"); }else{ ? System.out.println("國的編碼大于中的編碼"); }
2.等于(==)
int a1 = 10; ? ? ? int a2 = 20; // ? ? ? int a3 = a1==a2;//編譯錯(cuò)誤 a1==a2 是條件運(yùn)算 結(jié)果是boolean類型 不能賦值給int類型 ? ? ? int a3 = a2 =a1;//"="是賦值運(yùn)算 ? ? ? System.out.println("a1:"+a1+",a2:"+a2+",a3:"+a3); ? ? ? //練習(xí)找到倆個(gè)數(shù)大的值 ? ? ? a1 = 30; ? ? ? a2 = 50; ? ? ? if (a1>=a2){ ? ? ? ? ? System.out.println("大值是:"+a1); ? ? ? }else { ? ? ? ? ? System.out.println("大值是:"+a2); ? ? ? }5.邏輯運(yùn)算
邏輯運(yùn)算 && || ! & |
運(yùn)算規(guī)則 與運(yùn)算 (全為真則結(jié)果為真,有假則結(jié)果為假)
或運(yùn)算 (全為假則結(jié)果為假,有真則結(jié)果為真) ? 非運(yùn)算 (真變假,假變真,本質(zhì)就是取反) 邏輯運(yùn)算的結(jié)果是boolean類型 能做邏輯運(yùn)算的類型:boolean 不能做邏輯運(yùn)算的類型:byte short int long float double
1.運(yùn)算
boolean b1 = true; boolean b2 = true; boolean b3 = false; boolean b4 = b1 && b2;//true System.out.println("b4:"+b4); ? b4 = b1 && b2 && b3;//false System.out.println("b4:"+b4); ? b4 = b1 || b3;//true System.out.println("b4:"+b4); ? b4 = b1 || b2 ||b3;//true System.out.println("b4:"+b4); ? b4 = !b3;//true System.out.println("b4:"+b4); ? b4 = !( b1 || b2 );//false System.out.println("b4:"+b4); ? b4 = !( b1 && b3 ) || b3;//true System.out.println("b4:"+b4); ? int a = 3,b = 5; boolean b5 = a >b && a++ >1; //a>b是false 那么&&運(yùn)算結(jié)果已經(jīng)確定了是false 這里是"短路&&" //所有后面的a++ >1 就不會(huì)執(zhí)行 因此最終a還是3 System.out.println("a:"+a); ? a = 3; b = 5; b5 = a >b & a++ >1; //a>b是false 那么&運(yùn)算結(jié)果已經(jīng)確定了是false 這里是"不短路&&" //所有后面的a++ >1 就會(huì)執(zhí)行 因此需要a++,a的值就會(huì)變成4 System.out.println("a:"+a); ? a = 3; b = 5; b5 = a< b || a++ >1; //a1 就不會(huì)執(zhí)行 因此最終a還是3 System.out.println("a:"+a); ? a = 3; b = 5; b5 = a >b || a++ >0; ? System.out.println("a:"+a);6.賦值運(yùn)算符及三目運(yùn)算
+= , -= , *= , /= , %= 擴(kuò)展的賦值運(yùn)算符: 表示變量的數(shù)據(jù)取出來和其他數(shù)據(jù)進(jìn)行運(yùn)算,然后把運(yùn)算結(jié)果賦值給變量
int k = 10; k += 20;//k=? 這里是k+=20 等價(jià)于 k = k + 20; 所有k=30 System.out.println("k:"+k); k/=4;//k=2 相當(dāng)于 k = k / 4 所以結(jié)果為7 System.out.println("k:"+k);
"+" 用于字符串的拼接
String str = "hello"; System.out.println(k + k + str);//14hello System.out.println(k + str + k);//7hello7 System.out.println(str + k + k);//hello77 System.out.println(str + (k + k));//hello14 System.out.println((str + k) + k + k);//hello777 System.out.println(str + k + k);//hello77 System.out.println(k + k + k + k);//28
三目運(yùn)算
int age =19; String info = age>18?"成年人":"未成年人";//需要把三目運(yùn)算的結(jié)果,賦值給一個(gè)變量 保存起來 System.out.println("info:"+info);
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前名稱:Java第三章(復(fù)習(xí))-創(chuàng)新互聯(lián)
URL鏈接:http://chinadenli.net/article30/epdso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站、做網(wǎng)站、虛擬主機(jī)、全網(wǎng)營銷推廣、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容