---
# System prepended metadata

title: JAVA 資料型態轉換
tags: [Java]

---

# JAVA 資料型態轉換


###### tags: `Java` 

---

### 自動轉換
* 又稱擴大轉換，數字較精準
* int+float=float
* int+char=int

```java=
public class Ex05 {
    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));
    }
}
```
輸出結果:
a=45,b=2.3
a/b=19.565218

---

### 強制轉換
* 不建議使用強制型轉，數字會較不精準(又稱縮小轉換)
```java=
public static void main (String[] args) {
        int c = 36;
        int d =7;

        System.out.println("c="+c + ",d="+d);
        System.out.println("c/d="+c/d);
        System.out.println("(float)c/d="+(float)c/d);  //強制轉換成float
    }
```
輸出結果:
c=36,d=7
c/d=5
(float)c/d=5.142857



---
## Scanner

* 常用來抓取使用者輸入的資料
* 主程式前須搭配<span class="code1">import java.util.Scanner</span>使用

Scanner抓取資料使用的函式類型
![](https://i.imgur.com/WuxsgdU.png)


```java=
import java.util.Scanner;

public class Ex05 {
    public static void main (String[] args) {

        Scanner scn= new Scanner(System.in);
        String name;
        int age;
        System.out.println("請輸入姓名:");
        name=scn.nextLine();
        System.out.println("請輸入年齡");
        age=scn.nextInt();
        System.out.println("Hi!"+name+"，您今年"+age+"歲!");
    }
```
輸出結果:
請輸入姓名:
白白
請輸入年齡
100
Hi!白白，您今年100歲!
















---
<span class="code1"></span>
<style>
h2 {
    color: #2383B8;
}
h3 {
    color: #1AA340;
}
h4 {
    color: white;
    background-color: #2383B8;
    padding:8px;
}

.code1 {
    padding: 2px 4px;
    font-size: 90%;
    color: #c7254e;
    background-color: #f9f2f4;
    border-radius: 4px;
    font-family:'Fira Code';
}
.code {
    padding: 2px 4px;
    font-size: 90%;
    font-family:'Fira Code';
}
</style>