一:運算符和表達式 1.表達式 表達式是由常量變數對象方法調用和操作符組成的式子。根據運算符的不同,表達式相應的分為下麵幾種:算數表達式、關係表達式、邏輯表達式、賦值表達式,這些都屬於數值表達式。 2.運算符 •算術運算符 進行基本的算數運算,如加法、減法、乘法、除法,在字元串中,‘+’可以作為連接 ...
一:運算符和表達式
1.表達式
表達式是由常量變數對象方法調用和操作符組成的式子。根據運算符的不同,表達式相應的分為下麵幾種:算數表達式、關係表達式、邏輯表達式、賦值表達式,這些都屬於數值表達式。
2.運算符
•算術運算符 進行基本的算數運算,如加法、減法、乘法、除法,在字元串中,‘+’可以作為連接符
n++ :先執行一次操作,再對n進行加1運算
++n :先對n進行加1運算,再執行一次操作
•賦值運算符 =
格式 :變數 = 表達式;從右往左進行運算
•關係運算符 :判斷數據的大小,比較的結果是布爾值
'A' > 'B' 的結果是false,這時比較的是兩個字元的ASCII值
•邏輯運算符: &與 、|或、!非 , 用來連接一個或多個條件,判斷這些條件是否成立,其運算數都是布爾類型
&& 與 || :又叫做短路運算符,如果第一個表達式的值就可以決定表達式最後的結果,預算符右邊的表達式就不需要進行運算了
•條件運算符 :
格式:布爾表達式?表達式1: 表達式2
布爾表達式的值為true時,返回表達式1的值,否則返回表達式2的值
•位運算符
&(與)、|(或)、 ^(異或)、<<(左移)、>>(右移)、>>>(無符號右移)、~(取反)
註意:位運算針對的是整數,運算的是數據的補碼
可以利用&來判斷是否是奇偶數。
運算符的優先順序:
二:流程式控制制
順序結構,選擇結構,還有迴圈結構三種。
1.順序結構
顧名思義順序結構就是程式從上到下一條一條的按照順序進行執行,沒有語句的判斷和跳轉,直到程式結束。
2.選擇結構
主要分為if語句和switch語句兩種類型
If語句又可以分為以下幾種:
① If(表達式){語句};
② If(表達式){語句1};else{ 語句2};
③ If(表達式1){語句1};
else if(表達式2){語句2};
else if(表達式3){語句3};
...........
...........
else {語句n};
④ 嵌套if語句:
If(表達式1){
If(表達式2){語句1};
else {語句2};
}
else{
If(表達式3){語句3};
else{語句4};
}
註意:在使用時if後面必須是一條語句,如果是多條語句,必須使用大括弧將其組成複合語句。否則編譯的時候可能會出現錯誤。
switch選擇結構的格式如下:
switch(表達式){
case 常量表達式1: 語句1;
case 常量表達式2: 語句2;
.............
case 常量表達式n: 語句n;
default: 語句n+1;
}
註:
① default語句是可選的,他接受除了上面接受的值。
② case後面只能跟一條語句,如果有多條語句必須將其寫成複合語句的形式。
③ switch判斷語句只可以接受byte,short,char,int型,不能接受其他的類型 。
④ 一旦第一次遇到與case匹配的語句,就直接執行這條語句以及後面的所有語句。
⑤ case語句遇到break就會跳出,所以通常與break配合使用。
3.迴圈結構
for迴圈,while迴圈語句,do-while迴圈。
(1)for迴圈語句:
for(表達式1;表達式2;表達式3){迴圈體語句};
註:表達式1一般都是變數賦初值,表達式2是判斷語句,表達式3是控制變數增減的語句。執行過程是先執行表達式1,然後判斷表達式2,表達式2成立的話再執行迴圈體語句,然後判斷表達式3.直到表達式2條件不成立時跳出迴圈。迴圈體語句必須是一條語句,如果是多條語句必須用{ }括起來,組成符合語句。
(2)while迴圈語句格式如下:
while(表達式){
迴圈語句;
}
while語句一般是在不知道迴圈次數的情況下使用,執行過程是先判斷表達式,當表達式成立時再執行迴圈體語句,如果表達式不成立,則直接跳出迴圈。一般變數賦值在while語句之前給出。
(3)do-whlle迴圈語句格式如下:
do{
語句;
}while(表達式);
do-while語句無論表達式是否成立都會執行一次,也就是先執行後判斷。
總結:當已知迴圈的次數時優先選擇for迴圈,當迴圈的次數不知,而且迴圈條件比較明顯時用while迴圈,當無論迴圈條件是否成立,迴圈體語句至少被執行一次時,選擇do-while。
4、break與continue關鍵字:
(1)break關鍵字不僅可以用於switch語句,還可以用於迴圈語句,當滿足某個條件時直接跳出迴圈。
(2)continue關鍵字可以用於迴圈語句,經常與if配套使用,當滿足if條件時,就不再執行continue後面的語句,而是進入下一次的迴圈。
三:數組
1.數組定義:存儲固定大小的同類型元素
數據類型[] 數組名 = new 數據類型[元素個數或數組長度];
例如:int[]x=new int[123]//創建一個長度為123的int類型的數組 ,第一個變數的名稱為x[0],第二個變數的名稱為x[1]
創建初始化和操縱數組
package com.number1.com; public class TestArray1 { public static void main(String[] args){ double[] x={1.1,2.1,3.1,4.1,5.1}; //列印所有的數組元素 for (int i=0;i<x.length;i++){ System.out.println(x[i]+" "); } //計算所有的數組元素和 double sum=0; for (int i=0;i<x.length;i++){ sum+=x[i]; System.out.println("總和為"+sum); } //查找最大元素 double max=x[0]; for(int i=1;i<x.length;i++){ if (max < x[i]) max=x[i]; } System.out.println("最大值為"+max); } }
1.1 2.1 3.1 4.1 5.1 總和為1.1 總和為3.2 總和為6.300000000000001 總和為10.4 總和為15.5 最大值為5.1 Process finished with exit code 0
*數組作為函數的參數傳遞給方法
*數組作為函數的返回值
*多維數組:數組的數組
String str[][]=new String[3][5]
多維數組的動態初始化:type[][] typeName=new type[typeLength1][typeLength2]
Arrays類
java.util.Arrays類能方便的操縱數組,他提供的方法都是靜態的,
功能:
具有以下功能:
- 給數組賦值:通過 fill 方法。
- 對數組排序:通過 sort 方法,按升序。
- 比較數組:通過 equals 方法比較數組中元素值是否相等。
- 查找數組元素:通過 binarySearch 方法能對排序好的數組進行二分查找法操作。
序號 方法和說明 1 public static int binarySearch(Object[] a, Object key)
用二分查找演算法在給定數組中搜索給定值的對象(Byte,Int,double等)。數組在調用前必須排序好的。如果查找值包含在數組中,則返回搜索鍵的索引;否則返回 (-(插入點) - 1)。2 public static boolean equals(long[] a, long[] a2)
如果兩個指定的 long 型數組彼此相等,則返回 true。如果兩個數組包含相同數量的元素,並且兩個數組中的所有相應元素對都是相等的,則認為這兩個數組是相等的。換句話說,如果兩個數組以相同順序包含相同的元素,則兩個數組是相等的。同樣的方法適用於所有的其他基本數據類型(Byte,short,Int等)。3 public static void fill(int[] a, int val)
將指定的 int 值分配給指定 int 型數組指定範圍中的每個元素。同樣的方法適用於所有的其他基本數據類型(Byte,short,Int等)。4 public static void sort(Object[] a)
對指定對象數組根據其元素的自然順序進行升序排列。同樣的方法適用於所有的其他基本數據類型(Byte,short,Int等)。