これからプログラミング学習を始めようと考えている方で、名前をよく見かけるJava言語を候補として考えている方も多いのではないでしょうか。
本記事では、これからプログラミング学習を始めようと検討されている方向けに、最初に知っておきたいJavaプログラム開発における基礎知識をご紹介していきます。
Javaプログラムで何が出来るのか
Javaでは、様々なプログラムを開発することが出来ますが、どのようなアプリ開発が出来るのか概要をまずは抑えておきましょう。
Webサービス
Webサービスには、ECサイトやSNSサイトなど、様々なインターネット経由で利用するサービスが含まれます。
JavaとWebサービスの相性はよく、様々なサービスがJava言語によって作成されています。
デスクトップアプリ
パソコンにインストールして実行されるデスクトップアプリもJavaで作成することが出来ます。
業務アプリからJava開発で利用される統合開発環境「Eclipse」などもJavaで作成されたデスクトップアプリケーションです。
Androidアプリ
Androidアプリの大半はJavaで作成されており、Android上で動作するアプリ全般もJavaで開発することが可能です。
Android Studioという開発環境が提供されており、Androidアプリ開発者の必須ツールとなっています。
組み込みアプリ
携帯電話やBlu-rayプレイヤーなど、様々な端末に組み込まれるアプリに関してもJavaで開発されています。
もともとJavaは組み込み用に開発されたアプリでもあり、Java仮想マシン(JVM)により端末に依存せず動作させることが出来るのも大きな特徴です。
ゲーム
メインで利用されているわけではありませんが、Javaでゲームを開発することも可能です。
「Minecraft」がJavaで作成されたゲームとしては有名です。
Javaプログラムで開発するメリット・デメリット
Javaで様々なシステムが開発出来ることは分かりましたので、次はJava言語でプログラムを作成するメリット・デメリットを確認していきます。
メリット
Javaのメリットとしては、大きく「高性能」「需要が高い」「情報が多い」の3つなどが挙げられます。
高性能
Java言語は、JVM上で動作するためプラットフォームに依存することなくプログラムを実行させることが出来ます。
またコンパイラ言語であるため、処理速度が速く、静的チェックにより構文のバグを防ぐことも可能です。
さらに多くの言語で取り入れられているオブジェクト指向言語の先駆けとなった言語なので、カプセル化などを含めた開発しやすく修正しやすいプログラムを作成することが出来ます。
需要が高い
Javaは業務アプリを中心に、企業からの需要も高いため求人数が多いのもメリットの1つです。
Javaで作成したアプリはセキュリティ面でも高く、銀行や公共機関のアプリでも採用されるほどです。
また上述したようにiPhoneアプリ以外のほとんどのアプリを開発出来るため、必然的に需要も高くなります。
情報量が多い
多くのアプリで長年採用されていることから、Java言語に関する情報は書籍やインターネット上にたくさん出回っています。
分からないことがあっても、検索すればほとんどの場合答えが見つかるので、初心者にとっては大きなメリットです。
デメリット
メリットばかりでなく、もちろんJavaを利用する上でのデメリットもありますので、把握した上でJavaを利用するか検討してみましょう。
開発環境の構築が大変
Javaは、PHPやPythonといったインタプリタ言語に比べて、コンパイルする必要があるため、開発するまでの事前準備が多くなってしまいます。
開発環境の構築で挫折してしまうと言われるほど、初心者の方には難しい作業でもありますので、1人で学習を進める場合には特に大きなデメリットとなってしまいます。
学習コストが高い
Javaには、オブジェクト指向を筆頭にプログラミング初心者には掴みにくい概念的な知識が必要となります。
またネットワークやハードウェアに関する知識も必要となるため、プログラミングに関する全般の知識が必要です。
Javaでプログラム実装の流れ
Javaでのシステム開発の流れとして、「要件定義」→「設計」→「実装」→「テスト」といった大まかな流れがありますが、ここでは「実装」工程での基本的な流れをご紹介していきます。
インストール
Javaプログラムを実装するには、大前提として「Java Development Kit(JDK)」が必要です。
下記コマンドを実行して、コンピューターにインストールされたJDKが表示されない場合は、公式サイトからインストールしておくようにしましょう。
$ java -version java version "17.0.1" 2021-10-19 LTS Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39) Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
サンプルでは、JDKのデフォルトバージョンが「17.0.1」であることが確認出来ます。
コーディング
プログラミングと言えば、一般的に思い浮かべられるのがこのコーディングの工程です。
Javaファイルに、コードを記述していきます。
今回はシンプルに「Hello World!」を出力するサンプルを下記のように記述しました。
Main.java
public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } }
コンパイル
「Main.java」として作成したファイルを、Java実行コードに変換するコンパイル作業がプログラムを実行するためには必要です。
Main.javaを格納したフォルダにコマンドラインで移動し、下記のコマンドを実行します。
javac Main.java
lsコマンドで確認してみると、「Main.class」が作成されていることが確認出来ます。
$ ls Main.class Main.java
実行
クラスファイルが作成出来たので、下記実行コマンドを入力します。
java Main
実行した結果下記の通り、「Hello World!」が出力されていることを確認出来ます。
$ java Main Hello World!
これがJava実装時の基本的な流れで、今回は処理の流れを確認するためにコマンドラインから実行していきましたが、Eclipseなどの統合開発環境を利用すれば実行ボタン1つでJavaプログラムを実行出来るなど処理を簡略化することも可能です。
さいごに: Javaプログラムの基本を理解して学習を始めよう
本記事では、Javaプログラムを始める前に知っておきたい基本情報についてご紹介してきました。
Javaはプログラミング初心者の方が最初に学習するには難易度が少し高いのは事実ですが、Javaでプログラミング知識を身につけることで他の言語にも応用しやすいメリットもあります。
最初のハードルの高さ以外は、需要も高く応用もききやすいプログラミング言語ですので、これから学習を始めようと考えている方は根気強く知識を身に着けていきましょう。
注意点として実行時には「.class」の拡張子を除いたクラス名を指定します。