關於數組、運算符、流程控制的總結
數組
概念:相同數據類型元素的集合。
可以存儲基本數據類型,也可以存儲引用數據類型。
寫法:
一、聲明數組並分配內存,同時將其初始化。靜態數組。
int [] a = new int [] {1,2,3,4,5];
二、聲明的同時,根據指定的長度分配內存。動態數組。
Employee [] e = new Employee [10] (Employee是自定義類)。
三、相對簡略的寫法。
int [] b = {1,2,3,4,5};
長度:length屬性
創建數組的時候必須指定其長度,且一經定義,不可改變。
調用方法:int [] b1 = new int [] {1,2,3,4,5,6,7};
System.out.println(b1.length);
該數組長度為7,但內存實際給8個位置。另外一個存儲“7”。
賦值:
C語言中,不能將數組直接賦值給另一個數組;
Java中允許這樣做,兩個數組引用同一內存。
訪問:
數組名字[索引] 例如:a[1];
System.out.println(a[1]);
註意:索引從0開始;
索引的數據類型為整型;
索引最大值和數組長度始終差1。
叠代:
第一種:for循環
For (int i=0; i<a.length; i++){
System.out.println(a[i]);
}
第二種:增強for循環
寫法:for(數組元素的類型 臨時變量名字 :數組的名字){
System.out.println(臨時變量名字 );
}
即:
for(int x:a){
System.out.println(x);
}
運算符
四類運算符:
算術運算符;位運算符;比較運算符;邏輯運算符
註意:1、除了==及!=、+外,其他運算符都只針對基本數據類型;
2、==及!=也可以對引用類型進行運算;
3、+還可以對字符串進行連接操作。
算術運算符:
+ ,- ,* ,/ ,% ,a>b ? true : false
位運算符:
先轉化成二進制再運算。兩大類:
1、 與(&)或(
例題:int c = 5, d; //5: 0000 0101; 12: 0000 1100
d = c^12; //異或:相同為0,不同為1
System.out.println(d); //0000 1001 結果為9
d = c & 12; //與:全部是1結果才是1,其余為0
System.out.println(d); //0000 0100 結果為4
d = c | 12; //或:只要有一個是1,結果就是1,其余為0
System.out.println(d); //0000 1101 結果為13
d = ~c; //非:+1取反
System.out.println(d); //-(5+1) == -6
2、 移位運算符:<<、>>(有符號右移)、>>>(無符號右移);
左移1位相當於乘以2,右移1位相當於除以2。
例題: int a=8,c; // a原值:0000 1000
c = a>>2; //移動後:0000 0010
System.out.println(c); //c值為2
比較運算符:
類型:==,<,>,<=,>=,!=
除了==和!=外,其余都只能比較基本數據類型。
==和!=還可以比較引用類型(比較虛地址)。
註意:比較運算符的返回值為true或false。
邏輯運算符
應用:用於連接兩個boolean類型的表達式
類型:&&(雙與),||(雙或),&(與),|(或),^(異或),!(非)
註意:&&與&的運算結果是相同的,對於&而言無論左邊為什麽值,右邊都參與運算; 對於&&來說,只要左邊為false右邊就不再運算,直接返回false。
||與|的運算結果是相同的,對於|而言無論左邊為什麽值,右邊都參與運算;對於||來說,只要左邊為true右邊就不再運算,直接返回true。
&&和||可以理解為物理上的短路,實際中多用&&及||
流程控制
類型:順序流程,分支流程,循環流程
分支流程
If條件表達式可以是任何一種邏輯表達式。
如果表達式值為true,則執行花括號的內容後,再執行後面的語句。
如果表達的值為false,則直接執行後面的語句。
格式:
if(表達式){
語句塊;
}
else{
語句塊;
}
switch表達式的值只可以接受int、byte、char、short 型、枚舉、String,不接受其他類型的值,不允許有重復的case取值;
switch一旦碰到第一次case匹配,程序就會跳轉到這個標簽位置,開始順序執行以後所有的程序代碼,而不管後面的case條件是否匹配,直到碰到break語句為止。
格式:
switch (表達式)
{
case 取值1:語句塊1; break; //如果沒有break,將會繼續執行後面的case語句。
…
case 取值n:語句塊n; break;
default: 語句塊n+1
}
循環流程
while語句
格式:
while (條件表達式)
{
執行語句塊;
}
do … while語句
格式:
do
{
執行語句塊;
} while(條件表達式 );
for循環
格式:
for(初始化表達式;循環條件表達式;循環後的執行語句塊1)
{
執行語句塊1; //條件成立
}
執行語句塊2; //條件不成立
break
用於終止某個語句塊的執行。用在循環語句體中,可以強行退出循環。
break語句可以出現在while、do…while、for、switch語句體中。
continue
用在循環語句體中,用於終止某次循環過程,跳過循環體中continue語句下未執行的循環,開始下一次循環過程。
continue語句只能出現在循環語句while、do…while、for中。
關於數組、運算符、流程控制的總結