java 文法基礎1,java文法基礎
Java代碼基本格式
Java中所有程式碼都必須存在於一個類中,用class關鍵字定義類,在class之前可以有一些修飾符。格式如下:
修飾符 class 類名
{
程式碼
}
註:
1、Java是嚴格區分大小寫的。
2、Java程式中一句連續的字串不能分開在兩行中寫。
Java程式的注釋
Java裡的注釋有三種類型:
1、單行注釋
在注釋內容前面加“//”,格式為:
代碼; //注釋內容
2、多行注釋
以斜杠加星號開頭,以星號加斜杠結尾。
3、文檔注釋
以斜杠加兩個星號開頭,以一個星號加斜杠結束。
用這種方法注釋的內容會被解釋成程式的正式文檔,並能包含進諸如javadoc之類的工具程式產生的文檔裡,用以說明該程式的階層及其方法。
補充:
1、多行注釋中可以嵌套“//”注釋,但不能嵌套多行注釋符號。
2、程式注釋一般占程式碼總量的20%-50%,“可讀性第一,效率第二”。
Java中的標識符
Java中的包、類、方法、參數、變數的名字,可以由任意順序的大小寫字母、數字、底線(_)、貨幣符號($)組成,但不能以數字開頭,不能是Java中的保留關鍵字。
Java的關鍵字
1、用於類和介面的聲明:class, extends, implements, interface
2、包引入和包聲明:import, package
3、資料類型:byte, boolean, char, double, int, long, float, short
4、某些資料類型的可選值:flase, ture, null
5、流程式控制制:break, case, continue, default, do, else, for, if, return, switch, while
6、異常處理:catch, finally, throw, throws, try
7、修飾符:abstract, final, native, private, protected, public, static, synchronilzed, transient, volatitle
8、操作符:instanceof
9、建立對象: new
10、引用:this, supper
11、方法傳回型別:void
12、保留字:const, goto
Java中的常量
1、整形常量
十進位
十六進位——以0x或0X開頭
八進位——以0開頭
長整形——以L(l)結尾
2、浮點數常量
單精確度浮點數——後面加f(F)
雙精確度浮點數——後面加d(D)
註:
a.小數常量的預設類型是double型,所以float類型常量後一定要加f(F)。
b.浮點數常量可以用指數形式表示,如5.022e+23f
3、布爾常量
true或false
4、字元常量
由英文字母、數字、逸出序列、特殊字元等的字元所表示,如'a'、'\t'等。
Java中的字元佔兩個位元組,是用Unicode碼錶示的,也可以使用'\u'加Unicode碼值來表示對應字元,如'\u0027'。
常用的逸出字元有:
\t——表示接受鍵盤輸入,相當於按了一下斷行符號鍵
\n——表示換行
\t——表示定位字元,相當於Tab鍵
\b——表示退格鍵,相當於Back Space鍵
\'——表示單引號
\”——表示雙引號
\\——表示反斜線“\”
5、字串常量
字串常量用雙引號括起來。
6、null常量
null常量表示對象的引用為空白。
Java的變數類型
基礎資料型別 (Elementary Data Type)之間的轉換
1、自動類型轉換(隱式類型轉換)
條件:
a.兩種類型彼此相容
b.目標類型的取值範圍要大於源類型
2、強制類型轉換(顯示類型轉換)
格式:目標類型 常量 = (目標類型)值
註:字串可以使用加號“+”同其他的資料類型相連而形成一個新的字串。
變數的範圍
代碼塊決定了變數的範圍,範圍決定了變數的可見度和存在時間。
局部變數
在一個函數或函數裡面的代碼塊中定義的變數稱為局部變數。
局部變數在進行取值操作前必須被初始化或進行過賦值操作。
函數
1、定義函數的格式
返回值類型 函數名(參數類型 形式參數1,參數類型形式參數2,...)
{
程式碼
return 返回值;
}
2、函數的重載
函數的重載就是在一個類中可以同時存在一個以上的同名函數,只要它們的參數個數或類型不同即可。
Java中的運算子1、算術運算子a.字串 + 其他類型 = 字串b.如果對負數求餘,可以把除數負號忽略不計,如5 % -1 = 1。但如果被除數是負數就另當別論了。 2、賦值運算子a.在Java中,可以把賦值語句連在一起,如:x = y = z = 5;b.x += y相當於x = x + y 3、比較子a.要注意比較子“==”和賦值運算子“=”的區別,特別是布爾型變數進行比較時。b.可以將比較運算的運算式寫為“false == 變數”的形式,以防止誤寫為賦值運算。 4、邏輯運算子a.邏輯運算子用於對boolean型結果的運算式進行運算,運算的結果都是boolean型 。b.“&”和“&&”的區別在於,如果使用前者串連,那麼無論任何情況,“&”兩邊的運算式都會參與計算。如果使用後者串連,當“&&”的左邊為false,則將不會計算其右邊的運算式。“|”和“||”的區別與“&”和“&&”的區別一樣。 5、位元運算符位元運算——對資料按二進位位進行移位操作。適用類型:byte, short, char, int, long位元運算包括:& 位與| 位或^ 位異或<< 左移,左移n位相當於乘以2的n次方>> 右移,右移n位相當於除以2的n次方>>> 無符號右移 註:a.位元運算符也可以與“=”賦值運算子組合產生新的賦值運算子,如:&=, <<=等。b.移位不會改變變數本身的值,如a>>1在一行語句中單獨存在毫無意義。c.對低於int型的運算元將先自動轉換為int型再移位;對int型整數移位a>>b,系統先將b對32模數,得到的結果才是真正移位的位元;對於long型整數移位時則是先將移位位元對64模數。
運算子的優先順序編程技巧:1、不要在一行中編寫太複雜的運算式,可以將其分解為幾條語句。2、多用括弧。
程式控制流程程
1、順序結構
按順序執行
2、if條件陳述式
a.if...
b.if...else...
可簡寫為:變數 = 布林運算式? 語句1:語句2;
c.if...else if...else...
3、switch選擇語句
switch(運算式)
{
case 取值1:
語句塊1;
break;
...
case 取值n:
語句塊n;
break;
default:
語句塊n+1;
break;
}
4、while迴圈語句
while(條件運算式)
{
執行語句
}
5、do while迴圈語句
do
{
執行語句
}while(條件運算式)
6、for迴圈語句
for(初始設定式;迴圈條件運算式;迴圈後動作表達式)
{
執行語句
}
7、增強for迴圈
for (迴圈變數類型 迴圈變數名稱: 要被遍曆的對象)
{
執行語句
}
8、break與continue語句
a.一個無標號的break語句會把控制傳回當前最內層迴圈(while,do,for,switch)的下一條語句。
b.無標號的continue語句的作用是跳過當前迴圈的剩餘語句塊,接著執行下一次迴圈。
數組
1、數組的定義
如:int[] x = new int[100];
或int x[] = new int[100];
2、數組的靜態初始化
如:int[] aa = new int[] {3,4,5};
3、多維資料
如:
int[][] xx = new int[3][];
xx[0] = new int[3];
xx[1] = new int[2];
4、一些與數組相關的函數
a. System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length)複製數組,將源數組srcPos開始的length個元素從目標數組的destPos位置開始儲存。
b. Array.sort()數組升序排序