1. 程式人生 > >JAVA基礎--JAVA語言組成01

JAVA基礎--JAVA語言組成01

比較運算 center 參與 邏輯運算 取余 常見 spa 沒有 按位取反

2. 標識符

2.1. 定義:

就是用來起到 標識作用的符號;

(就是程序員對自己定義的東西起的名字)

2.2. 命名規則(語法規定的,必須遵守的):

1、可以由大小寫字母、數字、下劃線(_)、美元符號($)組成;

2、數字不能開頭;

3、關鍵字不能使用;

4、嚴格區分大小寫

合法的標識符:name; _Abc; a, A;;clasz;

非法的標識符:0nae;1name; class ;

2.3. 書寫規範:

駝峰法:

1、類名:首字母大寫;多個單詞,每個單詞首字母大寫; 如:Demo; XxxxYyyyZzzz;

2、方法名(函數名):首字母小寫,多個單詞,從第二個單詞開始,每個單詞首字母大寫; 如:xxxxYyyyZzzz

3. 註釋

3.1. 定義:

生活中的註釋:文言文;英語單詞;

Java中的註釋,就是對代碼起到解釋說明的文字;

(給開發者看得;JVM不會看,所以編譯的時候,不會編譯註釋的內容)

3.2. 寫法:

單行註釋://被註釋的內容,直到這一行結束

多行註釋:/* 被註釋的內容 */

文檔註釋:/** 被註釋的內容 */

作用是,可以讓被註釋的內容,被javadoc工具提取出來,生成一個幫助文檔;

3.3. 作用:

1、解釋代碼,提高代碼的可讀性;降低開發和維護的難度;

2、被註釋的內容不會被編譯,可以在排查錯誤使用,或者調整功能;

對於新手來說,

1、將思路和分析的過程用註釋寫出來,有助於理清思路;

2、養成良好的註釋的習慣,在面試的時候有用;

4. 常量

4.1. 定義:

就是定義之後不會改變的數據;

4.2. java中常量的分類:

數值型:

整數型:正數、負數、0;

浮點型(帶小數點的數):-3.4,0.0,7.8;

文本型:

字符型:用英文的單引號括起來的單個的字符;’2’;’a’;

字符串型:用英文的雙引號括起來的零個或多個的字符;”” ; “ ”; “a”;”123” ;“嗨!美女!”;

布爾型:只有兩個值:true(表示真,對) , false(表示假, 錯);

空值常量:null;

4.3. 計算機數值的表示(知道):

計算機只認識二進制的數據;

4.3.1. 進制介紹

生活中一般使用十進制計數,逢十進一,一個數字位上,最大是9;

進制,就是數字進位的規則;

x進制,就是逢x進一,一個數字為上,最大的數字就是x-1;

4.3.2. 二進制的由來

計算機中使用電信號工作,能夠準確表示的只有高電位和低電位;相當於開關的開和關;

一個數字位只能表示兩個數字,在計算機中,這個數據量叫做1bit;

一般使用8個數據位表示一個數字,稱為一個字節:

8bit = 1byte;(B)

1024 byte = 1kb;

1024kb = 1mb;

1024mb = 1Gb;

1024Gb = 1Tb;

1024Tb = 1 Pb;

4.3.3. 八進制和十六進制

八進制和十六進制,解決了二進制數字書寫太長的問題;

100:

二進制:加前綴:0b; 0b100;

八進制:加前綴:0; 0100;

十進制:默認沒有前綴;

十六進制:加前綴:0x; 0x100;

4.3.4. 進制轉換

任意進制轉換為十進制:位權展開法;

十進制轉換為任意進制:短除法;

快速轉換法:

4.3.5. 負數的二進制表示

4.4. 計算機字符的表示(編碼表):

計算機中只能識別二進制的數字;

A

0

B

1

C

2

D

3

BBC: 112

ABCD:0123

在要表示的字符和數字之間建立一個一一對應的關系,在底層還是通過數字表示;

保存這個對應關系的表格,就是編碼表;

常見的編碼表:ASCII;Unicode;GB2312;BGK

……

5. 變量

5.1. 變量的概念

可以改變的數據;

在Java中,變量指的是內存中的一塊空間,可以存放常量數據的;

5.2. java的數據類型

基本數據類型:

數值型:

整數型:

byte:一個字節;-128 ~ 127;

short:兩個字節:-2^15 ~ 2^15-1;

int:四個字節:-2^31 ~ 2^31-1;

long:八個字節:-2^63 ~ 2^63-1;

在Java中,整數默認都是int型的;

浮點型:

float:四個字節; -2^127 ~ 2^127;

double:八個字節; -2^1023 ~ 2^1023;

在Java中,浮點數默認都是double型的;

字符型(char):兩個字節; 0 ~65535;

布爾型(boolean):true false;

引用數據類型:後面數組的時候講; String 不是基本數據類型;

5.3. 變量的書寫格式

數據類型 變量名;

變量名 = 數值;

數據類型 變量名 = 數值;

使用變量,是通過變量名來使用的;

5.4. 變量的命名

變量名,是標識符;命名規則,和標識符的命名規則是一樣的;

書寫規範,在駝峰法中,和函數名的書寫規範一樣:

第一個單詞的首字母小寫;多個單詞從第二個單詞開始,首字母大寫;

一般標識符的命名最好都有意義;

5.5. 變量的使用註意事項

5.5.1. 變量都有使用範圍

5.5.2. 變量使用前,都要賦值

5.5.3. 給變量賦值,需要和變量的數據類型一致

5.6. 數據類型轉換

5.6.1. 自動類型轉換:

將取值範圍小的類型的數據,往取值範圍大的類型的變量中放,可以直接放進去,不會損失精度;

這種情況叫做Java的自動類型轉換;

byte --> short --> int --> long --> float --> double;

char -->int

5.6.2. 強制類型轉換:

將取值範圍大的類型的數據,往取值範圍小的類型的變量中放,有可能放不進去,會出現精度損失;

如果必須往裏面放,就需要使用一種方法:

小的範圍的數據類型 變量名=(小的範圍的數據類型)變量名;

這種情況叫做Java的強制類型轉換;

原因:

技術分享

技術分享

一個面試題:

技術分享

Java中整數默認都是int的,要聲明一個long類型的常量,需要在數字後面加上字母:L(大小寫都可以,推薦大寫,方便識別)

技術分享

Java中浮點數默認都是double的,要聲明一個float類型的常量,需要在數字後面加上字母:F(大小寫都可以)

技術分享

6. 運算符

6.1. 算術運算符

就是用來對數據進行算術運算的符號;

+(加);-(減);*(乘);/(除);%(模運算:相當於取余運算);

技術分享

參與運算的兩個數據,如果數據類型不一致,結果是取值範圍大的類型;

技術分享

++:自增運算符;一元運算符,就是只有一個數據參與運算;

int a = 100;

運算符在運算的數據左邊,叫做左自增:++a;

左自增,就是在參與運算的數據的自身上進行加一運算;

運算符在運算的數據右邊,叫做右自增:a++;

技術分享

- -:自減運算符;

自減運算符,原理和自增運算符一樣,不同之處是,進行的是減一運算;

自增自減運算符練習:

技術分享

+ :當運算符兩邊任意一邊存在字符串時,它就是一個字符串連接符,作用就是將兩邊的數據連接成一個大的字符串;

練習:

技術分享

總結:字符+字符是對應的ASCII上的數字 字符+字符串 字符串拼接

6.2. 賦值運算符

=: 表示將符號右邊的值賦值給符號左邊的 變量;

+=:-=;*=;/=;%=;

復合賦值運算符,其實是一種簡寫的形式;

a += b <=> a = a+b;

可以自動進行強制類型轉換:

6.3. 比較運算符

運算結果都是布爾型常量;

>;

>=;

<;

<=;

==:

!=;

技術分享

所有的基本類型的數據,都可以通過 == 符號進行相等性驗證;

註意:區間判斷,不能連接著寫;

技術分享

1.1. 邏輯運算符

&:與,相當於並且的意思,表示運算符兩邊的數據都為真,結果才是真;

&&:短路與,運算結果和&是一樣的;

|:或,系那個當與 或者的意思,表示運算符兩邊的數據,有一個為真,結果就是真;

||:短路或,運算結果和|是一樣的;

^:異或,表示運算符兩邊的數據不一樣,結果才為真,否則就是假;

上面的運算符都是二元運算符,而且參與運算的兩個數據和運算的結果都是布爾型的數據;

!:非;表示相反的意思;是一個一元運算符;

邏輯運算符練習:

技術分享

邏輯運算表:!true = false; !false = true;

運算符左邊

運算符右邊

&(&&

|(||

^

true

true

true

true

false

true

false

false

true

true

false

true

false

true

true

false

false

false

false

false

&和&&的異同:

相同點:運算結果都一樣;表示的邏輯運算關系也是一樣的;

不同點:

&:不管符號左右兩邊的值是多少,兩邊都要進行運算;

&&:如果符號左邊為false,就不計算右邊;否則,右邊也要計算;

|和||的異同:

相同點:運算規則也是一樣的;運算結果也是一樣的;

不同點:

|:不管左右兩邊如何,兩邊都要計算;

||:如果左邊為真,結果一定為真,就不去計算右邊;否則,就要計算右邊;

問題:什麽時候使用&和|

如果右邊一定要計算,就要使用& 和 |

1.2. 三元運算符

格式:

變量名 = 布爾表達式 ? 表達式一 表達式二;

運算過程:

技術分享

需要註意:三元運算符,必須有一個變量接收運算結果;

   1.3 流程控制語句

    <<:左移運算符:

     技術分享

    >>:有符號右移(算術右移),運算前後,數字的正負號不改變;

技術分享

總結:有符號右移運算,左邊空出來的都是用原來的符號位的數字補齊;

>>>:無符號右移(邏輯右移),右移後,左邊空出來的全部用0補齊;

技術分享

&:按位與;

技術分享

^:按位異或

技術分享

按位^的應用

技術分享

總結

上面代碼首先ab異或獲取到c的值,然後當c與a異或 獲取b 然後把b的值賦給a 然後 c與b異或獲取a 然後把a的值賦值給b 這樣就能獲取兩個數值的調換。

然後這樣有個缺點是必須要給c進行初始化,那麽為了節省內存空間 直接在ab兩個值之間進行計算,少去c的運算步驟

1. a與b異或獲取一個c 把c 賦給 a 2. a與b異或把酒相當於 c與b異或 獲取到a的值 然後把a的值賦值給b 3.a與b異或就相當與 c與a異或獲取b然後把值賦給a

~:按位取反:

技術分享

JAVA基礎--JAVA語言組成01