Java基礎(1)

發表於2020-10-31

今日總結


  1. 資料型別:基本資料型別、引用型別

  2. 流程控制語句

  3. 陣列

  一、資料型別分類

  • 基本資料型別:整數、浮點數、字元、布林  
  • 引用資料型別:類、物件、介面、陣列   (以後再講)   

資料型別

關鍵字 記憶體
位元組型 byte 1個位元組
短整型 short 2個位元組
整型 int 4個位元組
長整型 long 8個位元組
單精度浮點數 float 4個位元組
雙精度浮點數 double 8個位元組
字元型 char 2個位元組
布林型 boolean 1個位元組

 

  二、資料型別轉換

1、自動轉換:

(1)含義:將 取值範圍小 的型別自動提升為 取值範圍大 的型別

1  int i = 1;     
2  byte j = 2;   
3  int k = i + j;      //int型別和byte型別運算,結果是int型別
4  System.out.println(j); 

(2)規則:範圍小的型別向範圍大的型別提升

byte、short、char 運算時提升為 int 

byte、short、char、→ int → long → float → double

1  int i = 4;
2  double d = 8.0;
3  double  k = i + d;
4  System.out.println(k);

2、強制轉換

(1)含義:將 取值範圍大的型別 強制轉換成 取值範圍小的型別 

(2)格式:資料型別 變數名 = (資料型別)被轉資料值

 需要記住的ASCII:'A' 為65、'a' 為97 、'0' 為48


 

流程控制語句

  • if else判斷語句
  • switch選擇語句
  • for迴圈語句
  • while迴圈語句
  • do while迴圈語句

 

陣列與Java記憶體

一、定義:陣列是指一組資料的集合,陣列中的每個資料稱為元素,同一個陣列裡只能存放型別相同的元素

二、三種格式

(1)動態初始化:資料型別[] 陣列名 = new資料型別[長度]     

  例:int[] array = new int[5];

(2)靜態初始化:陣列型別 陣列名 = new 陣列型別[]{元素1, 元素2, ...}   

  例:int[] array = new int[]{1,2,3,4,5};

(3)靜態初始化:資料型別[] 陣列名 = {元素1, 元素2, ..}

  例:int[] array = {1,2,3,4,5}

三、訪問陣列(陣列是一種引用型別)

(1)陣列索引下標從0開始:陣列名[索引]

(2)陣列長度:陣列名.length

1  int[] array = new int[]{1,2,3,4,5};
2  System.out.println(array[3]); //訪問陣列第3個元素 即 array[3]=4;

四、陣列建立和Java記憶體關係

(1)我們所說的Java記憶體就是說JVM記憶體

(2)Java記憶體分為5個部分:

  • 棧:方法執行就是棧執行,存放的是方法中的區域性變數等
  • 堆:存放new出來的東西,即存放物件、陣列等,堆記憶體裡面用16進位制的地址值表示所在處
  • 方法區:存放.class ,即每一個類的資訊
  • 本地方法棧:忽略
  • 暫存器:忽略

(3)一張圖理解Java記憶體

 

 

流程:

  1. 方法區存放.class,則從main 方法開始進棧
  2. 建立陣列,與此同時在堆中開闢一段空間,地址值為0x1111,陣列中預設值都為0
  3. 輸出語句,輸出的是該陣列在堆中的地址值,即0x1111
  4. 賦值語句,陣列名根據地址值找到堆中,進而修改陣列中的值

 

PS:如寫的不好請多多見諒!

下一篇:物件、繼承、多型?

 

 

 

 

 

 

 

相關文章