進制轉換、Java數據類型、變量、運算符
十進制與其他進制的轉換:
十進制:由0-9組成,滿十進一。
二進制:由0或1組成,滿二進一。
八進制:由0-7組成,滿八進一。
十六進制:由0-9、a、b、c、d、e、f,滿十六進一
java中的數據類型:
一、基本數據類型:8個。
1.整型:默認類型為int
byte 字節 一個字節 8個比特位 -128 ~ 127
short 短整型 2個字節 16位 -2(15) ~ 2(15)-1
int 默認整型 4個字節 32位 -2(31) ~ 2(31)-1
long 長整型 8個字節 64位 -2(63) ~ 2(63)-1
float 4個字節 單精度 有效數字7~8位
double 8個字節 雙精度 有效數字15~16位
3.字符型:
char 2個字節
‘ ‘來進行標識,單個的英文字母、中文、數字、符號等。
‘中‘ ‘1‘
Unicode編碼 0~65535
由於計算機無法直接存儲字符,使用Unicode編碼,
存儲字符在Unicode編碼中對應的編號。
‘A‘--->65
4.布爾型:
boolean 只有兩個值:true(真、對)、false(假、錯)
二、引用數據類型:4種,無數個。
類、
類有無數個,我們今天只講其中的一個:String
String:字符串。需要使用""進行標識。
數組、
接口、
枚舉
Java中有幾種數據類型?
兩種。基本數據類型和引用數據類型。
Java中有幾個基本數據類型?
8個,分別是 byte、short、int、long、float、double、boolean、char
定義變量:
1.聲明:
數據類型 變量名;
byte b;
2.賦值:
變量名 = 值;
b = 50;
通常: 數據類型 變量名 = 值;
byte b2 = 90;
註意:
1>我們目前定義在主函數中的變量都為局部變量。
2>不可以重復命名,無論數據類型。
3>局部變量必須初始化。(賦初始值)
4>使用long類型的時候,如果該整型的值大於int的取值範圍,需要
在整數值後加L或l,來聲明該整型為長整型。
5>使用float類型的時候,需要在浮點型值後加F或f,來聲明該浮點型
為單精度浮點型。
6>類型的自動提升:
byte、short、char 在進行運算的時候會自動提升int類型
byte、short、char--->int ---> long ----> float ---->double
7>類型的強制轉換:
小類型 變量名 = (小類型)大類型值;
類型的強制轉換存在風險,謹慎使用。
運算符:
1.算術運算符:byte、short、char在進行運算的時候會自動提升int類型
小類型與大類型進行運算,結果為大類型。
+:
1>進行加法運算
2>拼接字符串
-:減法運算
*:乘法運算
/:除法運算
%:模,取余。 結果與被模數(前面的)符號相同。
++:自增,自己增加1
++可以寫在前面,也可以寫在後面。
區別:
1>寫在後面,先進行其他運算,後自增。
2>寫在前面,先自增,後進行其他運算。
--:自減,自己減1
--可以寫在前面,也可以寫在後面。
區別:
1>寫在後面,先進行其他運算,後自減。
2>寫在前面,先自減,後進行其他運算。
2.賦值運算符
類型的隱式轉換功能
=:從右邊賦值給左邊
+=: x += 3 ---> x = x + 3
short s1 = 10; s1 += 6; // s1 = s1 + 6; 類型的隱式轉換功能 //s1 = (short)(s1 + 6); -=: x -= 3 ---> x = x - 3 *=: x *= 3 ---> x = x * 3 /=: x /= 3 ---> x = x / 3 %=: x %= 3 ---> x = x % 3
3.比較運算符:結果為布爾值
==:比較等號兩邊是否相等。
==比較的是符號兩邊的地址是否相同。
八個基本數據類型可以使用==比較內容是否相同。
String 不可以使用==比較內容是否相同。
String s1 = "abc";
String s2 = "abc";
s1.equals(s2)--->結果為boolean
!= :不等於,與== 結果相反
> :大於
< :小於
>= :大於等於
<= :小於等於
4.邏輯運算符
------------------------------------------------------------------------
1>與 且 &、&& 都為真,結果才為真,否則為假
&和&&的區別:
1)&不僅是邏輯運算符,還是位運算符。&&只是邏輯運算符。
2)&&具有短路效應,而&沒有。
&&效率高,使用&&
2>或 |、|| 只要有一個為真,結果就為真,否則為假。
|和||的區別:
1)|不僅是邏輯運算符,還是位運算符。||只是邏輯運算符。
2)||具有短路效應,|沒有。
||效率高,使用||
------------------------------------------------------------------------
3>非,! 取對立面。
4>異或 ^ 相同為假,不同為真。
true ^ true--->false false ^ false ---> false true ^ false ---> true
5.位運算符:需要轉換為二進制進行運算。 byte、short、char會
自動提升為int進行計算。
1>移位運算符
>> 右移 :
一個數無符號右移n位,相當於該數除以2的n次冪。
10 >> 3 a >> b --->a向右移動b位
0000-0000 0000-0000 0000-0000 0000-1010
0000000-0000 0000-0000 0000-0000 0000-1 --->1
10/2(3)
<< 左移:
一個數左移n位,相當於該數乘以2的n次冪。
10<<1
0000-0000 0000-0000 0000-0000 0000-1010
000-0000 0000-0000 0000-0000 0000-10100 ---> 20
>>> 無符號右移:
8>>>2
0000-0000 0000-0000 0000-0000 0000-1000
000000-0000 0000-0000 0000-0000 0000-10
-8>>>2
1000-0000 0000-0000 0000-0000 0000-1000
001000-0000 0000-0000 0000-0000 0000-10
2>邏輯位運算符
1)& 都為1結果才為1,否則為0
10&8
1010 -->10
1000 -->8
1000 -------->8
2)| 只要有一個為1結果為1,否則為0
10|9
1010
1001
1011---->11
3)^ 相同為0,不同為1
10^9
1010
1001
0011 --->3
3>取反 ~
相當於取該數字的相反數-1
如:
~7 --->取7的相反數-1===>-7-1=-8
~-7 ===>7-1=6
6.三元運算符:該運算符有結果,必須有變量接收結果,否則編譯 報錯。
int a = 60; int b = 97; //求a和b的最大值 int max = a > b ? a : b; System.out.println("max = " + max);View Code
進制轉換、Java數據類型、變量、運算符