java的數據類型和運算符
首先引入概念:
1.bit就是位,也叫比特位,是計算機表示數據最小的單位
2.byte就是字節
3.1byte=8bit ,0001 1100,一般用兩個16進制來顯示,所以我們經常看到1個字節顯示為 1c
4.1byte就是1B
JAVA中的數值類型不存在無符號的,它們的取值範圍是固定的,不會隨著機器硬件環境或者操作系統的改變而改變。實際上,JAVA中還存在另外一種基本類型void,它也有對應的包裝類 java.lang.Void,不過我們無法直接對它們進行操作。
變量的數據類型
Java是一門強類型的編程語言。
基本數據類型:數值型:整數類型(byte,short,int,iong)
浮點類型(float,double)
字符型:(char)
布爾型:(boolean)
引用數據類型:類(class)
接口(interface)
數組
枚舉(enum)
註解(annotation)
整數類型變量
類型 |
占用空間 |
類型 |
占用空間 |
字節型byte |
8位(一個字節) |
短整型short |
16位(兩個字節) |
整型int |
32位(4個字節) |
長整型long |
64位(8個字節) |
*在為long類型的變量賦值時需要註意一點,在所附的值後面加一個字母L,說明賦值為long類型。如果賦的值未超過int的取值範圍,則可以省略。
浮點數類型變量
類型名 |
占用空間 |
Float |
32位(4個字節) |
double |
64位(8個字節) |
在java中,一個小數會被默認為double類型的值,因此float類型的變量在賦值時一定要在後面加f或F.
字符類型變量
在給char類型的變量賦值時,需要用一對英文半角格式的單引號把字符括起來。
char c=’a’;
char c=97;具有相同的結果。
布爾類型變量
在java中用boolean表示。
Java中的常量
十六進制整型常量:以十六進制表示時,需以0x或0X開頭,如0xff,0X9A。
八進制整型常量:八進制必須以0開頭,如0123,034。
長整型:長整型必須以L作結尾,如9L,342L。
字符常量:字符型常量需用兩個單引號括起來(註意字符串常量是用兩個雙引號括起來)。Java中的字符占兩個字節。一些常用的轉義字符:
①\r表示接受鍵盤輸入,相當於按下了回車鍵;
②\n表示換行;
③\t表示制表符,相當於Table鍵;
④\b表示退格鍵,相當於Back Space鍵;
⑤\‘表示單引號;
⑥\‘‘表示雙引號;
⑦\\表示一個斜杠\。
變量的類型轉換
1、 自動類型轉換
兩種數據類型在轉換的過程中顯式的進行說明。必須滿足兩個條件:1、兩種數據類型彼此兼容,2、目標類型的取值範圍大於源類型的取值範圍。
*可以進行自動類型轉換的情況
1、整數類型之間可以進行轉換。如byte類型的數據可以賦值給short int long的變量。short char類型的數據可以賦值給int long 類型的變量,int類型的數據可以賦值給long類型的變量。
2、整數類型轉化為flort類型
例如byte int char short類型的數據可以賦值給flort 類型的變量。
1、 其他類型轉換為double類型,如char byte short int long flort類型的數據可與賦值給double 類型的變量。
2、 強制類型轉換
也叫顯式類型轉換,當兩種類型彼此不兼容,或者目標類型的取值範圍小於源類型時,需要進行強制類型轉換。具體格式如下
目標類型 變量=(目標類型)值
如:
Public class Example{
Public static void main (String [] args){
Int nam=4;
Byte b=(byte) num;
System.out.println(b);
}
}
Java中的運算符
在java中,運算符可以分為算術運算符、賦值運算符、比較運算符、邏輯運算符、比較運算符和位運算符。
算術運算符
1、 在進行除法運算時當除數和被除數都是整數時,結果也是整數。如果除法運算中有小數參與,結果會是一個小數。
2、 在進行取模運算(%)時,結果的正負取決於被模數的符號。與模數的符號無關。
(1)如果+號用於字符串的時候,那麽+號就是一個連接符,並不是做加法功能了。
(2)連接符的作用:讓任何的數據都可以與字符串進行拼接。
(3)任何類型的數據與字符串使用連接符連接,那麽結果都是字符串類型的數據。
賦值運算符
在賦值過程中,運算順序從右往左,將右邊表達式的結果付給左邊的變量。
註意:
1、在java中,為三個變量同時賦值:
Int x,y,z; int x=y=z=5; 是錯的
X=y=z=5;
3、 在使用+=、-=、*=、/=、%=運算符進行賦值時強制類型轉換會自動完成,程序不需要做任何顯式的說明。
比較運算符
比較運算符的結果都是返回一個布爾類型的值,只有兩種結果true和false。
邏輯運算符
1. &(與/邏輯與):可以理解為並且
(1)&(與)符號規律:只有左右變量同時為true,結果才是true;否則就為false。
2. | (或/邏輯或):可以理解為或者
(1) |(或)符號規律:只要兩邊的布爾表達式有一邊為true,那麽結果就為true;只有兩邊同時為false的時候,結果才是false。
3. ^ (異或):可以從“異”字入手去理解
(1)規律:只要兩邊的布爾表達式結果不一致,結果就為true;如果左右兩邊的布爾表達式一致,結果就為false。
4. !(非)
(1)規律:結果取反
5. &&(短路與/雙與)
(1)短路與和單與符號的相同點和不同點:
①相同點:短路與和單與的運算結果是一致的。
②不同點:使用短路與的時候,如果左邊的布爾表達式為false,則不會再運算右邊的布爾表達式,從而提高了效率;而 使用單與的時候即使發現左邊的布爾表達式為false,還是會運算右邊的布爾表達式的。
6. ||(短路或/雙或)
(1)短路或和單或的相同點和不同點:
①相同點:短路或和單或的運算結果是一致的。
②不同點:使用短路或的時候,當發現左邊的布爾表達式為true時,則不會運算右邊的布爾表達式;而使用單或的時 候,當發現左邊的布爾表達式結果為true,還是會運算右邊的布爾表達式。
位運算符
1. &(與)
只有參與運算的兩位都為1,&運算的結果才為1,否則就為0。
2. |(或)
只有參與運算的兩位都為0,|運算的結果才為0,否則就為1。
3. ^(異或)
(1)只有參與運算的兩位不同,^運算的結果才為1,否則就為0。
(2)規律:如果操作數A連續異或同一個操作數兩次,那麽結果還是操作數A。
(3)應用:對數據進行加密。(實例在博客中會單獨列出一篇)
4. ~(取反)
就是二進制位按位取反,二進制只有1和0,取反就是1取反是0,0取反是1。
(1)當參與取反的數值是正數時,把對應的值加上負號,再-1。
(2)當參與取反的數值是負數時,把對應的值加上負號,再-1。
(3)負數表現形式就是對應的正數取反再+1,負數的最高位肯定是1。
參考於作者:zhuwei1035838807原文:https://blog.csdn.net/zhuwei1035838807/article/details/78941846
java的數據類型和運算符