Java 程式設計(一)  第 三章 算術運算式  上一頁    下一頁

 

3-2 指定運算子

內容:

  • 3-2-1 等於與變數指定

  • 3-2-2 範例研討:收銀機計算

變數除了宣告時,給予某一特定初值外,程式運作當中也可能隨時改變其內容,以下將介紹變更變數內容方法。

3-2-1 等於與變數指定

程式最容易讓人搞混莫過於,變數與『等於』(=)運算子之間的關係。程式語言的等於(=)運算子,絕對不是『相當於』(equal)的意思,而是『指定』某一變數的內容,稱之為『指定運算子』(Assignment operator)。簡單的說,即是將某一數值『填入』變數內。

基本上,宣告產生某一變數後,其內容不可能是個『空值』,存在某一不可預測的數值(由 0 1 構成的亂數)。將數值填入變數後,他將會覆蓋原來的內容;當變數內容被指定後,如再重新指定,也會覆蓋原來的內容,由指定運算子所構成之運算式的格式如下:

var1 = 10;

將數值 10 填入變數 var1 內,並覆蓋原來內容。

var2 = 20;

將數值 20 填入變數 var2 內,並覆蓋原來內容。

var3 = var1 + var2;

將變數 var1 var2 內容取出,相加後將結果填入 var3 內,但 var1 var2 的內容不會改變。

var3 = var3 + 20;

var3 的內容取出,再加 20 後將結果存回 var3;原來 var3 的內容便被覆蓋掉,

指定運算式的功能是,將指定式(=)右邊的敘述結果,填入左邊的變數內;右邊可以是一個數值或運算式,但左邊必須是單一變數。譬如 x = 10 + x,則表示取出變數 x 內容,再與 10 執行『+』的運算後,再存回 x 變數內。如果編寫成 x +10 = x,則是錯誤的敘述。

3-2-2 範例研討:收銀機計算

A)程式功能:Ex3_1.java

請製作一套模擬超商收銀機系統,假設客戶僅購買汽水、餅乾、與御便當,程式要求輸入各項金額,並隨時顯示累計金額,最後計算總金額數量。期望系統操作模式如下:

超商收銀機、請注意是否歸零 = 0

請輸入汽水的金額 =>20

        目前累進金額為 = 20

請輸入餅乾的金額 =>10

        目前累進金額為 = 30

請輸入御便當的金額 =>50

        總金額為 = 80 謝謝光臨 !!!

B)製作技巧分析:

由操作介面可以看出,系統是輸入某項購買金額後,立即計算出目前累進金額,也很合乎一般計算器的操作模式。吾人可設定一個變數作為客戶購買金額的累加器(int total;),系統顯示要求輸入各項產品金額,操作人員輸入後(item = keyin.nextFloat();),則累計到累加器內(total = total + item)。

C)程式範例:Ex3_1.java

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

// Ex3_1.java

 

import java.util.Scanner;

public class Ex3_1 {    

   public static void main(String args[]) {

        Scanner in = new Scanner(System.in);

        int total=0, item;                 // total 累積器初值為 0

        System.out.printf("超商收銀機、請注意是否歸零 = %d\n", total);

        System.out.printf("請輸入汽水的金額 =>");

        item = in.nextInt();

        total = total + item;

        System.out.printf("\t目前累進金額為 = %d\n", total);

        System.out.print("請輸入餅乾的金額 =>");

        item = in.nextInt();

        total = total + item;

        System.out.printf("\t目前累進金額為 = %d\n", total);

        System.out.print("請輸入御便當的金額 =>");

        item = in.nextInt();

        total = total + item;

        System.out.printf("\t總金額為 = %d 謝謝光臨 !!!\n", total);

   }

}

D)程式重點說明:

    • 3 :『import java.util.Scanner;』。導入 Scanner 掃瞄輸入套件。

    • 6 :『Scanner in = new Scanner(System.in);』。利用 Scanner 類別產生一個標準輸入(System.in,鍵盤)物件,名稱為 in

    • 9 :『item = in.nextFloat();』。利用 Scanner 物件(in)由鍵盤讀入一個浮點數(物件方法為 in.nextFloat()),並將其存入 item 變數內(指定運算子的功能)。

    • 10 :『total = total + item;』。將所讀取 item 數值累積存入 total 變數內,為目前累積購買金額。

    • 11 :『System.out.printf(“\t目前累進金額為 = %.2f\n\n”, total);』。此為格式化輸出方法(printf()),功能是:跳一個 tab 空白鍵(\t),再印出『目前累進金額 = >』,接著以浮點數格式印出 total 內容,而且取兩位小數點(%.2f),最後執行兩次跳行(\n\n)動作。

翻轉工作室:粘添壽

 

Java 程式設計(一) 含程式邏輯

 

 

翻轉電子書系列: