學習筆記整理-JAVA語言基礎

1.Java中的數據類型分幾類?基本數據類型有哪些? 基本數據類型,和引用數據類型; 基本數據類型分爲: byte
    short
    int
    long
    bolean
    fort
    double
    charjava

2.引用數據類型:面試

類、接口類型、數組類型、枚舉類型、註解類型數組

區別: 基本數據類型在被建立時,在棧上給其劃分一塊內存,將數值直接存儲在棧上。 引用數據類型在被建立時,首先要在棧上給其引用(句柄)分配一塊內存,而對象的具體信息都存儲在堆內存上,而後由棧上面的引用指向堆中對象的地址。測試

###03.01_Java語言基礎(邏輯運算符的基本用法)(掌握)優化

  • A:邏輯運算符有哪些.net

    • &,|,^,!
    • &&,||
  • B:案例演示code

  • 邏輯運算符的基本用法對象

  • 注意事項:blog

    • 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語句控制的語句體若是是一條語句,大括號能夠省略,控制的離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   差
      ![](https://oscimg.oschina.net/oscnet/bd2d9102f4eab44d65493bd607249c845cf.jpg)
  • 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(表達式) {//表達式:基本數據類型能夠接受byte,short,char,int;引用數據類型能夠接受枚舉,String字符串(JDK1.7)
            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語句實現下列需求:
      • 鍵盤錄入月份,輸出對應的季節

控制語句:

break的使用場景:只能在switch和循環中

continue的使用場景:只能在循環中 。終止本次循環,繼續下次循環

return的使用場景:返回的意思,用來返回方法

###04.01_Java語言基礎(循環結構概述和for語句的格式及其使用)

  • A:循環結構的分類
    • for,while,do...while
  • B:循環結構for語句的格式:
  • for(初始化表達式;條件表達式;循環後的操做表達式) {
      	循環體;
      }
  • C執行流程:
    • a:執行初始化語句
    • b:執行判斷條件語句,看其返回值是true仍是false
      • 若是是true,就繼續執行
      • 若是是false,就結束循環
    • c:執行循環體語句;
    • d:執行循環後的操做表達式
    • e:回到B繼續。
  • D:案例演示
    • 在控制檯輸出10次"helloworld"

###04.02_Java語言基礎(循環結構for語句的練習之獲取數據)

  • A:案例演示
    • 需求:請在控制檯輸出數據1-10
    • 需求:請在控制檯輸出數據10-1
  • B:注意事項
    • a:判斷條件語句不管簡單仍是複雜結果是boolean類型。
    • b:循環體語句若是是一條語句,大括號能夠省略;若是是多條語句,大括號不能省略。建議永遠不要省略。
    • c:通常來講:有左大括號就沒有分號,有分號就沒有左大括號

###04.03_Java語言基礎(循環結構for語句的練習之求和思想)

  • A:案例演示

    • 需求:求出1-10之間數據之和
  • B:學生練習

    • 需求:求出1-100之間偶數和
    • 需求:求出1-100之間奇數和

###04.04_Java語言基礎(循環結構for語句的練習之水仙花)

  • A:案例演示
    • 需求:在控制檯輸出全部的」水仙花數」

    • 所謂的水仙花數是指一個三位數,其各位數字的立方和等於該數自己。

    • 舉例:153就是一個水仙花數。

    • 153 = 111 + 555 + 333 = 1 + 125 + 27 = 153

###04.05_Java語言基礎(循環結構for語句的練習之統計思想)

  • A:案例演示
    • 需求:統計」水仙花數」共有多少個 `int count=0; for (int i=100;i<=999;i++){

      int gewei=i%10;
        int shiwei=i/10%10;
        int baiwei=i/10/10%10;
        if (Math.pow(gewei,3)+Math.pow(shiwei,3)+Math.pow(baiwei,3)==i){
            count++;
            System.out.println(i);
        }

      } System.out.println(count);`

###04.06_Java語言基礎(循環結構while語句的格式和基本使用)

  • A:循環結構while語句的格式:
  • while循環的基本格式:
      while(判斷條件語句) {
      	循環體語句;
      }
      
      完整格式:
      
      初始化語句;
      while(判斷條件語句) {
      	 循環體語句;
      	 控制條件語句;
      }
  • B:執行流程:
    • a:執行初始化語句
    • b:執行判斷條件語句,看其返回值是true仍是false
      • 若是是true,就繼續執行
      • 若是是false,就結束循環
    • c:執行循環體語句;
    • d:執行控制條件語句
    • e:回到B繼續。
  • C:案例演示
    • 需求:請在控制檯輸出數據1-10

###04.07_Java語言基礎(循環結構while語句的練習)

  • A:求和思想
    • 求1-100之和
  • B:統計思想
    • 統計」水仙花數」共有多少個

###04.08_Java語言基礎(循環結構do...while語句的格式和基本使用)

  • A:循環結構do...while語句的格式:
  • do {
      	循環體語句;
      }while(判斷條件語句);
      
      完整格式;
      初始化語句;
      do {
      	循環體語句;
      	控制條件語句;
      }while(判斷條件語句);
  • B:執行流程:
    • a:執行初始化語句
    • b:執行循環體語句;
    • c:執行控制條件語句
    • d:執行判斷條件語句,看其返回值是true仍是false
      • 若是是true,就繼續執行
      • 若是是false,就結束循環
    • e:回到b繼續。
  • C:案例演示
    • 需求:請在控制檯輸出數據1-10

###04.09_Java語言基礎(循環結構三種循環語句的區別)

  • A:案例演示
    • 三種循環語句的區別:
    • do...while循環至少執行一次循環體。
    • 而for,while循環必須先判斷條件是否成立,而後決定是否執行循環體語句。
  • B:案例演示
    • for循環和while循環的區別:
      • A:若是你想在循環結束後,繼續使用控制條件的那個變量,用while循環,不然用for循環。不知道用誰就用for循環。由於變量及早的從內存中消失,能夠提升內存的使用效率。

###04.10_Java語言基礎(循環結構注意事項之死循環)

  • A:必定要注意控制條件語句控制的那個變量的問題,不要弄丟了,不然就容易死循環。
  • B:兩種最簡單的死循環格式
    • while(true){...}
    • for(;;){...}

###04.11_Java語言基礎(循環結構循環嵌套輸出4行5列的星星)

  • A:案例演示
    • 需求:請輸出一個4行5列的星星(*)圖案。
    • 如圖:
        	*****
        	*****
        	*****
        	*****
        	`for (int i=1;i<=4;i++){
        System.out.print(i);
        for (int j=1;j<=5;j++){
            System.out.print(j);
        }
        System.out.println();
      }` 注意: System.out.println("");和System.out.print("");的區別
  • B:結論:
    • 外循環控制行數,內循環控制列數

###04.12_Java語言基礎(循環結構循環嵌套輸出正三角形)

  • A:案例演示
  • 需求:請輸出下列的形狀
      *
      **
      ***
      ****
      *****
      `for (int i=1;i<=4;i++){
          System.out.print(i);
          for (int j=1;j<=i;j++){
              System.out.print(j);
          }
          System.out.println();
      }`

###04.13_Java語言基礎(循環結構九九乘法表)

  • A:案例演示
    • 需求:在控制檯輸出九九乘法表。
  • B:代碼優化
  • 注意:
      '\x' x表示任意,\是轉義符號,這種作法叫轉移字符。
      
      '\t'	tab鍵的位置
      '\r'	回車
      '\n'	換行
      '\"'
      '\''

###04.14_Java語言基礎(控制跳轉語句break語句)

  • A:break的使用場景
    • 只能在switch和循環中

###04.15_Java語言基礎(控制跳轉語句continue語句)

  • A:continue的使用場景
    • 只能在循環中

###04.16_Java語言基礎(控制跳轉語句標號)

  • 標號:標記某個循環對其控制
  • 標號組成規則:其實就是合法的標識符 outer: for (int i=1;i<=9;i++){ inner: for (int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+'\t'); break outer; } System.out.println(); }

###04.17_Java語言基礎(控制調整語句練習)

  • A:練習題
  • for(int x=1; x<=10; x++) {
      	if(x%3==0) {
      		//在此處填寫代碼
      	}
      	System.out.println(「Java基礎班」);
      }
      
      我想在控制檯輸出2次:「Java基礎班「
      我想在控制檯輸出7次:「Java基礎班「
      我想在控制檯輸出13次:「Java基礎班「
      ![](https://oscimg.oschina.net/oscnet/efc0d344465f87a8e650d1e4d0930f59f29.jpg)

###04.18_Java語言基礎(控制跳轉語句return語句)

  • A:return的做用
    • 返回
    • 其實它的做用不是結束循環的,而是結束方法的。
  • B:案例演示
    • return和break以及continue的區別?
    • return是結束方法
    • break是跳出循環
    • continue是終止本次循環繼續下次循環

###04.19_Java語言基礎(方法概述和格式說明)

  • A:爲何要有方法
    • 提升代碼的複用性
  • B:什麼是方法
    • 完成特定功能的代碼塊。
  • C:方法的格式
  • 修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {
      	方法體語句;
      	return 返回值; 
      }
  • D:方法的格式說明
    • 修飾符:目前就用 public static。後面咱們再詳細的講解其餘的修飾符。
    • 返回值類型:就是功能結果的數據類型。
    • 方法名:符合命名規則便可。方便咱們的調用。
    • 參數:
      • 實際參數:就是實際參與運算的。
      • 形式參數;就是方法定義上的,用於接收實際參數的。
    • 參數類型:就是參數的數據類型
    • 參數名:就是變量名
    • 方法體語句:就是完成功能的代碼。
    • return:結束方法的。
    • 返回值:就是功能的結果,由return帶給調用者。

###04.20_Java語言基礎(方法之求和案例及其調用)

  • A:如何寫一個方法
    • 1,明確返回值類型
    • 2,明確參數列表
  • B:案例演示
    • 需求:求兩個數據之和的案例
  • C:方法調用圖解

###04.21_Java語言基礎(方法的注意事項)

  • A:方法調用(有具體返回值)
    • a:單獨調用,通常來講沒有意義,因此不推薦。
    • b:輸出調用,可是不夠好。由於咱們可能須要針對結果進行進一步的操做。
    • c:賦值調用,推薦方案。
  • B:案例演示
    • a:方法不調用不執行
    • b:方法與方法是平級關係,不能嵌套定義
    • c:方法定義的時候參數之間用逗號隔開
    • d:方法調用的時候不用在傳遞數據類型
    • e:若是方法有明確的返回值,必定要有return帶回一個值

###04.22_Java語言基礎(方法的練習)

  • A:案例演示
    • 需求:鍵盤錄入兩個數據,返回兩個數中的較大值
  • B:案例演示
    • 需求:鍵盤錄入兩個數據,比較兩個數是否相等

###04.23_Java語言基礎(方法之輸出星形及其調用)

  • A:案例演示
    • 需求:根據鍵盤錄入的行數和列數,在控制檯輸出星形
  • B:方法調用:(無返回值,void)
    • 單獨調用
    • 輸出調用(錯誤)
    • 賦值調用(錯誤)

###04.24_Java語言基礎(方法的練習)

  • A:案例演示
    • 需求:根據鍵盤錄入的數據輸出對應的乘法表

###04.25_Java語言基礎(方法重載概述和基本使用)

  • A:方法重載概述
    • 求和案例
      • 2個整數
      • 3個整數
      • 4個整數
  • B:方法重載:
    • 在同一個類中,方法名相同,參數列表不一樣。與返回值類型無關。

    • 參數列表不一樣:

      • A:參數個數不一樣
      • B:參數類型不一樣
      • C:參數的順序不一樣(算重載,可是在開發中不用)

###04.26_Java語言基礎(方法重載練習比較數據是否相等)

  • A:案例演示

    • 需求:比較兩個數據是否相等。
    • 參數類型分別爲兩個int類型,兩個double類型,並在main方法中進行測試

    ###05.26_Java語言基礎(數組) /*

  • A:什麼是數組的初始化

    • 就是爲數組開闢連續的內存空間,併爲每一個數組元素賦予值
  • B:如何對數組進行初始化

    • a:動態初始化 只指定長度,由系統給出初始化值
      • int[] arr = new int[5];
    • b:靜態初始化 給出初始化值,由系統決定長度
  • C:動態初始化的格式:

    • 數據類型[] 數組名 = new 數據類型[數組長度];
  • D:案例演示

    • 輸出數組名稱和數組元素

    整數類型:byte,short,int,long默認初始化值都是0 浮點類型:float,double默認初始化值都是0.0 布爾類型:boolean默認初始化值false 字符類型:char默認初始化值'\u0000' char在內存中佔的兩個字節,是16個二進制位 \u0000,每個0其實表明的是16進制的0,那麼四個0就是表明16個二進制位

    [I@19bb25a

    [表明是數組,幾個就表明幾維 I表明是int類型 @是固定的 19bb25a表明的是數組的地址值 / /

  • A:棧(掌握)

    • 存儲局部變量 局部變量:定義在方法聲明上和方法中的變量
  • B:堆(掌握)

    • 存儲new出來的數組或對象
  • C:方法區

    • 面向對象部分講解
  • D:本地方法區

    • 和系統相關
  • E:寄存器

    • 給CPU使用 */ 一個數組的內存圖 三個引用兩個數組
相關文章
相關標籤/搜索