1.2 基礎變數宣告
/* 例1.2-1: 變數宣告 */
public class demo01 {
public static void main(String[] args) {
// 宣告型別 識別符號 = 型別量;
// 宣告整數型
int integers = 1; // 宣告一個int(整數)型別
long longIntegers = 1L; // 宣告一個long(長整數)型別
byte bytes = 2; // 宣告一個byte(位元組)型別
short shortIntegers = 15; // 宣告一個short(短整數)型別
// 宣告浮點型
float floats = 1.0F; // 宣告一個float(單精度浮點)型別
double doubles = 1.0D; // 宣告一個double(雙精度浮點)型別
// 宣告字符
char character = 'A'; // 宣告一個字符型別
// 宣告布林值
boolean flags = true; // 宣告一個布林值
// 宣告字串
String str = "1111"; // 宣告一個字串
}
}
1.2.1 常用型別
| 基礎型別(整數型) | 型別量 | 說明 |
|---|---|---|
int |
數字 | 默認整數型別 |
long |
數字L | 長整數型別, 可取范圍比int型別大, 必須在整數后面加L標記 |
short |
數字 | 短整數型別, 可取范圍比int型別小 |
byte |
數字 | 位元組型別, 可取范圍為 [-128~128] |
char |
'單個字符' | 字符型別, 本質是Unicode碼點渲染, 所以只能存在一個字符 必須包括在半角單引號 ' ' 內 |
| 基礎型別(浮點型) | 型別量 | 說明 |
float |
小數F | 必須在小數后面加F標記 |
double |
小數 / 小數D | 默認浮點數型別, 可以在小數后面使用D標記 |
| 基礎型別(布林值) | 型別量 | 說明 |
boolean |
true / false | 判斷值 |
| 參考型別(字串) | 型別量 | 說明 |
String |
"多個字符" | 字串型別, 用于輸入字串, 必須包括在半角雙引號 " " 內 |
1.2.2 型別轉換
整數型和浮點型之間可以互相轉換, 分為強制型別轉換和自動型別轉換.
1.2.2.1 自動型別轉換
byte型別相加會自動轉化成int型:
/* 例1.2-2: 型別回傳值 */
byte a = 1;
byte b = 2;
byte c = a + b; // 會報錯, 因為 a+b 回傳的是int型
int c = a + b; // 正確的語法
浮點數與整數型進行計算, 自動轉化為浮點型:
/* 例1.2-3: 簡單的自動型別轉換 */
double a = 10.4;
int b = 2;
double c = a / b; // 輸出double型別變數c
System.out.println(c); // 輸出5.2
自動型別轉換
當參與運算中有的值屬于高位型別時, 所有值都會被升位運算.
優先級: byte, short < int, char < long < float < double
1.2.2.2 強制型別轉換
int型別加減乘除只能輸出int型別:
/* 例1.2-4: 整數型別運算回傳值 */
int a = 1;
int b = 2;
System.out.println(a/b);
// 會輸出0, 而不是0.5, 強制舍去小數位(可以視為自動向下取整)
使用強制型別將int轉換為double輸出浮點數:
/* 例1.2-5: 混合型別運算回傳值 */
int a = 1;
int b = 2;
System.out.println((double)a/b);
// 會輸出0.5, 因為a(int)被強制轉換成了a(double)
實質:
/* 例1.2-6: 型別轉換 */
System.out.println(1/2); // 例1.2-4的運算實質
System.out.println(1.0/2); // 例1.2-5的運算實質(同例1.2-3)
也就是說, 如果想要輸出浮點型別結果, 就需要參與運算中的其中一個值是浮點值. 當一個值是浮點值時, 其他值也會自動轉化為浮點值運算.
強制型別轉換語法
轉換型別 變數 = (轉換型別)變數
/* 例1.2-7: 強制型別轉換 */
int a = 1;
System.out.println(a); // 輸出1
System.out.println((double)a); // 輸出1.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527777.html
標籤:Java
上一篇:Leetcode刷題第二周
下一篇:day09-Tomcat01
