1. 程式人生 > >java基礎重點講解,看了還不會找我(三)

java基礎重點講解,看了還不會找我(三)


###03.01_Java語言基礎(邏輯運算子的基本用法)(掌握)
* A:邏輯運算子有哪些
    * &,|,^,!
    * &&,|| 
* B:案例演示
* 邏輯運算子的基本用法
    
* 注意事項:
    * a:邏輯運算子一般用於連線boolean型別的表示式或者值。
    * b:表示式:就是用運算子把常量或者變數連線起來的符合java語法的式子。
        * 算術表示式:a + b
        * 比較表示式:a == b(條件表示式)
* C:結論:
* &邏輯與:有false則false。
* |邏輯或:有true則true。
* ^邏輯異或:相同為false,不同為true。
* !邏輯非:非false則true,非true則false。
    * 特點:偶數個不改變本身。

###03.02_Java語言基礎(邏輯運算子&&和&的區別)(掌握)
* A:案例演示
    * &&和&的區別?
        * a:最終結果一樣。
        * b:&&具有短路效果。左邊是false,右邊不執行。
        *     &是無論左邊是false還是true,右邊都會執行
* B:同理||和|的區別?(學生自學)
* C:開發中常用誰?
    * &&,||,!

###03.03_Java語言基礎(位運算子的基本用法1)(瞭解)
* A:位運算子有哪些
    * &,|,^,~ ,>>,>>>,<<
* B:案例演示
    * 位運算子的基本用法1
    
    * &,|,^,~ 的用法
    * &:有0則0
    * |:有1則1
    * ^:相同則0,不同則1
    * ~:按位取反

###03.04_Java語言基礎(位異或運算子的特點及面試題)(掌握)
* A:案例演示
    * 位異或運算子的特點

    * ^的特點:一個數據對另一個數據位異或兩次,該數本身不變。
    
* B:面試題:
    * 請自己實現兩個整數變數的交換
    * 注意:以後講課的過程中,我沒有明確指定資料的型別,預設int型別。

###03.05_Java語言基礎(位運算子的基本用法2及面試題)(瞭解)
* A:案例演示 >>,>>>,<<的用法:
    *  <<:左移    左邊最高位丟棄,右邊補齊0
    *  >>:右移    最高位是0,左邊補齊0;最高為是1,左邊補齊1
    *  >>>:無符號右移 無論最高位是0還是1,左邊補齊0
    *  最有效率的算出2 * 8的結果

###03.06_Java語言基礎(三元運算子的基本用法)(掌握)
* A:三元運算子的格式
*         (關係表示式) ? 表示式1 : 表示式2;
* B:三元運算子的執行流程 
* C:案例演示
    * 獲取兩個數中的最大值

###03.07_Java語言基礎(三元運算子的練習)(掌握)
* A:案例演示
    * 比較兩個整數是否相同
* B:案例演示
    * 獲取三個整數中的最大值

###03.08_Java語言基礎(鍵盤錄入的基本格式講解)(掌握)
* A:為什麼要使用鍵盤錄入資料
    * a:為了讓程式的資料更符合開發的資料
    * b:讓程式更靈活一下
* B:如何實現鍵盤錄入呢?
    * 先照格式來。
    * a:導包
        * 格式:
            * import java.util.Scanner; 
        * 位置:
            * 在class上面。
    * b:建立鍵盤錄入物件
        * 格式:
            * Scanner sc = new Scanner(System.in);
    * c:通過物件獲取資料    
        * 格式:
            * int x = sc.nextInt();
* C:案例演示
    * 鍵盤錄入1個整數,並輸出到控制檯。
    * 鍵盤錄入2個整數,並輸出到控制檯。

###03.09_Java語言基礎(鍵盤錄入的練習1)(掌握)
* A:案例演示
    * 鍵盤錄入練習:鍵盤錄入兩個資料,並對這兩個資料求和,輸出其結果
* B:案例演示
    * 鍵盤錄入練習:鍵盤錄入兩個資料,獲取這兩個資料中的最大值

###03.10_Java語言基礎(鍵盤錄入的練習2)(掌握)
* A:案例演示
    * 鍵盤錄入練習:鍵盤錄入兩個資料,比較這兩個資料是否相等
* B:案例演示
    * 鍵盤錄入練習:鍵盤錄入三個資料,獲取這三個資料中的最大值

###03.11_Java語言基礎(順序結構語句)(瞭解)
* A:什麼是流程控制語句
    * 流程控制語句:可以控制程式的執行流程。
* B:流程控制語句的分類
    * 順序結構
    * 選擇結構
    * 迴圈結構
* C:執行流程:
    * 從上往下,依次執行。
* D:案例演示
    * 輸出幾句話看效果即可

###03.12_Java語言基礎(選擇結構if語句格式1及其使用)(掌握)
* A:選擇結構的分類
    * if語句
    * switch語句
* B:if語句有幾種格式
    * 格式1
    * 格式2
    * 格式3
* C:if語句的格式1

        if(比較表示式) {
            語句體;
        }
* D:執行流程:
    * 先計算比較表示式的值,看其返回值是true還是false。
    * 如果是true,就執行語句體;
    * 如果是false,就不執行語句體;

###03.13_Java語言基礎(選擇結構if語句注意事項)(掌握)
* A:案例演示
    * a:比較表示式無論簡單還是複雜,結果必須是boolean型別
    * b:if語句控制的語句體如果是一條語句,大括號可以省略;
      * 如果是多條語句,就不能省略。建議永遠不要省略。
    * c:一般來說:有左大括號就沒有分號,有分號就沒有左大括號

###03.14_Java語言基礎(選擇結構if語句格式2及其使用)(掌握)
* A:if語句的格式2

        if(比較表示式) {
            語句體1;
        }else {
            語句體2;
        }
* B:執行流程:
    * 首先計算比較表示式的值,看其返回值是true還是false。
    * 如果是true,就執行語句體1;
    * 如果是false,就執行語句體2;
* C:案例演示
    * a:獲取兩個資料中較大的值
    * b:判斷一個數據是奇數還是偶數,並輸出是奇數還是偶數

    * 注意事項:else後面是沒有比較表示式的,只有if後面有。

###03.15_Java語言基礎(if語句的格式2和三元的相互轉換問題)(掌握)
* A:案例演示
    * if語句和三元運算子完成同一個效果
* B:案例演示
    * if語句和三元運算子的區別
    
    * 三元運算子實現的,都可以採用if語句實現。反之不成立。
    
    * 什麼時候if語句實現不能用三元改進呢?
        * 當if語句控制的操作是一個輸出語句的時候就不能。
        * 為什麼呢?因為三元運算子是一個運算子,運算子操作完畢就應該有一個結果,而不是一個輸出。

###03.16_Java語言基礎(選擇結構if語句格式3及其使用)(掌握)
* A:if語句的格式3:

        if(比較表示式1) {
            語句體1;
        }else if(比較表示式2) {
            語句體2;
        }else if(比較表示式3) {
            語句體3;
        }
        ...
        else {
            語句體n+1;
        }
* B:執行流程:
    * 首先計算比較表示式1看其返回值是true還是false,
    * 如果是true,就執行語句體1,if語句結束。
    * 如果是false,接著計算比較表示式2看其返回值是true還是false,
    
    * 如果是true,就執行語句體2,if語句結束。
    * 如果是false,接著計算比較表示式3看其返回值是true還是false,
    
    * 如果都是false,就執行語句體n+1。
* C:注意事項:最後一個else可以省略,但是建議不要省略,可以對範圍外的錯誤值提示 

###03.17_Java語言基礎(選擇結構if語句格式3練習)(掌握)
* A:練習1

        需求:鍵盤錄入一個成績,判斷並輸出成績的等級。
        90-100 優
        80-89  良
        70-79  中
        60-69  及
        0-59   差
        
* B:練習2
    * 需求:
        * 鍵盤錄入x的值,計算出y的並輸出。
        
        * x>=3    y = 2 * x + 1;
        * -1<x<3    y = 2 * x;
        * x<=-1    y = 2 * x - 1;

###03.18_Java語言基礎(選擇結構if語句的巢狀使用)(掌握)
* A:案例演示
    * 需求:獲取三個資料中的最大值
    * if語句的巢狀使用。

###03.19_Java語言基礎(選擇結構switch語句的格式及其解釋)(掌握)
* A:switch語句的格式

        switch(表示式) {
              case 值1:
                語句體1;
                break;
                case 值2:
                語句體2;
                break;
                …
                default:    
                語句體n+1;
                break;
        }
 
* B:switch語句的格式解釋
* C:面試題
    * byte可以作為switch的表示式嗎?
    * long可以作為switch的表示式嗎?
    * String可以作為switch的表示式嗎?
* C:執行流程
    * 先計算表示式的值
    * 然後和case後面的匹配,如果有就執行對應的語句,否則執行default控制的語句

###03.20_Java語言基礎(選擇結構switch語句的練習)(掌握)
* A:整數(給定一個值,輸出對應星期幾)

###03.21_Java語言基礎(選擇結構switch語句的注意事項)(掌握)
* A:案例演示
    * a:case後面只能是常量,不能是變數,而且,多個case後面的值不能出現相同的
    * b:default可以省略嗎?
        * 可以省略,但是不建議,因為它的作用是對不正確的情況給出提示。
        * 特殊情況:
            * case就可以把值固定。
            * A,B,C,D
    * c:break可以省略嗎?
        * 最後一個可以省略,其他最好不要省略
        * 會出現一個現象:case穿透。
        * 最終我們建議不要省略
    * d:default一定要在最後嗎?
        * 不是,可以在任意位置。但是建議在最後。
    * e:switch語句的結束條件
        * a:遇到break就結束了
        * b:執行到switch的右大括號就結束了

###03.22_Java語言基礎(選擇結構switch語句練習)(掌握)
* A:看程式寫結果:

        int x = 2;
        int y = 3;
        switch(x){
            default:
                y++;
                break;
            case 3:
                y++;
            case 4:
                y++;
        }
        System.out.println("y="+y);
    
* B:看程式寫結果:

        int x = 2;
        int y = 3;
        switch(x){
            default:
                y++;
            case 3:
                y++;
            case 4:
                y++;
        }
        System.out.println("y="+y);

###03.23_Java語言基礎(選擇結構if語句和switch語句的區別)(掌握)
* A:總結switch語句和if語句的各自使用場景
*     switch建議判斷固定值的時候用
*     if建議判斷區間或範圍的時候用
* B:案例演示
    * 分別用switch語句和if語句實現下列需求:
        * 鍵盤錄入月份,輸出對應的季節