---
# System prepended metadata

title: 資料型態

---

# 資料型態
- Java有四大類、八個小(子）型態
    - **基礎型態**：切割自Stack，跟C語言相同
        - ==數字==
            |型態|所占記憶體|
            |---|---|
            |byte|1byte|
            |short|2byte|
            |int|4byte|
            |long|8byte|
        - ==浮點==
            |型態|所占記憶體|
            |---|---|
            |float|4byte|
            |double|8byte|
        - ==布林（boolean）==
            - 只佔1bit
                - 原因為它只有兩種值1/0（ture/false）
                    - 回顧：8 bits=1 byte
                        - -128~127=256(255)
                            - 255跟256之間差一取決於是否把0算進去
                                - 2^8是負值，其餘部分正值（見下圖）
                            ![](https://i.imgur.com/y6xBD2E.png)
        - ==字母==
            - char
    - **參考型態**
        - String等
***
- 宣告變數：設定記憶體但還未呼叫
    - 試著宣告`byte 名稱=數值`
        - 符合範圍不會跳紅線
            - 範圍-128~127
             ```java=
            byte a=50;
            ```
        - 直接print記憶體是放temp區
