---
# System prepended metadata

title: 型態
tags: [Java]

---

<font style="text-shadow:0px 0px 15px #FF37FD;">型態</font>
===
###### tags: `Java`
 <font color="Brown">JAVA型態分為**兩大型態**為**基本型**態與**類別型態**(參考型態)</font>
 
## <font color="sandybrown">基本型態</font>

基本型態有八大型態

### <font color="#990DFF">位元組</font>

* <font color="#FF6363">byte 型態</font>
    
    長度為 1 個位元組，byte可表示 -128 到 127 的整數
        
    :::danger
     **Ex:**
    一個位元組有 8 格，其中第一格代表±，其餘每格為 0 或 1 ，因此一個位元組可存取為
    -2^(8-1)^~-2^(8-1)^-1 個整數
    :::

### <font color="#990DFF">整數</font>

* <font color="#FF6363">short 型態</font>

    佔 2 個位元組，表示 -2^(16-1)^~2^(16-1)^-1 ，為
    -32768 到 32767 個整數
        
* <font color="#FF6363">int 型態</font>

    佔 4 個位元組，表示 -2^(32-1)^~2^(32-1)^-1 ，為
    -2147483648 到 214748364732767 個整數
        
* <font color="#FF6363">long 型態</font>
    
    佔 8 個位元組，表示 -2^(64-1)^~2^(64-1)^-1 ，為 
    -9223372036854775808 到 9223372036854775807 個整
        
### <font color="#990DFF">浮點數</font>

* <font color="#FF6363">float 型態</font>

    佔 4 個位元組
        
* <font color="#FF6363">double 型態</font>

    佔 8 個位元組
        
### <font color="#990DFF">字元</font>

* <font color="#FF6363">char 型態</font>

    長度為 2 個位元組，用來儲存單一字元符號，例如: 'A'、'B'、'C'
        
### <font color="#990DFF">布林</font>

* <font color="#FF6363">boolean 型態</font>
    
    型態可表示 true 與 false

:::warning
**下列程式為各型態可儲存的數值範圍**
```java=
public class Range {
    public static void main(String[] args) {
        // byte、short、int、long 範圍
        System.out.printf("%d ~ %d%n", 
            Byte.MIN_VALUE, Byte.MAX_VALUE);
        System.out.printf("%d ~ %d%n", 
            Short.MIN_VALUE, Short.MAX_VALUE);
        System.out.printf("%d ~ %d%n", 
            Integer.MIN_VALUE, Integer.MAX_VALUE);
        System.out.printf("%d ~ %d%n", 
            Long.MIN_VALUE, Long.MAX_VALUE);
        // float、double 精度範圍
        System.out.printf("%d ~ %d%n", 
            Float.MIN_EXPONENT, Float.MAX_EXPONENT);
        System.out.printf("%d ~ %d%n", 
            Double.MIN_EXPONENT, Double.MAX_EXPONENT);
        // char 可表示的 Unicode 範圍
        System.out.printf("%h ~ %h%n", 
            Character.MIN_VALUE, Character.MAX_VALUE);
        // boolean 的兩個值
        System.out.printf("%b ~ %b%n", 
            Boolean.TRUE, Boolean.FALSE);
    }    
}
```
:::danger
**輸出結果 :**
![](https://i.imgur.com/nzRK8OB.png)
:::

## <font color="sandybrown">類別型態</font>

