Java | 回顧Java之Java基礎 一、Java語言基礎

一、Java語言基礎

1、鍵盤錄入

  • 導包:import java.util.Scanner;
  • 創建鍵盤錄入對象:Scanner sc = new Scanner(System.in);
  • 通過對象獲取數據:int x = sc.nextInt();

2、方法

2.1 方法概述和格式說明

  • 簡單來說:方法就是完成特定功能的代碼塊
    在很多語言裏面都有函數的定義,而在java中函數被稱爲方法
  • 格式:
修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...){
    函數體;
    return 返回值;
}
  • 詳細解釋:
    • 修飾符:目前就用public static ,後面我們再詳細的講解其他的修飾符。
    • 返回值類型:就是功能結果的數據類型
    • 方法名:符合命名規則即可
    • 參數:
    • 實際參數:就是實際參與運算的
    • 形式參數:就是方法定義上的,用於接受實際參數的
    • 參數類型:就是參數的數據類型
    • 參數名:就是變量名
    • 方法體語句:就是完成功能的代碼
    • return:結束方法的
      返回值:就是功能的結果,由return帶給調用者

2.2方法注意事項

  • 方法不執行不定義
  • 方法與方法是平級關係,不能嵌套定義
  • 方法定義的時候參數之間用逗號隔開
  • 方法調用的時候不用再傳遞數據類型
  • 如果方法有明確的返回值,一定要有return帶回一個值

2.3方法重載概述

在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可
參數列表不同有兩種情況:

  • 參數類型不同
  • 參數個數不同

2.4方法重載的特點

  • 與返回值類型無關,只看方法名和參數列表
  • 在調用時,虛擬機通過參數列表的不同來區分同名方法

2.5Java中的參數傳遞問題

  • 基本類型:形式參數的改變對實際參數沒有影響
  • 引用類型:形式參數的改變直接影響實際參數

3、數組

3.1 數組的概括

  • 數組是存儲同一個數據類型多個元素的集合,也可以看成是一個容器
  • 數組既可以存儲基本數據類型,也可以存儲引用數據類型

3.2 數組的定義格式

  • 格式1:數據類型 [] 數組名
  • 格式2:數據類型 數組名 []

注意:這兩種定義做完後,數組中是沒有元素值的,應該對數組的元素進行初始化

3.3 數組初始化概述

java中的數組必須先初始化,然後才能使用

所謂初始化:就是爲數組中的數組元素分配內存空間,併爲每個數組元素賦值

3.4 數組的初始化方式

  • 動態初始化:初始化時只指定數組長度,由系統爲數組分配初始值
    • 格式:數據類型 [] 數組名 = new 數據類型 [數組長度];
    • 數組長度其實就是數組中元素的個數
  • 靜態初始化:初始化時指定每個數組元素的初始值,由系統決定數組長度
    • 格式:數據類型 [] 數組名 = new 數據類型 {元素1,元素2......}

注意:不要同時進行動態初始化和靜態初始化
例如:int [] arr = new int [3] {1,2,3};//錯誤

3.5 java中的內存分配

java程序在運行時,需要在內存中的分配空間,爲了提高運算效率,有對空間進行了不用的區域劃分,因爲每一片區域都有特定的處理數據方式和內存管理方式

  • 棧:存儲局部變量
  • 堆 :存儲new出來的東西
  • 方法區:面向對象部分詳細講解
  • 本地方法區:和系統相關
  • 寄存器:給cpu使用
    • 局部變量:在方法定義中或者方法聲明上的變量都稱爲局部變量
    • 堆內存的特點
      • 每一個new出來的東西都有地址值
      • 每個變量都有默認值
      float,double:0.0
      char:'\u0000'  
      boolean:false;  
      引用類型:null
      
      • 使用完畢就變成了垃圾,但是並沒有立即回收,會在垃圾回收期空閒的時候
    • 棧內存的數據用完就釋放掉

例如:

int [] arr = new int [3];
System.out.println(arr);//地址值
System.out.println(arr[0]);//0
System.out.println(arr[1]);//0
System.out.println(arr[2]);//0

棧和堆的變化如下:


3.6 數組操作的兩個常用小問題

  • ArrayIndexOutOfBoundsException:數組索引越界異常
    原因:你訪問了不存儲的索引
  • NullPointerException:空指針異常
    原因:數組已經不再指向堆內存了,而你還用數組名去訪問元素

3.7 數組的長度

數組提供了一個屬性length,用於獲取數組的長度
格式:數組名.length

3.8 二維數組概述

二維數組就是一個元素爲一維數組的元素

3.9 二維數組定義格式

  • 格式1:
    數據類型 [][] 變量名 = new 數據類型 [m][n];
    m表示這個二維數組有多少個一維數組
    n表示每一個一維數組的元素個數
  • 格式2:
    數據類型 [][] 變量名 = new 數據類型 [m][];
    m表示這個二維數組有多少個一維數組
    這一次沒有直接給出一維數組的元素個數,可以動態的給出
  • 格式3:
    數據類型 [][] 變量名 = new 數據類型 [][]{{元素...},{元素...},{元素...}};
    變化版格式:
    數據類型 [][] 變量名 = {{元素...},{元素...},{元素...}};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章