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