首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 面向對象入門實戰:從類設計到計算器案例完整演示

     編輯:Java 綜合教學

案例需求

設計一個計算器類,具備:

  • 兩個操作數(int a, b)
  • 一個操作符(String option)
  • 計算功能方法(count())

主程序通過控制台接收用戶輸入,調用計算器完成四則運算及取模。

核心代碼

1. 計算器類 Calculste

public class Calculste {
    int a;
    int b;
    String option;

    public void count() {
        switch (option) {
            case "+":
                System.out.println("計算和:" + a + "+" + b + "=" + (a + b));
                break;
            case "-":
                System.out.println("計算差:" + a + "-" + b + "=" + (a - b));
                break;
            case "*":
                System.out.println("計算積:" + a + "*" + b + "=" + (a * b));
                break;
            case "/":
                if (b != 0) {
                    System.out.println("計算商:" + a + "/" + b + "=" + (a / b));
                } else {
                    System.out.println("您輸入的第二個數不能為 0,請重新輸入");
                }
                break;
            case "%":
                System.out.println("計算余:" + a + "%" + b + "=" + (a % b));
                break;
            default:
                System.out.println("您輸入的操作符有誤,請重新輸入");
        }
    }
}

2. 主程序 demo3

import java.util.Scanner;

public class demo3 {
    public static void main(String[] args) {
        System.out.println("兩個數的運算");
        Scanner sc = new Scanner(System.in);

        Calculste cal = new Calculste(); // 創建對象

        System.out.print("第一個數:");
        cal.a = sc.nextInt();            // 直接訪問公共屬性賦值

        System.out.print("第二個數:");
        cal.b = sc.nextInt();

        System.out.print("輸入運算符號(+ - * / %):");
        cal.option = sc.next();

        cal.count();                     // 調用行為方法
    }
}

運行效果示例

兩個數的運算
第一個數:10
第二個數:3
輸入運算符號:*
計算積:10*3=30

兩個數的運算
第一個數:5
第二個數:0
輸入運算符號:/
您輸入的第二個數不能為 0,請重新輸入

面向對象核心概念映射

概念案例體現
類Calculste —— 計算器的「圖紙/模板」
對象/實例cal —— 具體的一臺計算器
屬性/字段a, b, option —— 計算器的狀態數據
方法/行為count() —— 計算器的功能邏輯
封裝屬性公開訪問(教學簡化),實際開發建議 private + getter/setter
實例化new Calculste() 在堆內存分配對象內存

進階改進方向(生產級寫法)

  1. 封裝屬性:private int a; public void setA(int a) { this.a = a; }
  2. 方法返回值:count() 返回 double 或 String,而非直接打印,分離「計算」與「展示」。
  3. 異常處理:除零拋出 ArithmeticException 或自定義異常,由調用者捕獲處理。
  4. 策略模式:將每種運算封裝為獨立 Operator 介面實現類,count() 僅委派調用,符合開閉原則。
  5. 單元測試:JUnit 測試各運算分支與邊界值。

總結

本案例以最直觀的方式演示了「類 → 對象 → 屬性/方法」的面向對象核心三要素。雖代碼簡單,但包含了對象創建、屬性賦值、方法調用、流程控制、異常防護等 Java 基礎開發全鏈路動作。建議初學者手敲運行,並嘗試上述改進,體會從「能跑」到「好維護」的演進過程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved