資料型態的轉換
資料型態的轉換可分為「自動型態轉換」及「強制型態轉換」。
一、自動型態轉換
轉換前的資料型態與轉換後的型態相容
轉換後的資料型態之表示範圍比轉換前的型態大
型態的轉換只限該行敘述,不影響原先變數的型態定義
保證資料的精確度
這種轉換方式稱為「擴大轉換」
字元與整數可以使用自動型態轉換;整數與浮點數亦相容;
boolean 布林型態只能存放 true 或 false,因此與整數及字元不相容,不能轉換。
package ch03;
public class ch03_4_4 {
public static void main(String[] args) {
int a=45;
float b=2.3f;
System.out.println("a= "+a+" ,b= "+b);
System.out.println("a/b= "+(a/b));
}
}
OUTPUT: a= 45 ,b= 2.3 a/b= 19.565218
二、強制型態轉換
強制型態轉換是直接撰寫在程式碼中,所以也稱為「顯性轉換」。
資料型態的強制性轉換語法:
OUTPUT: a= 25,b= 9 a/b= 2 (float)a/b= 2.7777777
除了 (float)a/b 的寫法之外,以下兩種寫法也成立:
(1) a / (float) b //將整數b強制轉換成浮點數,再以整數a除之。
(2) (float) a / (float) b //將整數a,b 同時強制轉換成浮點數後運算。
三、由鍵盤輸入資料 Scanner
我們先了解撰寫的基本架構:
以下我們實例,並結合先前講到的print與println的差異:
OUTPUT: 請輸入姓名 4x // 斜線粗體為輸入的字串 歡迎 4x
常用的相對應型態之函數
資料型態
相對應的函數
資料型態
相對應的函數
byte
nextByte()
float
nextFloat()
short
nextShort()
double
nextDouble()
int
nextInt()
String
next()
long
nextLong()
nextLine()
四、Scanner 小技巧
輸入多項資料時,可以只宣告一個Scanner 類別的物件,再用Scanner 類別提供的成員函數,將鍵盤中輸入的資料指定給不同型態的變數存放,不需要宣告多個Scanner 類別物件。 如以下片段範例:
五、next()與nextLine()
OUTPUT: 請輸入姓名scheng // 斜線粗體為輸入的字串 請輸入年齡19 歡迎, scheng, 您目前 19 歲。
六、charAt()
OUTPUT: 請輸入姓名scheng // 斜線粗體為輸入的字串 h //第0個字元為 ‘s’ ;第1個字元為 ‘c’ 以此類推。
Last updated
Was this helpful?