二、java基本語法


一、標識符

java對各種變量、方法和類等要素命名時使用的字符序列成為標識符;通俗點,凡是自己可以起名字的地方都叫標識符,都遵守標識符的規則

1.標識符命名規則:

1)標識符由字符、下划線、美元符或數字組成。

2)標識符應以字符、下划線、美元符開頭

3)java標識符大小寫敏感,長度無限制

4)約定俗成,java標識符選取應該注意“見名知意”且不能與java語言的關鍵字(eclipes中帶顏色的基本都是關鍵字)重名

合法的標識符

不合法的標識符

HelloWord class
DataClass DataClass#
_983 98.3
$6s5_c7 Hello World

 

二、關鍵字

java中一些賦以特定含義,用作專門用途的關鍵的字符串成為關鍵字(keyword);且大多數編輯器都會將關鍵字用特殊方式標出

所有java關鍵字都是小寫英文

一些常用關鍵字

abstract default if private this
boolean do implements protected throw
break double import public throws
byte else instanceof return transient
case extends int short try
catch final interface static void
char finally long stricrfp volatile
class float native super while
const for new switch null
continue goto package stnchronized  

三、java的基本數據類型

1.java常量

java的常量值用字符串表示,區分為不同的數據類型。如:

整型常量:1234

實型常量:3.14

字符常量:’a’

邏輯常量:true、false

字符串常量:”HelloWorld”

注意:

1)區分字符常量和字符串常量

字符常量是單引號引起來的單個,字符串常量是雙引號引起來的不限長度

由於java采用Unicode編碼,每個字符占兩個字節,因而可用天十六進制編碼形式表示,當然也可以用一個中文表示(單個中文占用兩個字節)

2)”常量”這個名次還會用在另外其他語境中表示值不可變的變量

2.java變量

java變量是程序中最基本的存儲單元,其要素包括變量名,變量類型和作用域。

java程序中每一個變量都屬於特定的數據類型,在使用前必需對其進行聲明,聲明格式為:

type varName [=value]

例如:

int i =100;

foloat f=12.3f;

double d1,d2,d3=0.123;(聲明了三個變量,其中d1,d2是默認值,d3=0.123)

String s=”hello”

從本質上講,變量其實是內存中的一小塊區域,使用變量名來訪問這塊區域,因此,每一個變量使用前必需先聲明,然后必需進行賦值,才能使用。

1)java變量分類

按被聲明的位置划分:

局部變量:方法或語句塊內部定義的變量,只能在被定義的方法或語句塊內使用

成員變量:方法外部、類的內部定義的變量,可以在整個類中使用,包括類里的方法或語句塊內也可以使用

注意:類外面是不能有變量的聲明的

image

按所屬的數據類型划分:

基本數據類型變量

引用數據類型變量

image

 

四、運算符

java語言支持如下運算符:

算術運算符:+        -        *        /        %        ++        --

關系運算符:>        <        >=        <=        ==        !=  

邏輯運算符:!        &        |        ^        &&        ||

位運算符:&        |        ^        ~        >>        <<        >>>

賦值運算符:=

拓展賦值運算符:+        =        -=        *=        /=

字符串鏈接運算符:+

三目條件運算符          ?        :

1.算數運算符

注意:

1)

位運算符中的!、&、|、^跟羅技運算符相同,只是位運算符是對變量的二進制進行操作,我個人是用不到的,所以不在這里多做介紹

2)

++(—)

在前時先運算再取值

在后時先取值再運算

image

2.邏輯運算符

image

例如:

image

3.擴展賦值運算符

image

4.字符串連接符

“ + ”運算符兩側的操作數中只要有一個是字符串類型,系統會自動將另一個操作數轉換為字符串然后進行連接,例如:

4 + 5 = 9

4 + “ab” = “4ab”

5.三目條件運算符

語法格式:

x ? y : z

其中x為boolean類型表達式,先計算x的值,若為true,則整個三目運算的結果為表達式y的值,否則整個運算結果為表達式z的值。

五、表達式和語句

1.表達式

表達式是符合一定語法規則的運算符和操作數的序列,例如:

a

5.0 + a

(a – b) * c – 4

i < 30 && i %10 !=0

1)表達式的類型和值

表達式中的操作數進行運算得到的結果稱為表達式的值

表達式值的數據類型即為表達式的類型

2)表達式的運算順序

應按照運算符的優先級從高到低的順序進行

優先級相同的運算符按照實現約定的結合方式進行

我個人覺得運算順序這塊是可以忽略的,首先我的邏輯思維能力不是特別強,另外我的記性也不是特別好,所以如果我需要在表達式中區分優先級的話我會選擇加括號。但是我覺得對於一些比較復雜且關鍵的邏輯運算,如果個人邏輯運算能力加記憶都比較好可以保證不出錯的話,善用羅技運算符優先級未嘗不是一種不讓別人看懂你代碼copy的手段。算是一種小小的防護吧,反正我這種人是不會去嘗試分析這種代碼的,太累~~

image

2.分支(條件)語句

if

if  … else

if  … else if … else if

if  … else if … else  if …else

image

switch () {

case xx:

        ……………

case xx:

        ……………

default:

        ……………

}

1.java中switch語句只能探測int類型的值(char類型的值也可以,因為他可以轉換城int類型)

2.小心case穿透,所以最好與break連用

3.多個case可以連用,如下的示例代碼也可以這樣寫(當i=1,2,18都會輸出18):

image

示例:

image

 

3.循環語句

for(…;…;…){……}

while(…){……}先判斷再執行大括號里面的內容,然后再判斷是否要繼續執行

do{……} whille(…); 先執行大括號里面的內容再判斷是否要繼續執行

image

image

4.break & continue語句

break語句用於終止某個語句塊的執行。用在循環體語句中么可以強行退出循環

continue語句用在循環體語句中,用於終止某次循環過程,跳過循環中continue語句下面未執行的循環,開始下一次循環過程

image

八、方法

java的方法類似於其他語言的函數,是一段用來完成特定功能的代碼片段,聲明格式:

[修飾符1  修飾符2  …] 返回值類型  方法名  (形式參數列表)  {

    java語句

形式參數:在方法被調用時用於接受外界輸入的數據

實參:調用方法時實際純給方法的數據

返回值:方法在執行完畢后返回給調用他的環境的數據

返回值類型:實現約定的返回值的數據類型,如無返回值,必需給出返回值類型void

 

java語言中調用方法:對象名.方法名(實參列表)

實參的數目、數據類型和次序必需和所調用方法聲明的形參列表匹配

return語句終止方法的運行並指定要返回的數據

 

java中進行函數調用傳遞參數時,遵循值傳遞的原則:

基本類型傳遞的是該數據值本身,引用累心美國傳遞的是對對象的引用,而不是對象本身

image 

例子中的方法1,前面定義的數據類型為void, 所以方法中不能有return返回值,方法4中因為有return返回值,所以前面必需定義為返回值的類型,也就是m4前面那個int

九、遞歸調用

遞歸調用是指在方法執行過程中出現該方法本身的調用

先看一個例子,這是一個簡單的遞歸調用:

image

 

簡單分析下:

1.首先main主方法中輸出字符串,內容是test方法當參數等於5的時候的返回值

2.然后將參數5傳入test方法,返回值是:5 * test(4)

3.再次將參數4傳入test方法中,返回值是:4 * test(3)

4.再將參數3傳入test方法中,返回值是:3 * test(2)

5.再講參數2傳入test方法中:返回值是:2 * test(1)

6.再將參數1傳入到方法中:返回值是:1

然后程序開始往回走,返回值傳入test(1)中得到2*1

再往回走,將剛剛得到的2*1傳入到test(2)中得到3*2*1

還要往回走,將剛剛得到的3*2*1傳入到test(3)中得到4*3*2*1

還要往回走,將剛剛得到的4*3*2*1傳入到test(4)中也就是test(5)的返回值,得到5*4*3*2*1

最后將test5的返回值傳入到我們的主方法輸出於語句中5*4*3*2*1=120,那么我們的輸出語句輸出的應該為120

這就是簡單的遞歸調用的例子了

再來看一個例子:

image

非遞歸的寫法:

請自行領悟

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM