JAVA語言基礎(二)
Java語言特點
Java是一種
簡單、面向對象、分布式(網絡適用)、解釋型、健壯、安全、結構中立、可移植、高性能、多線程、動態的
計算機程序語言。
Java語言的基本元素
Java包含標識符、關鍵字、運算符和分隔符等元素。。
標識符
變量以及類和方法都需要一定的名稱。所有的標識符都必是以一個字母、下劃線或美元符號“$”開頭的一串字符,后面的字符可以包含字母、數字、下劃線和美元符號。
標識符是由程序員自己定義的名稱,可按規則隨意選取。不過,Java中有一個標識符命名約定: 常量用大寫字母,變量用小寫字母開始,類以大寫字母開始。如果一個變量名由多個單詞構成,第一個單詞后面的單詞以大寫字母開始, Java區分字母大小寫,標識符中的大小寫字母被認為是不同的兩個字符。
關鍵字
如附件圖1
注: 帶*號的關鍵字現在已不使用。
分隔符
1. 注釋符
(1) // 注釋一行
(2) /*… */一行或多行注釋。“/*”開始,最后以“*/”結束,中間可寫多行。
2. 空白符
空格、回車、換行和制表符(Tab鍵)等符號
3. 普通分隔符
. 點,分隔包、類或分隔引用變量中的變量和方法;
; 分號,語句結束的標志;
, 逗號,分隔方法的參數和變量說明等;
: 冒號,說明語句標號;
{} 大括號,用來定義復合語句、方法體、類體及數組的初始化;
[] 方括號,用來定義數組類型及引用數字的元素值;
() 圓括號,定義運算優先級。
PS米米:空白符和分隔符都是區分語言各種基本成份的.
public class mimi { // public關鍵字 mimi為類名?
public static void main(String args[]) {
// public聲明公共關鍵字
// static聲明靜態方法關鍵字
//void 空返回值
// main 入口函數
int i, c;
//賦值 I ,c 為int類型
...
}方法的最后的大括號
}入口函數最后的大括號
需注意…括號不要弄混亂 順序是 由外向內的
數據類型
Java的數據類型可分為: 基本類型,包括整型、浮點型、布爾型和字符型;數組類型,包括一維數組和多維數組;復合類型,包括類和接口。
基本數據類型
Java定義了8種基本數據類型。
如圖2
PS米米: 一般情況,沒有小數點的數字是int型數,帶有小數點的數是double型的數,其他數值數據要在數字后面加一個大寫或小寫字母表示數據類型。
變量的聲明
Java存儲數據,要它保存到一個變量中。變量在使用前必須有定義,即有確定的類型和名稱。聲明變量的格式為:
類型 變量名[,變量名]=初值,…;
byte b1, b2;
b1=99,b2=100;
//先聲明后賦值
int v1=0, v2=10, v3=18;
//聲明和賦值同時進行
變量類型的轉換
變量類型強制轉換的格式:
(數據類型)數據表達式
PS:
int a;char b;b=′A′;
a=(int) b;
數值型數據,Java可將低精度的數字賦值給高精度的數字型變量,反之則需要進行強制類型轉換,所以int,short,byte賦值給long型時不需要顯式的類型轉換,反之,將long型數賦值給byte,short,int型時需要強制轉換
運算符與表達式
Java的運算符代表著特定的運算指令,程序運行時將對運算符連接的操作數進行相應的運算。運算符和操作數的組合構成表達式,表達式代表著一個確定的數值。表達式在使用上總是先計算后使用,因此,不管一個表達式有多么復雜,其最終結果都是一個有確定類型和大小的數值。
按照運算符功能來分,運算符有7種: 賦值運算符、算術運算符、關系運算符、條件運算符、邏輯運算符、位運算符和其他運算符。
按照連接操作數的多少來分,有一元運算符、二元運算符和三元運算符。另外,算術運算符和賦值運算符可以結合在一起形成算術賦值運算符。
2.3.1 賦值運算符
圖3 賦值運算符
由賦值運算符構成的表達式稱為賦值表達式。賦值運算符的右邊是一個表達式,這個表達式還可以包含一個表達式。例如: a=b=c=0,相當于3個表達式c=0,b=c,a=b。
2.3.2 算術運算符
見圖4
算術運算符按操作數的多少可分為一元運算符和二元運算符。一元運算符(+、-、++、--)一次對一個操作數進行運算,二元運算符一次對兩個操作數進行運算。
關系運算符
見圖5
關系運算符用于兩個操作數之間關系的比較。關系表達式的運算結果為布爾值,不是true就是false,操作數可以是常量、變量和表達式。關系表達式常常用作分支結構或循環結構的控制條件。
條件運算符
是三元運算符,條件表達式的格式:
條件表達式 ? 結果1: 結果2;
先計算作為條件的邏輯表達式或關系表達式,條件表達式返回值為true時整個表達式的值為結果1,返回值是false時整個表達式的值為結果2。
邏輯運算符
見圖6
解決一些簡單條件的判定問題,對較為復雜的條件還得用邏輯運算判定。邏輯表達式最終運算結果為boolean的true或false。“&&”連接的兩個表達式中,只要有一個不true,則整個表達式就為false。運算時只要判定左邊表達式為false,就可立即得出結論,不再計算右邊表達式。所以,最有可能取false值的表達式盡量放在左邊,這樣可提高表達式的運算速度。“&”在表達式判定上和“&&”相同,惟一不同的是它總是計算兩邊表達式的值。
“ || ”連接的兩個表達式中,只要有一個為true,則整個表達式就為true。運算時只要判定左邊表達式為true,就可立即得出結論,不再計算右邊表達式。所以,最有可能取true值的表達式盡量放在左邊,以提高表達式的運算速度。
“ | ”在表達式判定上和“||”相同,不同之處是它總是計算兩邊表達式的值。
“ ^ ” 邏輯異或連接的兩個表達式同為true或同為false時,整個表達式結果為false,其他情況下取true。
其他運算符
見圖7…其實new我一直理解成關鍵字 - -
運算優先級
有一堆運算符…..加減乘除之類…我從來不管….一律加()….最高優先級…. 汗
數組
有序數據的集合,其中的每個元素具有相同的數組名,根據數組名和下標來惟一地確定數組中的元素。數組有一維數組和多維數組,使用時要先聲明后創建。
這么說不太好懂
Ex:
i=[1,2,3,4,5];
數組i里的1,下標為0,依此類推.
一維數組的聲明
一維數組是指一個線性數據序列,聲明格式:
數據類型 數組名[]; 或 數據類型[] 數組名;
Ex:
int arr1[];
char [] arr2;
數組的定義中并不為數組元素分配內存,因此“[]”中不用指出數組中元素的個數即數組長度,而且對于如上定義的一個數組暫時還不能訪問它的任何元素。
一維數組的創建與賦值
定義數組后,還必須為數組分配內存、初始化。
格式:
數組名= new 數據類型[size]
其中,size指明數組的長度.如:
int intAwp[]=new int[3];
char cAwp[]=new char[5];
數組元素賦值的方法與變量相同.如:
intdd[0]=10;
intdd[1]=20;
intdd[2]=30;
直接賦初值并定義數組的大小
還有就是直接賦初值并定義數組的大小。初值用大括號括起,用逗號做分隔符,初值的個數表示數組的大小。
int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
char c[]={′a′,′b′, ′c′, ′北′, ′方′}
多維數組
多維數組就是數組的數組(說的通俗點)。比如二維數組就是一個特殊的一維數組,它的每個元素是一個一維數組。
二維數組的聲明與一維數組基本相同,只是后面再加上一對中括號“[]”。創建二維數組時,可指定各維的長度或至少指定第一維的長度,也可采用直接賦值的方法確定二維數組的長度。此時,按照給定的值序依次填滿數組每一行中的元素。更高維的情況差不多。Ex:
int awp1[][]=new int[3][4];
int awp2[][]=new int[3][ ];
int awp3[][]={{0,1,2},{3,4,5},{6,7,8}};
二維數組有一個好處是第二維的長度可以不相等。