07-20
基本數(shù)據(jù)類型
boolean 布爾類型:只能去兩個值:true或者false
常常在條件判斷、循環(huán)結(jié)構(gòu)使用。
基本數(shù)據(jù)類型的運算規(guī)則
討論7種基本數(shù)據(jù)類型變量間的運算,不好含boolean
自動類型提升:
當(dāng)容量小的數(shù)據(jù)類型向容量大的數(shù)據(jù)類型做運算時,結(jié)果將自動提升為容量大的數(shù)據(jù)類型
byte 、short、char? >int -- >long-- >-float- >double
特別的:當(dāng)byte、char、short三種類型做運算時結(jié)果為int類型,本身之間相互運算也是用int接收。
class VariableTest{
?????? public static void main(String [] args) {
?????????????
????????????? byte b1 = 2;
????????????? int i1 = 12;
????????????? int b2 = b1 + i1;
????????????? System.out.println(b2);
????????????? float f = b1 + i1 ;
????????????? System.out.println(f);
????????????? double p = b1 + i1;
????????????? System.out.println(p);
?????? }
}
強制類型轉(zhuǎn)換
強制類型轉(zhuǎn)換:自動類型轉(zhuǎn)換的逆運算
需要使用強制類型轉(zhuǎn)換符( )
會造成精度的損失
class VariableTest2{
?????? public static void main(String[] args) {
????????????? System.out.println("a");
?????? //由duble>int
????????????? double d1 = 12.3;
????????????? ?int i1 = (int) d1;
????????????? System.out.println(d1);
????????????? System.out.println(i1);
?????? //由long>short
????????????? long l1 = 132;
????????????? short s1 = (short)l1;
????????????? System.out.println(l1);
????????????? System.out.println(s1);
?????? //由intd>byte
????????????? int i2 = 128;
????????????? byte b1 = (byte)i2;
????????????? System.out.println(b1);
?????? }
}
情況一:
編碼過程中l(wèi)ong忘記加L 數(shù)值可以直接轉(zhuǎn)化為int類型,當(dāng)賦值過大時,超過int的值范圍就會報錯。
情況二:
整性常量,默認(rèn)情況為int
浮點型常量,默認(rèn)為double
轉(zhuǎn)化時,大轉(zhuǎn)小,默認(rèn)會報錯。
字符串類型:String
‘’? “”? 中間分別代表char型和String類型
進(jìn)制與進(jìn)制之間的轉(zhuǎn)換
二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。
二進(jìn)制:只用0、1,滿二進(jìn)一
八進(jìn)制:0-7,滿八進(jìn)一
用2的n次方然后相加
負(fù)數(shù)?
計算機底層以補碼存儲
十進(jìn)制->二進(jìn)制
除2取余的逆
二進(jìn)制,八進(jìn)制,十六進(jìn)制之間的相互轉(zhuǎn)換。
三個一位
四個一位
每日一考
有什么:①數(shù)字、字母、_、$。②數(shù)字不能夠開頭③java區(qū)分大小寫
沒有什么:①不能有關(guān)鍵字。②不能有保留字。③不能有空格
- 包名:xxxyyyzzz? //全部小寫
- 類名、接口名:XxxYyyZzz? //每個單詞首字母大寫,后面小寫
- 變量名、方法名:xxxYyyZzzz? //第一個單詞小寫,后面單詞首字母大寫,其余小寫
- 常量名:XXX_YYY_ZZZ? //全部大寫,并且用_下劃線連接。
- 基本數(shù)據(jù)類型和引用數(shù)據(jù)類型
- byte、short、int、long、1、2、4、8
- float、double、4、8
- char、2
- boolean
byte、char、short>int>long>float>double
大數(shù)據(jù)向小數(shù)據(jù)轉(zhuǎn)換 ?
等號右邊加一個括號,里面加上目標(biāo)的類型
進(jìn)度損失
2.4運算符
算數(shù)運算符
賦值運算符
比較運算符(關(guān)系運算符)
邏輯運算符
位運算符
三元運算符
算數(shù)運算符
+???? 加
-???? 減
*????? 乘
/????? 除
%???? 取余
++???????? 加加
- ? 減減
/ ?除號得到的是商
%取余運算
結(jié)果的符號與被模數(shù)相同
++
//++前加加
//++后加加,
賦值運算符
符號:=
+=
-=
/=
%=
經(jīng)過這種計算不會改變數(shù)據(jù)本身的基本數(shù)據(jù)類型
比較運算符
==
!=
>
<
<=
>=
結(jié)果為true或false
結(jié)論:比較運算符的結(jié)果是boolean類型,true或false
邏輯運算符
&邏輯與
|邏輯或
!邏輯非
&&短路與
||短路或
^邏輯異或
&&&&&&&&&&&&&&&&
注意:運算結(jié)果相同
若&&短路與左邊錯了,右邊就不再運算
|||||||||||||||||||||||||||||||||||||||||||||||||
運算結(jié)果相同
如果左邊對了,右邊就不再運算
x=7,y=2
x=7, y=1
x=2 ,y=1
x=
基本數(shù)據(jù)類型
boolean 布爾類型:只能去兩個值:true或者false
常常在條件判斷、循環(huán)結(jié)構(gòu)使用。
基本數(shù)據(jù)類型的運算規(guī)則
討論7種基本數(shù)據(jù)類型變量間的運算,不好含boolean
自動類型提升:
當(dāng)容量小的數(shù)據(jù)類型向容量大的數(shù)據(jù)類型做運算時,結(jié)果將自動提升為容量大的數(shù)據(jù)類型
byte 、short、char? >int -- >long-- >-float- >double
特別的:當(dāng)byte、char、short三種類型做運算時結(jié)果為int類型,本身之間相互運算也是用int接收。
class VariableTest{
?????? public static void main(String [] args) {
?????????????
????????????? byte b1 = 2;
????????????? int i1 = 12;
????????????? int b2 = b1 + i1;
????????????? System.out.println(b2);
????????????? float f = b1 + i1 ;
????????????? System.out.println(f);
????????????? double p = b1 + i1;
????????????? System.out.println(p);
?????? }
}
強制類型轉(zhuǎn)換
強制類型轉(zhuǎn)換:自動類型轉(zhuǎn)換的逆運算
需要使用強制類型轉(zhuǎn)換符( )
會造成精度的損失
class VariableTest2{
?????? public static void main(String[] args) {
????????????? System.out.println("a");
?????? //由duble>int
????????????? double d1 = 12.3;
????????????? ?int i1 = (int) d1;
????????????? System.out.println(d1);
????????????? System.out.println(i1);
?????? //由long>short
????????????? long l1 = 132;
????????????? short s1 = (short)l1;
????????????? System.out.println(l1);
????????????? System.out.println(s1);
?????? //由intd>byte
????????????? int i2 = 128;
????????????? byte b1 = (byte)i2;
????????????? System.out.println(b1);
?????? }
}
情況一:
編碼過程中l(wèi)ong忘記加L 數(shù)值可以直接轉(zhuǎn)化為int類型,當(dāng)賦值過大時,超過int的值范圍就會報錯。
情況二:
整性常量,默認(rèn)情況為int
浮點型常量,默認(rèn)為double
轉(zhuǎn)化時,大轉(zhuǎn)小,默認(rèn)會報錯。
字符串類型:String
‘’? “”? 中間分別代表char型和String類型
進(jìn)制與進(jìn)制之間的轉(zhuǎn)換
二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。
二進(jìn)制:只用0、1,滿二進(jìn)一
八進(jìn)制:0-7,滿八進(jìn)一
用2的n次方然后相加
負(fù)數(shù)?
計算機底層以補碼存儲
十進(jìn)制->二進(jìn)制
除2取余的逆
二進(jìn)制,八進(jìn)制,十六進(jìn)制之間的相互轉(zhuǎn)換。
三個一位
四個一位
每日一考
有什么:①數(shù)字、字母、_、$。②數(shù)字不能夠開頭③java區(qū)分大小寫
沒有什么:①不能有關(guān)鍵字。②不能有保留字。③不能有空格
- 包名:xxxyyyzzz? //全部小寫
- 類名、接口名:XxxYyyZzz? //每個單詞首字母大寫,后面小寫
- 變量名、方法名:xxxYyyZzzz? //第一個單詞小寫,后面單詞首字母大寫,其余小寫
- 常量名:XXX_YYY_ZZZ? //全部大寫,并且用_下劃線連接。
- 基本數(shù)據(jù)類型和引用數(shù)據(jù)類型
- byte、short、int、long、1、2、4、8
- float、double、4、8
- char、2
- boolean
byte、char、short>int>long>float>double
大數(shù)據(jù)向小數(shù)據(jù)轉(zhuǎn)換 ?
等號右邊加一個括號,里面加上目標(biāo)的類型
進(jìn)度損失
2.4運算符
算數(shù)運算符
賦值運算符
比較運算符(關(guān)系運算符)
邏輯運算符
位運算符
三元運算符
算數(shù)運算符
+???? 加
-???? 減
*????? 乘
/????? 除
%???? 取余
++???????? 加加
- ? 減減
/ ?除號得到的是商
%取余運算
結(jié)果的符號與被模數(shù)相同
++
//++前加加
//++后加加,
賦值運算符
符號:=
+=
-=
/=
%=
經(jīng)過這種計算不會改變數(shù)據(jù)本身的基本數(shù)據(jù)類型
比較運算符
==
!=
>
<
<=
>=
結(jié)果為true或false
結(jié)論:比較運算符的結(jié)果是boolean類型,true或false
邏輯運算符
&邏輯與
|邏輯或
!邏輯非
&&短路與
||短路或
^邏輯異或
&&&&&&&&&&&&&&&&
注意:運算結(jié)果相同
若&&短路與左邊錯了,右邊就不再運算
|||||||||||||||||||||||||||||||||||||||||||||||||
運算結(jié)果相同
如果左邊對了,右邊就不再運算
x=7,y=2
x=7, y=1
x=2 ,y=1
x=
總結(jié)
- 上一篇: BZOJ 4566 [Haoi2016]
- 下一篇: 在京东,刘强东没有“兄弟”