Javaで作る簡単なアプリケーション：初心者向けチュートリアル

## はじめに

HI Engineer Collegeでは、実務未経験のエンジニアの方や、エンジニアに興味がある方を募集したおります、まずはお気軽にお問い合わせください。

※ (株)G&T（【内々定まで最短2週間】ゼロからしっかりじっくり研修☆20代活躍中！）

https://gat-company.com/

※ HI Engineer Collegeに興味あがある方はこちら（プログラミングを学習したい方）

https://hiengineer.jp/



---

### エンジニア向けチャットルーム「TechTalk」参加者募集中！

プログラミングやITの話題を気軽に共有し、学び合えるエンジニアのためのチャットルーム「TechTalk」では、新たな参加者を募集中です！

**こんな方にオススメです**
- 最新技術の動向やトレンドを追いかけたい
- 日々の開発で生じる疑問を他のエンジニアに相談したい
- コードレビューの方法やデバッグのコツを知りたい
- 他のエンジニアと共に成長できる場を探している

**チャットルームで扱う主なトピック**
- **プログラミング**: JavaScript、Python、Javaなど、言語やフレームワークについて
- **開発ツール**: Git、Docker、CI/CD の自動化など
- **キャリア**: 転職やキャリアパス、業界動向
- **AI/機械学習**: モデルの開発やトレンド
- **Webセキュリティ**: セキュリティ対策や最新の脅威情報

**チャットルームの特徴**
- 他のエンジニアからリアルタイムでフィードバックがもらえます
- 勉強会やハンズオンセッションも定期開催
- 初心者から上級者まで、幅広いレベルのエンジニアが在籍
- リモートワーク時のちょっとした相談や雑談も大歓迎

**参加方法**
下記リンクから「TechTalk」へぜひご参加ください。

https://line.me/ti/g2/xRolADFbfopNo4vdgA9hmAlAlMgxvaIUSNDx8A?utm_source=invitation&utm_medium=link_copy&utm_campaign=default

---
---

# Javaで作る簡単なアプリケーション：初心者向けチュートリアル

## はじめに

このチュートリアルでは、Javaを使って簡単な計算機アプリケーションを作成する方法を学びます。プログラミング初心者の方でも理解しやすいように、ステップバイステップで説明していきます。

## 必要なもの

- JDK (Java Development Kit) - バージョン11以上推奨
- 統合開発環境（IDE）- Eclipse, IntelliJ IDEA, または Visual Studio Codeなど
- 基本的なコンピューターの操作スキル

## ステップ1: 開発環境のセットアップ

### JDKのインストール

1. [Oracle公式サイト](https://www.oracle.com/java/technologies/downloads/)からJDKをダウンロードします
2. ダウンロードしたインストーラーを実行し、指示に従ってインストールします
3. 環境変数の設定：
   - Windowsの場合：システムのプロパティ > 環境変数 > 新規でJAVA_HOMEを追加
   - MacやLinuxの場合：~/.bash_profileか~/.zshrcに`export JAVA_HOME=...`を追加

### IDEのインストール

初心者にはVisual Studio Code（VS Code）をお勧めします：

1. [VS Code公式サイト](https://code.visualstudio.com/)からダウンロード
2. インストール後、Extensionsタブから「Extension Pack for Java」をインストール

## ステップ2: 新しいJavaプロジェクトの作成

1. VS Codeを起動します
2. File > New Folder からプロジェクト用のフォルダを作成（例：`SimpleCalculator`）
3. そのフォルダを開いたら、Javaプロジェクトを作成します：
   - Ctrl+Shift+P（または Cmd+Shift+P）でコマンドパレットを開く
   - 「Java: Create Java Project」と入力して選択
   - 「No build tools」を選択
   - プロジェクト名を入力（例：`SimpleCalculator`）

## ステップ3: 最初のJavaクラスを作成

1. srcフォルダを右クリックし、「New File」を選択
2. `Calculator.java`という名前のファイルを作成します
3. 以下のコードを入力します：

```java
public class Calculator {
    public static void main(String[] args) {
        System.out.println("簡単な計算機へようこそ！");
    }
}
```

4. ファイルを保存します（Ctrl+S または Cmd+S）
5. 実行ボタン（▶）をクリックするか、右クリックして「Run Java」を選択

コンソールに「簡単な計算機へようこそ！」というメッセージが表示されれば成功です！

## ステップ4: 計算機の機能を追加

`Calculator.java`ファイルを以下のように編集して、基本的な計算機能を追加します：

```java
import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("簡単な計算機へようこそ！");
        
        // ユーザーから最初の数値を取得
        System.out.print("最初の数値を入力してください: ");
        double num1 = scanner.nextDouble();
        
        // ユーザーから演算子を取得
        System.out.print("演算子を入力してください (+, -, *, /): ");
        char operator = scanner.next().charAt(0);
        
        // ユーザーから2番目の数値を取得
        System.out.print("2番目の数値を入力してください: ");
        double num2 = scanner.nextDouble();
        
        // 計算を実行
        double result = 0.0;
        
        switch(operator) {
            case '+':
                result = num1 + num2;
                break;
            case '-':
                result = num1 - num2;
                break;
            case '*':
                result = num1 * num2;
                break;
            case '/':
                if(num2 != 0) {
                    result = num1 / num2;
                } else {
                    System.out.println("エラー: 0で割ることはできません");
                    scanner.close();
                    return;
                }
                break;
            default:
                System.out.println("無効な演算子です");
                scanner.close();
                return;
        }
        
        // 結果を表示
        System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
        
        scanner.close();
    }
}
```

このコードでは以下の要素を使用しています：
- `Scanner`クラス：ユーザー入力を取得するためのクラス
- 変数：数値や演算子を保存するためのメモリ領域
- 条件分岐（switch文）：演算子に応じて異なる計算を実行

## ステップ5: アプリケーションの実行とテスト

1. ファイルを保存します
2. 実行ボタンをクリックしてプログラムを実行
3. コンソールに表示される指示に従って、数値と演算子を入力
4. 結果が正しく表示されることを確認

## ステップ6: GUIアプリケーションへの拡張（オプション）

コンソールアプリケーションをマスターしたら、グラフィカルインターフェース（GUI）を持つアプリケーションに拡張できます。新しいファイル `CalculatorGUI.java` を作成し、以下のコードを追加します：

```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class CalculatorGUI extends JFrame implements ActionListener {
    private JTextField displayField;
    private double num1, num2, result;
    private char operator;
    
    public CalculatorGUI() {
        // ウィンドウの設定
        setTitle("簡単電卓");
        setSize(300, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new BorderLayout());
        
        // 表示フィールド
        displayField = new JTextField();
        displayField.setFont(new Font("Arial", Font.PLAIN, 24));
        displayField.setHorizontalAlignment(JTextField.RIGHT);
        displayField.setEditable(false);
        add(displayField, BorderLayout.NORTH);
        
        // ボタンパネル
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new GridLayout(5, 4, 5, 5));
        
        // ボタンの配列
        String[] buttonLabels = {
            "7", "8", "9", "/",
            "4", "5", "6", "*",
            "1", "2", "3", "-",
            "0", ".", "=", "+",
            "C"
        };
        
        // ボタンを追加
        for (String label : buttonLabels) {
            JButton button = new JButton(label);
            button.setFont(new Font("Arial", Font.PLAIN, 18));
            button.addActionListener(this);
            buttonPanel.add(button);
        }
        
        add(buttonPanel, BorderLayout.CENTER);
        
        // ウィンドウを表示
        setVisible(true);
    }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        String command = e.getActionCommand();
        
        // 数字かドットの場合
        if ((command.charAt(0) >= '0' && command.charAt(0) <= '9') || command.equals(".")) {
            displayField.setText(displayField.getText() + command);
        }
        // クリアボタンの場合
        else if (command.equals("C")) {
            displayField.setText("");
            num1 = num2 = result = 0;
            operator = '\0';
        }
        // 演算子の場合
        else if (command.equals("+") || command.equals("-") || command.equals("*") || command.equals("/")) {
            num1 = Double.parseDouble(displayField.getText());
            operator = command.charAt(0);
            displayField.setText("");
        }
        // イコールの場合
        else if (command.equals("=")) {
            num2 = Double.parseDouble(displayField.getText());
            
            switch(operator) {
                case '+': result = num1 + num2; break;
                case '-': result = num1 - num2; break;
                case '*': result = num1 * num2; break;
                case '/': 
                    if(num2 != 0) {
                        result = num1 / num2;
                    } else {
                        displayField.setText("エラー");
                        return;
                    }
                    break;
            }
            
            displayField.setText(String.valueOf(result));
        }
    }
    
    public static void main(String[] args) {
        // イベントディスパッチスレッドでGUIを作成
        SwingUtilities.invokeLater(() -> {
            new CalculatorGUI();
        });
    }
}
```

このコードでは、Swingライブラリを使ってGUIアプリケーションを作成しています。

## まとめと次のステップ

おめでとうございます！基本的なJavaアプリケーションの作成方法を学びました。このチュートリアルで学んだ概念：

- Java開発環境のセットアップ
- 基本的なJavaプログラムの構造
- 変数と演算子
- ユーザー入力の処理
- 条件分岐と制御構造
- GUIプログラミングの基礎（オプション）

次のステップとして以下のことに挑戦してみましょう：

1. 電卓アプリに新しい機能を追加する（平方根、パーセント計算など）
2. エラー処理を改善する
3. ファイルやデータベースとの連携を学ぶ
4. オブジェクト指向プログラミングの概念をさらに深く学ぶ

プログラミングは練習あるのみです。小さなプロジェクトから始めて、徐々に複雑なアプリケーションに挑戦していきましょう！