Java基礎語法-零基礎教學2

三目表達式:

“三目條件表達式”,語法格式:

  • x ? y : z

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

舉例:

  • int score = 80; int x = -100;
  • String type = score < 60 ? "不及格" : "及格";
  • int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
  • System.out.println("type= " + type);
  • System.out.println("flag= "+ flag);

結果:

  • type= 及格 flag= -1

控制語句:

條件語句 - 根據不同條件,執行不同語句。

  • if
  • if .. else
  • if .. else if
  • if .. else if .. else if .. else
  • switch

循環語句 – 重複執行某些動作

  • for (JDK1.5語法)
  • while
  • do .. while;

分支語句IF

  • if
  • if .. else ..
  • if .. else if ..
  • if .. else if .. else if ..
  • if .. else if .. else if .. else
  • 只有一句需要執行的語句時,可以省略 { },但是不推薦省略
  • 小心不要在if後面加 ;

分支語句switch

  • switch() {     
    • case xx :         ….     
    • case xx :             ….     
    • default:         ….
  • }
  • 小心case穿透,推薦使用break語句 多個case可以合併到一起
  • default可以省略,但不推薦省略
  • Switch的值類型是:byte    short    int    String     枚舉    char

需求練習:

  • 做練習:
  • 電腦輸入自己的:名字,性別,出生年,身高,體重。
  • 返回電腦自動返回:
  • 庫裏 男 1988年出生,今年27 身高:191.1cm 體重:83.9kg
  • 您的體重完整正常or偏重注意瘦身or注意加強營養。
  • 男性:身高(釐米)-105= 標準體重(千克),
  • 女性:身高(釐米)-100= 標準體重(千克)

While循環 & do while 循環

  • while 語句爲如下形式:
  • while(邏輯表達式){ 語句; … ; }
  • 執行過程: 先判斷邏輯表達式的值。
  • 若=true.則執行其後面的語句,然後再次判斷條件並反覆執行,直到條件不成立爲止

示意圖:

do while

  • do while 語句爲如下形式:
  • do { 語句; … ; } while(邏輯表達式);
  • 執行過程:先執行語句,再判斷邏輯表達式的值,若爲true,再執行語句,否則結束循環。

示意圖

for 循環語句

  • for 語句爲如下形式:
  • for(表達式1; 表達式2; 表達式3){ 語句; … ; }
  • 執行過程 首先計算表達式1,接着執行表達式2,若表達式2的值 = ture,則執行語句,接着計算表達式3,再判斷表達式2的值;
  • 依此重複下去,直到表達式2的值=false
  • for語句中三個表達式都可以省略 JDK1.5新補充的for語法(後面課程中補充,數組)

練習:

課 堂 練 習 編寫程序,用一個 for 循環計算1+3+5+7 + ……+ 99的值,並輸出計算結果。(OddSum.java)


/**
* 100以內的奇數和
*/
public class OddSum{

	public static void main(String[] args){
		int sum = 0;
		//for循環
		for(int i=1;i<=100;i+=2){
			System.out.println("當前的數字是:"+i);
			sum +=i;
		}
		System.out.println("總和是:"+sum);
	}
}

break & Continue 語句

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

public class Test {
  public static void main(String args[]) {
    int stop = 4;
    for (int i = 1; i <= 10; i++) {
       //當i等於stop時,退出循環
       if (i == stop) break;
       System.out.println(" i= " + i);
    }
  }
}

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

public class Test {
  public static void main(String args[]) {
    int skip = 4;
    for (int i = 1; i <= 5; i++) {
       //當i等於skip時,跳過當次循環
       if (i == skip) continue;
       System.out.println("i = " + i);
    }
  }
}

 

循環代碼練習:

  1. 輸出1~100內前5個可以被3整除的數。
// 輸出1~100內前5個可以被3整除的數。
public class Test {
  public static void main(String args[]){
    int num = 0, i = 1;
    while (i <= 100) {
        if (i % 3 == 0) {
            System.out.print(i + " ");
            num++;
        }
        if (num == 5) {
            break;
        }
        i++;
    }
  }
}
  1. 輸出101~200內的質數,

//輸出101~200內的質數,
public class Test {
  public static void main(String args[]) {
    for (int i=101; i<200; i+=2) {
        boolean f = true;
        for (int j = 2; j < i; j++) {
            if (i % j == 0) {
                f = false; 
                break;
            }
        }
        if (!f) {continue;}
        System.out.print(" " + i);
    }
  }
}

初步瞭解:Java中的方法

  • Java的方法類似於其它語言的函數,是一段用來完成特定功能的代碼片段,聲明格式:  
  • [修飾符1  修飾符2  …] 返回值類型 方法名(形式參數列表){
  •     Java語句;… … …  
  • }                        
  • 形式參數:在方法被調用時用於接收外界輸入的數據。
  • 實參:調用方法時實際傳給方法的數據。
  • 返回值:方法在執行完畢後返還給調用它的環境的數據。
  • 返回值類型:事先約定的返回值的數據類型,如無返回值,必須給出返回值類型void。
  • Java語言中使用下述形式調用方法:對象名.方法名(實參列表)
  • 實參的數目、數據類型和次序必須和所調用方法聲明的形參列表匹配,
  • return  語句終止方法的運行並指定要返回的數據。
  • Java中進行方法調用中傳遞參數時,遵循值傳遞的原則:
  • 基本類型傳遞的是該數據值本身。引用類型傳遞的是對對象的引用,而不是對象本身 。

遞歸調用

遞歸簡單來說呢就是:方法自身調用自身

代碼案例:

打印99乘法表

源碼,補碼,反碼

  • 概念:java中用補碼錶示二進制數,補碼的最高位是符號位,最高位爲“0”表示正數,最高位爲“1”表示負數。
  • 正數補碼爲其本身;
  • 負數補碼爲其絕對值各位取反加1;
  • 例如:
  • +21,其二進制表示形式是00010101,則其補碼同樣爲00010101
  • -21,按照概念其絕對值爲00010101,各位取反爲11101010,再加1爲11101011,即-21的二進制表示形式爲11101011

補充內容

步驟:

  1. byte爲一字節8位,最高位是符號位,即最大值是01111111,因正數的補碼是其本身,即此正數爲01111111 十進制表示形式爲127
  2. 最大正數是01111111,那麼最小負是10000000(最大的負數是11111111,即-1)
  3. 10000000是最小負數的補碼錶示形式,我們把補碼計算步驟倒過來就即可。10000000減1得01111111然後取反10000000 因爲負數的補碼是其絕對值取反,即10000000爲最小負數的絕對值,而10000000的十進制表示是128,所以最小負數是-128
  4. 由此可以得出byte的取值範圍是-128到+127
  5. 說明:各個類型取值範圍的計算方法與此大致相同,感興趣的同學可以自己試着計算

補充內容

  1. 補充(給非計算機專業的同學掃下盲):
  2. 在計算機內,定點數有3種表示法:原碼、反碼和補碼
  3. [原碼]就是二進制定點表示法,即最高位爲符號位,“0”表示正,“1”表示負,其餘位表示數值的大小。
  4. [反碼]表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
  5. [補碼]表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章