基本數據類型 java 是強類型語言,在 java 中存儲的數據都是有類型的,而且必須在編譯時就確定其類型。 基本數據類型變數存儲的是數據本身,而引用類型變數存的是數據的空間地址。 基本類型轉換 自動類型轉換 把一個表數範圍小的數值或變數直接賦給另一個表數範圍大的變數時,系統將會進行自動類型轉換,否 ...
基本數據類型
java 是強類型語言,在 java 中存儲的數據都是有類型的,而且必須在編譯時就確定其類型。
基本數據類型變數存儲的是數據本身,而引用類型變數存的是數據的空間地址。
基本類型轉換
自動類型轉換
把一個表數範圍小的數值或變數直接賦給另一個表數範圍大的變數時,系統將會進行自動類型轉換,否則需要強制轉換。
強制類型轉換
強制類型轉換可能存在溢出導致數據精度丟失的情況。
字元串
Java 沒有內置的字元串類型,而是提供了一個標準類庫 String。
特征:不可變字元串
優點:編譯器可以讓字元串共用(只有字元串常量是共用的,而 + 或 substring 等操作產生的結果並不是共用的)
運算符
自增自減
int a = 5;
int b = ++a; // a 先自增,再賦值給 b
System.out.println(a); // 6
System.out.println(b); // 6
int a = 5;
int b = a++; // a 先賦值給 b,再自增
System.out.println(a); // 6
System.out.println(b); // 5
條件判斷
switch (表達式) {
case value1:
statement1;
break;
case value2:
statement2;
break;
case valuen:
statementn;
break;
default:
預設執行的代碼;
}
當 switch 後表達式的值和 case 語句後的值相同時,從該位置向下執行,直到遇到 break 語句或者 switch 語句塊結束;如果沒有匹配的 case 語句則執行 default 塊的代碼。
case 後面的值可以是常量數值,也可以是一個常量表達式,但不能是變數或帶有變數的表達式
可以把功能相同的 case 語句合併起來
default 塊可以出現在任意位置,也可以省略
迴圈
While
while (condition) {
statement;
}
do-While
do {
statement;
} while (condition);
for
for (迴圈變數初始化; 迴圈條件; 迴圈變數變化) {
statement;
}
迴圈跳轉
break
continue
數組
數組是用來存儲固定大小的同類型元素。一旦數組初始化完成,數組在記憶體中所占的空間將被固定下來,因此數組的長度將不可以改變,即使某個數組的元素被清空,但是它所占的空間依然保留。
數組本身也是一種引用類型,既可以存儲基本數據類型,也可以存儲引用類型,只要存儲的數組元素具有相同的類型即可。
動態初始化
執行動態初始化時,系統會根據聲明的數組類型自動為數組元素分配初始值。如果是引用類型,則數組元素的初始值為 null。
int[] scores;
scores = new int[5]; // 聲明一個長度為5的整型數組
// 上面兩步可以合為一步
int[] scores = new int[5];
靜態初始化
顯示指定每個元素的初始值
int[] scores;
scores = new int[] {1,2,3,4};
// 上面兩步可以合為一步
int[] scores = {1,2,3,4};// 方式二
遍曆數組
for 迴圈遍曆數組
foreach 遍曆數組:foreach 不是 java 中的關鍵字,是 for 語句的特殊簡化版。在遍曆數組、集合時更方便
int[] scores = {1,2,3,4};
for (int score : scores) {
System.out.println(score);
}
數組的本質
將數組看成兩個部分,一個部分是數組引用,也就是在代碼中定義的數組引用變數;另一部分是實際的數組對象,這部分是在堆記憶體中運行的,通常無法直接訪問它,只能通過引用變數來訪問。
二維數組
二維數組本質上還是一維數組,只是其數組元素也是引用,數組元素里保存的引用指向一維數組。
String [][] str1 = {new String[3], new String[]{"hello"}};
上面代碼的示意圖:
歡迎關註我的公眾號