今日總結
-
資料型別:基本資料型別、引用型別
-
流程控制語句
-
陣列
一、資料型別分類
- 基本資料型別:整數、浮點數、字元、布林
- 引用資料型別:類、物件、介面、陣列 (以後再講)
資料型別 |
關鍵字 | 記憶體 |
位元組型 | 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記憶體
流程:
- 方法區存放.class,則從main 方法開始進棧
- 建立陣列,與此同時在堆中開闢一段空間,地址值為0x1111,陣列中預設值都為0
- 輸出語句,輸出的是該陣列在堆中的地址值,即0x1111
- 賦值語句,陣列名根據地址值找到堆中,進而修改陣列中的值
PS:如寫的不好請多多見諒!
下一篇:物件、繼承、多型?