「Javaを勉強してみたいけど、何から作ればいいのか分からない」
「コンソールだけでなく、画面付きのアプリを作ってみたい」
そんな方にぴったりなのが、電卓アプリの作成です。
本記事では、Javaの基本文法からGUI(画面の表示)ライブラリSwingの使い方まで、
初心者の方でも手を動かしながら学べるように丁寧に解説します。
誰でも簡単に作れて、Javaの理解が深まる電卓アプリの作成方法を完全ガイド形式でお届けします!
Javaで電卓アプリを作る理由
なぜ最初の課題として電卓が適しているのか?
結論:電卓アプリは「見た目」「入力」「計算」「結果表示」すべてが学べるためです。
Javaを学び始める方にとって、以下の悩みが多く見られます。
- 何を作ればスキルが身につくのか分からない
- 実践的なコードが書けない
- コンソールだけではつまらない
こうした悩みを解決するのが、Javaの基本構文とGUIが学べる電卓アプリです。
たとえば、電卓を作ることで以下の技術が身につきます。
- イベント処理(ボタンを押した時の反応)
- 変数や演算子の扱い方
- 画面設計とレイアウトの考え方
電卓アプリはJavaの入門として非常にバランスの良い課題と言えます。
JavaでGUIを表示する方法
Swingの導入と基本的な使い方
結論:Javaの標準ライブラリ「Swing」を使えば、画面を作ることができます。
Swingは、以下のような要素を使ってGUIを表示します。
JFrame
:ウィンドウの枠JPanel
:配置用の土台JButton
:ボタンJTextField
:数字の入力欄や表示欄
実際のウィンドウ表示の基本コードはこちらです。
1 2 3 4 5 6 7 8 9 10 | import javax.swing.*; public class Calculator { public static void main(String[] args) { JFrame frame = new JFrame( "電卓アプリ" ); frame.setSize( 300 , 400 ); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible( true ); } } |
たった数行で、Javaでも簡単に画面が作れることがわかります。
電卓アプリの機能と設計
必要な部品とレイアウトの全体像
結論:ボタンとテキスト欄を組み合わせて「入力→計算→表示」ができれば十分です。
具体的には以下のような機能が必要です。
- 数字ボタン(0〜9)
- 演算子ボタン(+、-、×、÷、=)
- クリアボタン(C)
- 結果表示用のテキストフィールド
レイアウト構成の一例:
1 2 3 4 5 | JFrame └── JPanel(GridLayout で 4×4 配置) ├── 数字ボタン ├── 演算ボタン └── クリア・イコールボタン |
電卓の基本機能を実装してみよう
数字入力・計算処理・結果表示のコード
結論:イベントリスナーを使って、ボタン操作を処理します。
以下は電卓アプリの主要部分のコード例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | import javax.swing.*; import java.awt.*; import java.awt.event.*; public class CalculatorApp extends JFrame implements ActionListener { JTextField display; double num1, num2, result; String operator; public CalculatorApp() { display = new JTextField(); display.setEditable( false ); display.setFont( new Font( "Arial" , Font.PLAIN, 24 )); add(display, BorderLayout.NORTH); JPanel panel = new JPanel(); panel.setLayout( new GridLayout( 4 , 4 , 5 , 5 )); String[] buttons = { "7" , "8" , "9" , "+" , "4" , "5" , "6" , "-" , "1" , "2" , "3" , "*" , "C" , "0" , "=" , "/" }; for (String text : buttons) { JButton btn = new JButton(text); btn.setFont( new Font( "Arial" , Font.BOLD, 20 )); btn.addActionListener( this ); panel.add(btn); } add(panel, BorderLayout.CENTER); setTitle( "電卓アプリ" ); setSize( 300 , 400 ); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible( true ); } public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (cmd.matches( "[0-9]" )) { display.setText(display.getText() + cmd); } else if (cmd.matches( "[+\-*/]" )) { num1 = Double.parseDouble(display.getText()); operator = cmd; display.setText( "" ); } else if (cmd.equals( "=" )) { num2 = Double.parseDouble(display.getText()); switch (operator) { case "+" : result = num1 + num2; break ; case "-" : result = num1 - num2; break ; case "*" : result = num1 * num2; break ; case "/" : result = num2 != 0 ? num1 / num2 : 0 ; break ; } display.setText(String.valueOf(result)); } else if (cmd.equals( "C" )) { display.setText( "" ); } } public static void main(String[] args) { new CalculatorApp(); } } |
完成コードまとめとファイル構成
必要なファイルとその役割を再確認
1 | CalculatorApp.java // メインロジックと画面処理 |
エディタ(Eclipse・VS Codeなど)を使えば、コピペでそのまま動かせます。
まとめ:Java初心者が学べること
この記事では、Javaで電卓アプリを作成する手順とコードを完全解説しました。
学べたこと:
- Swingによる画面表示の基本
- イベント処理とGUIの組み合わせ
- Javaの変数・演算子・クラス設計