---
# System prepended metadata

title: Java DAY01
tags: [JAVA菜鳥筆記]

---

---
tags: JAVA菜鳥筆記
---
# Java DAY01

## 課本例題01: 
### 設計一個Java 的購物程式，利用「price」變數自定價格。若價格超過一仟元的部份，打八折計算。例如：買了1500 元的物品，則應付1400 元。
#### 程式碼
```javascript=
DecimalFormat df = new DecimalFormat("0.00");
		System.out.println("請輸入您的商品價格");
		int price = new Scanner(System.in).nextInt() ;
		
		if (price<=1000) {
			double money = price;
			System.out.println("您商品的價格為:"+df.format(money));
		}else {
			double money = (price-1000)*0.8+1000;
			System.out.println("您商品的價格為:"+df.format(money));
		}
```
:::success
此程式碼能順利運行，假設輸入的數為1000，因為此數值未超過1000，所以會跑到price<1000的if程式內，所以輸出結果為=>您商品的價格為:1000.00；若輸入的數為2600,因為數值超過1000，會跑到else的程式內，所以會輸出=>您商品的價格為:2280.00。
:::

## 課本例題02:
### 設計一個程式，計算所得稅，若收入在30 萬以下，繳交6% 的稅率，而超過30 萬元的部份，則交13% 的稅率，例如：收入為40萬元，則需繳3萬1仟元的稅金。
#### 程式碼
```javascript=
DecimalFormat df = new DecimalFormat("0.00"); //DecimalFormat這套件功能是讓輸出的數字自動4捨5入到設定的小數點後幾位
		System.out.println("請輸入您的收入"); 
		int income = new Scanner(System.in).nextInt() ;
		if (income<=300000) {
			double tax = income*0.06;
			System.out.println("您所需繳的稅金為:"+df.format(tax));
		}else {
			double tax = (income-300000)*0.13+18000; //+18000是因為超過的部分才要乘以0.13,原本300000的部分一樣是乘以0.6,故簡略計算
			System.out.println("您需繳的稅金為:"+df.format(tax));
                }
```
:::success
此程式碼能順利運行,假設輸入的值為300000,因為其<=300000,所以會跑到if的程式內,輸出的結果=>您所需繳的稅金為:18000.00,若輸入的數值為462000,則輸出的結果=>您需繳的稅金為:39060.00。
:::

## 課本例題03:
### 設計一個購物程式，請自行設定價格，並顯示應付金額。若價格超過5000元以上，則打7折，若是4000-4999元之間，則打8折，若是3000-3999元之間，則打9折，3000元以下不打折。
#### 程式碼
```javascript=
DecimalFormat df = new DecimalFormat("0.00");
		System.out.println("請輸入您的商品價格");
		int price = new Scanner(System.in).nextInt() ;
		if (price>=5000) {
			double money = price*0.7;
			System.out.println("您商品的價格為:"+df.format(money));
		}else if (price>=4000 & price<5000) {
			double money = price*0.8;
			System.out.println("您商品的價格為:"+df.format(money));
		}else if (price>=3000 & price<4000) {
			double money = price*0.9;
			System.out.println("您商品的價格為:"+df.format(money));
		}else {
			double money = price;
			System.out.println("您商品的價格為:"+df.format(money));
		}
```
:::success
此程式碼能順利運行,假設輸入的值為8000,因為其>=5000,所以會跑到if的程式內,輸出結果為=>您商品的價格為:5600.00,若輸入數值為4580,因其>=4000且小於5000,所以會跑到else if (price>=4000 & price<5000)的程式內,輸出結果為=>3664.00,後續就不一一說明結果。
:::

## 本日心得
### 在本次使用選擇性敘述時if、else和else if十分好用,可在兩項及多項的條件內去執行相對應的程式,搭配Scanner做使用者輸入並輸出結果,讓程式小白的我也可以做出有一點點功能的程式,下次上Java估計會學剩餘的選擇性敘述,之後遇到的問題也會補充上去(畢竟這是前幾天的上課內容,我沒把容易出問題的地方記起來)。