1. 程式人生 > >###03.01_Java語言基礎(邏輯運算子的基本用法)(掌握)

###03.01_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:建立鍵盤錄入物件
      • 格式:
    • 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語句實現下列需求:
      • 鍵盤錄入月份,輸出對應的季節

###03.24_day03總結
把今天的知識點總結一遍。