Java
2022.05.06
Javaプログラミングを効率的に学ぶには?学習方法やサンプルコードまとめ
2022.05.06

Javaプログラミング学習をするうえで、「効率的に学ぶには?」と悩んでいる方も多いのではないでしょうか?


「Javaを学ぶうえで効率的なロードマップは?」

「Javaプログラミングはどこで学ぶのがよい?」


といった疑問に対して、本記事ではJavaプログラミングについて初心者エンジニア向けに詳しく解説していきます。


※本記事で紹介するサンプルコードは、Java18で動作確認しています。


1.そもそもJavaとは?

Javaはプログラミング言語のひとつで、世界中で多くの人に利用されています。Javaは企業の基幹系システム、サーバー言語、スマートフォン端末など、使える場面が多岐にわたっています。


また「Write once, Run Anywhere(=一度書けば、どこでも実行できる)」というキャッチフレーズの通り、WindowsやLinuxなどのOSを問わずプログラムを実行できるのが特徴です。


関連記事:

2.Javaを効率よく学ぶロードマップ


いざJavaを学ぼうと思っても、Javaにはさまざまなトピックがあるので、何をどんな順序で勉強すればいいかわからない方も多いと思います。


そこで、次のようなロードマップで進めていくことをおすすめします。

  1. 基本文法について学ぶ
  2. IDEについて学ぶ
  3. プロジェクト管理ツールについて学ぶ
  4. 正しいコーディング方法について学ぶ
  5. テストコードについて学ぶ
  6. フレームワークについて学ぶ

①基本文法について学ぶ

まずはJavaの基本文法について学びましょう。

Javaには覚えるべき基本的な文法や概念があり、ここで学ぶべき項目は次のとおりです。


・条件分岐や繰り返しなどの文法

・メソッドやアクセス修飾子などの使い方

・データ型

・配列

・例外

・継承やインターフェイスなど、オブジェクト指向

これらの基本的な文法や概念を理解しておくと、実際の開発で役に立つので、しっかり押さえておきましょう。

②IDEについて学ぶ

IIDEとは統合開発環境のことで、システム開発をするうえで必要なテキストエディタ、コンパイラ、デバッガなどの機能をひとつにまとめソフトウェアです。


効率よくプログラミングするためにはIDEが必須のため、早めにIDEの使い方には慣れておきましょう。


Java開発におすすめのIDEツールについては、以下リンクを参照してください。

③プロジェクト管理ツールについて学ぶ

プロジェクト管理ツールは、Javaのライブラリを効率よく管理したり、ビルドを簡単にしたりするものです。使用すると開発作業がスムーズになります。


代表的なものに、MavenやGradleがあります。

④正しいコーディングについて学ぶ

ソースコードの保守性と可読性を高めるために、正しいコーディングについて学びましょう。美しいコードを書くにはGoogleのJavaコーディング規約を参照するといいでしょう。


また、GitHub上にはさまざまなJavaライブラリのソースコードが公開されています。他人が書いた良いソースコードを見て、自分の知識にしていきましょう。

⑤テストコードについて学ぶ

品質の高いコードを書くために、テストコードについて学びましょう。テストコードとは、ソースコードが意図した通りに動くかを確かめるテスト用のコードのことです。


テストコードを書くことで品質が高くなるのはもちろんのこと、テストがしやすいコードを意識するので設計も綺麗になります。

⑥フレームワークについて学ぶ

効率的にシステム開発できるフレームワークについて学びましょう。フレームワークとは、Javaを使用してシステム開発する際の土台として機能するソフトウェアのことを指します。


フレームワークを使用することで、共通的な機能を1から開発する必要がなくなり、コーディング量が削減されるので、開発期間を大幅に短縮できますよ。


フレームワークについては以下で詳しく解説しています。

Javaフレームワークにはさまざまな種類がありますが、これから学習するならSpring Bootの利用がおすすめです。


Spring Bootについての詳しい解説は、以下記事を参照してください。




3.Javaプログラミングの基本的な流れ


ここでは、Javaの環境構築からコードの記述、コンパイル方法、プログラム実行方法までの一連の流れを見ていきましょう。

①Javaをインストール・環境構築

Javaでプログラム開発するためには、JDK(Java Development Kit)のインストールが必要です。本記事では、MacにJDKをインストールする方法を紹介します。

JDKがインストールされているか確認

ターミナルを起動し、次のコマンドを入力してください。

java -version

JDKがインストールされていると、下図のようにインストールされているJDKのバージョンが表示されます。

インストール確認の画面

上記の場合、Java 18がインストールされているということです。

もしインストールされていなければ、次の手順に沿ってインストールしましょう。

JDKのダウンロード

Oracle社のWebサイトから最新版のJDKをダウンロードしましょう。

Oracle Webサイト

JDKのダウンロード画面

ダウンロードページが表示されたら、macOSタブをクリックします。

対象CPUのインストーラーを選び、リンクをクリックしてダウンロードしましょう。

JDKのインストール

ダウンロードしたファイルをインストールしましょう。

JDKインストーラの「はじめに」画面

「続ける」をクリックします。

JDKインストーラの「インストールの種類」画面

「インストール」をクリックします。

JDKインストーラの「概要」画面

この画面が表示されると、インストール完了です。

「閉じる」ボタンをクリックして、画面を閉じましょう。

②ファイルを作成してコードを記述

Javaの簡単なプログラムを作成するのに、IDEを準備する必要はありません。テキストエディタを開き、下記のコードをコピー&ペーストして、「Main.java」という名前で保存してください。

public class Main {
  public static void main(String args[]) {
    System.out.println("Testです。");
  }
}

③ソースファイルをコンパイル

Javaプログラムを実行するには、ソースファイルをコンパイルする必要があります。②で作成したソースファイルをコンパイルしてみましょう。


ターミナルを起動し、次のコマンドを入力してください。

javac Main.java

コンパイルが成功すると、「Main.class」という名前のファイルが作成されます。

④プログラムを実行

③でコンパイルしたJavaのプログラムを実行するには、ターミナルで以下のコマンドを実行しましょう。

java Main

ターミナル上に「Testです。」と表示されたら、Javaプログラムの実行は成功です。



4.サンプルを見ながらプログラムを実行してみよう

ここからは、サンプルを見ながら実際にプログラムを実行してみましょう。

①文字を出力

まずは、手始めとして「Hello, World」を出力してみましょう。テキストエディタに、下記のコードをコピー&ペーストして、「Sample.java」という名前で保存してください。

class Sample {
    public static void main(String[] args){
        System.out.println("Hello, World");
    }
}

ターミナルを起動し、次のコマンドでSample.javaが保存されているフォルダに移動します。

cd Documents

※Documentsは今回サンプルで使用したパスです。ご自身の環境に合わせてパスを設定してください。


下記のコマンドを入力し、コンパイルを実行します。

javac sample.java

Sample.classがフォルダに作成されていればコンパイル成功です。


最後に、次のコマンドでJavaを実行しましょう。

java Sample

ターミナルに「Hello, World」と表示されたら、プログラム実行は成功です。

②文字の連結

文字の連結とは、文字列の後ろに別の文字列を結合し、ひとつの文字列とする処理のことです。実際のプログラムでは、SQL文の作成やログメッセージをアウトプットする際によく使われます。


本記事では、Javaで文字の連結をする方法をふたつ紹介します。

+演算子を使う

ひとつ目はプラス演算子を使う方法です。文字列をプラス演算子で繋ぐと、文字が連結されます。

class Connection {
    public static void main(String[] args){
        String str1 = "TRAINO";
        String str2 = "CAMP";
        //文字の連結
        String combi = str1+str2;
        System.out.println(combi);
    }
}

実行結果:

TRAINOCAMP

StringBuilderクラスを使用する

ふたつ目はStringBuilderクラスを使用する方法です。実務では、StringBuilderクラスのappendメソッドを使うことが多いので覚えておきましょう。


使い方は下記の通りです。

文字列.append(追加文字列)

文字列の末尾に追加文字列が結合されます。具体例として、以下のように記述します。

class Connection {
    public static void main(String[] args){
        StringBuilder sb = new StringBuilder("Select * ");
        sb.append("From TableName ");
        sb.append("Where Field = 'abc'");
    
        System.out.println(sb.toString());
    }
}

実行結果:

Select * From TableName Where Field = 'abc'

これまでと同様の手順でコンパイル→実行すると、文字列が結合されているのが確認できますね。

③条件分岐

条件分岐とは、条件に対して評価を行い、結果によって処理を分岐することです。Javaの条件分岐には、if文とswitch文があります。

if文を使う

if文は、定義された条件に合致するかどうかを評価します。elseやelse ifと組み合わせることで、複数の条件に分岐できます。複雑な判定が書きやすい反面、次に紹介するswitch文に比べると可読性が下がるので注意しましょう。


次のサンプルコードでは、以下の基準で判定し、判定結果に応じたメッセージを表示します。


・90点以上:「優」

・80〜89点:「良」

・70〜79点:「可」

・69点以下:「不可」

class  ConditionIf {
    public static void main(String[] args){
        int score = 92;
    
        if (score >= 90){
            System.out.println("成績は優です。");
        }else if(score >= 80 && score < 90){
            System.out.println("成績は良です。");
        }else if(score >= 70 && score < 80){
            System.out.println("成績は可です。");
        }else{
            System.out.println("成績は不可です。");
        }
    }
}

実行結果:

成績は優です。

switch文を使う

switch文も条件分岐を行う構文で、if文に比べると可読性が高くなりやすいです。

サンプルコードは、入力された色の値によって表示する内容を変化させる処理です。

class  LoopSwitch {
    public static void main(String[] args){
        String status = "Yellow";
        switch(status){
          case "Green":
            System.out.println("正常");
            break;
          case "Yellow":
            System.out.println("注意");
            break;
          case "Red":
            System.out.println("異常");
            break;
          default:
            System.out.println("異常な値が入力されました");
            break;
        }  
    }
}

実行結果:

注意

④繰り返し処理

Javaには繰り返し処理をする構文がwhile文とfor文のふたつあります。


条件を変化させながら繰り返し処理を行う場合、何度も同じようなコードを書くよりも、while文やfor文を使うことで効率的にコーディングできます。


while文の使い方については、次の記事を参考にしてください。


for文の使い方については、次の記事を参考にしてください。

⑤ゲーム

Javaでのプログラミングに慣れてきたら、練習でゲームを作ってみるのがおすすめです。

Javaでのゲームの作り方は、以下の記事を参考にしてください。


5.Javaプログラミングはどこで学ぶ?


実際にJavaを学ぶには、どのような方法があるのでしょうか。Java学習を行うための具体的な方法を紹介します。

①独学

ひとつ目に、本や学習サイトなどから自分で学ぶ方法があります。

本や学習サイトで独学するメリットは次の通りです。


・料金が安い

・選択肢が多く、手軽に手に入る

・自分のペースで学習できる

逆にデメリットは次のようになります。


・すぐに質問ができない

・モチベーションの維持が難しい

②プログラミングスクール

次に紹介するのは、プログラミングスクールです。通学型・マンツーマン型・オンライン型などの種類があります。

プログラミングスクールで勉強するメリットは次の通りです。


・効率よく学べる

・サポートが手厚く、疑問点や不明点をその場で解決できる

・実践的なプログラミングスキルが身につく

デメリットは以下になります。


・受講費用がかかる

・学べる範囲、内容があらかじめ決まっている

③e-Learningサービス

e-Learningとは、パソコンやタブレットを使い、インターネットを利用して学ぶ学習サービスのことです。

e-Learningサービスのメリットは次の通りです。


・自分のペースで学習ができる

・受講者の理解度に応じて学習が進められる

・視覚的に理解がしやすい

デメリットは次のようになります。


・人脈づくりが難しい

・インターネット環境が必要



6.低コストで質の高い内容が学べる「e-Learning」がおすすめ!


これからJavaの学習を始めるなら、自分のペースで学習ができ、低コストで質の高い内容が学べるe-Learningがおすすめです。

①トレノキャンプの特徴

トレノキャンプは、ITエンジニア・プログラマー志望の初心者から現役のエンジニアまで対応できるe-Learningサービスです。

以下に、トレノキャンプの特徴を紹介します。

20年以上の実績を活かした充実のカリキュラム

トレノキャンプを運営するトレノケート株式会社は、IT人材育成に関する事業を世界14の国と地域で展開する会社です。人材育成のエキスパートとして20年間、1,800社を超える企業に選ばれています。


豊富な実績を活かして作られたトレノキャンプのコースには、実務で活かせる充実の内容が詰め込まれています。分野は多岐にわたるので、自分に合ったコースを見つけられるでしょう。

自分のスキルに合わせて受講できる

トレノキャンプには、さまざまなレベルのコースが用意されています。カリキュラムをチェックし、自分に最適なコースを受講しましょう。


カリキュラムを上から順番に受講すれば、トレノキャンプ流の教育メソッドを反映した効率良い受講ができます。

②おすすめコース紹介

数あるコースの中から、Javaプログラミングのおすすめコースを紹介します。

初心者からJavaエンジニア/プログラマーを目指す方向けのコースです。


Javaエンジニアとして必要なプログラミングスキル、ドキュメントなどの実務で必要な知識、周辺ツールの活用などのコースをまとめて学べます。


本気でJavaエンジニアとしての転職を目指すなら、必要なスキルをまとめて効率よく習得できるこちらのパックがおすすめです。

Javaプログラミングを初めて学習する方向けのコースです。講師による丁寧な解説を確認した後、実際にハンズオンでコーディングしていきます。


このコースを受講すると、Javaの基本文法や、分岐・繰り返し、メソッドの利用方法などが身につきます。


これからJavaの学習を始める方で、本当にプログラミングスキルを習得できるのか不安に感じている方は、まずはこちらのコースから試してみてはいかがでしょうか。



7.Javaについてより深く学びたい方はこちらをチェック

①Javaの基本

②資格




8.プログラミング学習ならトレノキャンプへ


トレノキャンプでは、Javaを実践的に学ぶためのコースをオンラインで提供しています。オンデマンド配信なので、いつでも好きなときに受講が可能です。講座の詳しい内容は下記のバナーをクリックしてご覧ください。

この記事をシェア
おすすめの受講コース
  • Javaエンジニア完全パック -実務に必要なスキルを網羅-
  • はじめてのデータベース ~仕組みの理解とSQL~
  • Javaプログラミング本格入門シリーズ①~データ構造とアルゴリズム~
  • Javaで学習するユニットテスト入門 ~JUnitで理解するテスト手法~