---
# System prepended metadata

title: 資料型態與計算

---

# 資料型態與計算
## float
```java=
float a = 12.123F; //預設顯示小數點下7位，建議為6
```
- 備註：IDE變數代號顯示黃字意思是已經割記憶體（宣告）但尚未呼叫
- 正常使用無法取餘數，通常不這樣使用
```java=
...println(a%b); //a跟b兩個是浮點數，這樣取餘數會輸出有小數點的數字
```
## double
- 也是一種預設型態，所以後方不用再加字母
```java=
double x = 10.1234555556;
```
- 精準度到小數點下14位，建議到13位就好
```java=+
...printf("%.3f", x); //可以只印指定位數，例如這個是印到小數點第三位
```
- Java沒有`%lf`這個格式指定碼
    - 每個語言有自己的結構
- 台灣的會計系統記到小數點第3位
    - Java有專門算錢的語法

## 賦值與型態轉換
- 轉換時型態跟記憶體大小要相同
```java=
//int跟float的記憶體空間都是4 byte
int a =100;
float b = 100.00F;

//這樣是可以的
a=(int)b; //強制型態轉換，使用機率不高
b=a;

//long跟double的記憶體空間相同為8 byte
long c = 100L;
double d = 100.00;

//這樣是可以的
d=c;
```
## 布林值、邏輯運算子等
- 跟等於`==`、不等於`!=`、否`!`，這幾個運算子有關
    - 還有其他比較運算子
```java=
...println(10 == 10); //輸出true
...println(10 != 10); //輸出false
...println(!(10 == 10)); //輸出true
```

### 邏輯運算子
- Java的寫法分別是and為`&&`、or為`||`
原因如圖：
![](https://i.imgur.com/u40oueP.png)
### 布林值的宣告方法
```java=
boolean A1 =true;
boolean A2 =false;
boolean B1 =true;
boolean B2 =false;
```
- true|true會輸出false
- 討論程式要講行數
### Debug模式的使用方法
- F8運行勾選之單行
    - 不會一次跑完整個程式
## 比較跟邏輯運算子
```java=
int a = 10;
int b = 15;
int c = 12;

...println("a>b && c<b"); // ture && ture
...println("a<b && c<b"); // ture && ture
...println("a==b && c<b");// ture && ture
...println("a>b && !(c==b)");// ture && ture
```