Java基礎語(yǔ)法,越來(lái)越多的人在學(xué)習Java的時(shí)候需要掌握,但是很多人又找不到一個(gè)完整的語(yǔ)法教程,今天小編歷盡千辛萬(wàn)苦,終于整理了一份完整的Java基礎語(yǔ)法的匯總,希望對您的學(xué)習有所幫助。

下面開(kāi)始今天的知識,先看下Java基礎語(yǔ)法的總綱

今天我們先學(xué)習關(guān)鍵字、標識符、注釋、常量、進(jìn)制和進(jìn)制轉換。
關(guān)鍵字概述
被Java語(yǔ)言賦予特定含義的單詞
關(guān)鍵字特點(diǎn)
組成關(guān)鍵字的字母全部小寫(xiě)
關(guān)鍵字注意事項
goto和const作為保留字存在,目前并不使用
各種IDE針對關(guān)鍵字有特殊的顏色標記,非常直觀(guān)


1、標識符概述
就是給類(lèi),接口,方法,變量等起名字時(shí)使用的字符序列
2、組成規則
英文大小寫(xiě)字母
數字字符
$和_
3、注意事項
不能以數字開(kāi)頭
不能是Java中的關(guān)鍵字
區分大小寫(xiě)
4、常見(jiàn)的命名規則(見(jiàn)名知意)

1、注釋概述
用于解釋說(shuō)明程序的文字
2、Java中注釋分類(lèi)格式
單行注釋
格式://注釋文字
多行注釋
格式:/*注釋文字*/
文檔注釋
格式:/**注釋文字*/

注釋是一個(gè)程序員必須要有的編程習慣。如果有良好的注釋習慣,你的同事很容易就可以讀懂你的代碼。試想如果你突然接手別人的代碼,結果這堆代碼一行注釋也沒(méi)有,你自己會(huì )不會(huì )抓狂?肯定罵娘的心都有了。而且寫(xiě)注釋真的耽誤不了多少時(shí)間,一定要養成寫(xiě)注釋的習慣。
1、常量概述
在程序執行的過(guò)程中其值不可以發(fā)生改變
2、Java中常量分類(lèi)
字面值常量
自定義常量
字符串常量(用雙引號括起來(lái)的內容"keithxiaoy")
整數常量(所有整數例如:1024)
小數常量(所有小數例如:11.11,10.24)
字符常量(用單引號括起來(lái)的內容)
布爾常量(true和false)
空常量(null)
3、Java針對整數常量提供了4種表現形式
二進(jìn)制
八進(jìn)制
十進(jìn)制
十六進(jìn)制
4、進(jìn)制概述
進(jìn)制:就是進(jìn)位制,是人們規定的一種進(jìn)位方法。對于任何一種進(jìn)制--X進(jìn)制,就表示某一位置上的數運算時(shí)是逢X進(jìn)一位。二進(jìn)制就是逢二進(jìn)一,八進(jìn)制是逢八進(jìn)一,十進(jìn)制是逢十進(jìn)一,十六進(jìn)制是逢十六進(jìn)一。
5、不同進(jìn)制的數據組成

學(xué)習變量、使用變量的注意事項、數據類(lèi)型和類(lèi)型轉換。
變量概述
在程序執行的過(guò)程中,在某個(gè)范圍內其值可以發(fā)生改變的量
理解:如同數學(xué)中的未知數
變量定義格式
數據類(lèi)型變量名=初始化值;
注意:格式是固定的,記住格式,以不變應萬(wàn)變
1、作用域
變量定義在哪個(gè)大括號內,它就在這個(gè)大括號內有效。
并且,在同一個(gè)大括號內不能同時(shí)定義同名的變量。
2、初始化值
沒(méi)有初始化值的變量不能直接使用。
你只要在使用前給值就行,不一定非要在定義的時(shí)候立即給值。
推薦在定義的時(shí)候給值。
定義變量的格式:
a:數據類(lèi)型變量名=初始化值
b:數據類(lèi)型變量名
變量名=初始化值
3、在一行上建議只定義一個(gè)變量
可以定義多個(gè),但是不建議

Java語(yǔ)言是強類(lèi)型語(yǔ)言,對于每一種數據都定義了明確的具體數據類(lèi)型,在內存總分配了不同大小的內存空間
分類(lèi):
A:基本數據類(lèi)型:4類(lèi)8種
B:引用數據類(lèi)型:類(lèi),接口,數組。

基本數據類(lèi)型


注意:
整數默認是int類(lèi)型,浮點(diǎn)數默認是double
長(cháng)整數要加L或者l
單精度的浮點(diǎn)數要加F或者f
數據類(lèi)型轉換
(1)boolean類(lèi)型不參與轉換
(2)默認轉換
A:從小到大
B:byte,short,char--int--long--float--double
C:byte,short,char之間不相互轉換,直接轉成int類(lèi)型參與運算。

(3)強制轉換
A:從大到小
B:可能會(huì )有精度的損失,一般不建議這樣使用。
C:格式:
目標數據類(lèi)型變量名=(目標數據類(lèi)型)(被轉換的數據);

(4)思考題和面試題:
A:下面兩種方式有區別嗎?
floatf1=12.345f;
floatf2=(float)12.345;

B:下面的程序有問(wèn)題嗎,如果有,在哪里呢?
byteb1=3;
byteb2=4;
byteb3=b1+b2;
byteb4=3+4;

C:下面的操作結果是什么呢?
byteb=(byte)130;

D:字符參與運算
是查找ASCII里面的值
'a'97
'A'65
'0'48
System.out.println('a');
System.out.println('a'+1);

E:字符串參與運算
這里其實(shí)是字符串的連接
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");

算術(shù)運算符、賦值運算符、比較運算符、邏輯運算符、位運算符、三元運算符。

+的幾種作用:
加法
正數
字符串連接符
/和%的區別
數據做除法操作的時(shí)候,/取得是商,%取得是余數
除法的時(shí)候要注意一個(gè)問(wèn)題:
整數相除,只能得到整數
要想得到小數,可以*1.0
++和--的用法
他們的作用是自增或者自減
使用

1、符號:
=,+=,-=,*=,/=,%=
=為基本的賦值運算符,其他的為擴展的賦值運算符
=叫做賦值運算符,也是最基本的賦值運算符
intx=10;把10賦值給int類(lèi)型的變量x
擴展的賦值運算符的特點(diǎn)
隱含了自動(dòng)強制轉換
2、面試題:
shorts=1;s=s+1;
shorts=1;s+=1;
請問(wèn)上面的代碼哪個(gè)有問(wèn)題?


注1:比較運算符的結果都是boolean型,也就是要么是true,要么是false
注2:比較運算符“==”不能誤寫(xiě)成“=”



邏輯運算符用于連接boolean類(lèi)型的式子
結論
&:有false則false
|:有true則true
^:相同則false,不同則true
!:非true則false,非false則true
“&”和“&&”的區別:
單&時(shí),左邊無(wú)論真假,右邊都進(jìn)行運算
雙&時(shí),如果左邊為真,右邊參與運算,如果左邊為假,那么右邊不參與運算
“|”和“||”的區別同理,雙或時(shí),左邊為真,右邊不參與運算
異或(^)與或(|)的不同之處是:當左右都為true時(shí),結果為false



A:格式
比較表達式?表達式1:表達式2;
B:執行流程:
首先計算比較表達式的值,看是true還是false。
如果是true,表達式1就是結果。
如果是false,表達式2就是結果。

C:案例:
a:比較兩個(gè)數據是否相等
b:獲取兩個(gè)數據中的最大值
c:獲取三個(gè)數據中的最大值

以上所有的內容都已學(xué)完,以下是一張思維導圖,希望對大家有用。

聯(lián)系客服