Javaの基礎知識
Javaは登場してから30年近い歴史を持つプログラミング言語であり、汎用性が高く、様々な種類のシステム開発に利用されています。学習難易度が高い言語であるため、基礎知識からしっかり学ばなければなりません。
この記事では、これからJavaを学ぼうと考えている方、どの言語を学ぶべきか迷う方に向けて、Javaの基礎知識、Javaプログラミングの始め方、覚え方などを解説します。
Javaは人気のプログラミング言語
JavaはC言語をベースにして開発された、オープンソースのプログラミング言語です。Javaはエンジニアを目指す人が学びたい言語の筆頭にあり、エンジニアの求人でも、人気のPythonやPHP、JavaScriptと並び、常にトップレベルの求人件数をキープしています。
Javaに人気が集まる理由としては、OSに依存せず、あらゆる環境で利用できる点にあります。Macで開発されたJavaのアプリはWindowsでも動き、Androidでも動くということです。OSごとに何種類も開発が必要なところを、1度に作れるというのはJavaの大きなアドバンテージです。
【参考】:Javaソフトウェア | オラクル | Oracle 日本
Javaの歴史
Javaの歴史は、1990年12月にSun Microsystems社が、次世代の家電製品向けプログラミング言語を開発するプロジェクトを立ち上げたことから始まりました。
1996年にSun Microsystems社が市場にリリースし、 Javaは順調に発展を続けましたが、2010年にはOracle社がSun Microsystems社を買収し、主にOracleがJavaを提供しています。
2013年には「Java 7」がリリースされ、現在(2024年2月)は2024年1月16日にリリースされたJava 8 Update 401が最新です。
Javaの特徴
JavaはC言語やC++などの他の言語と何が異なるのでしょうか?C系言語と比較しながらJavaの主な特徴を見ていきましょう。
オブジェクト指向プログラミング言語
Javaはオブジェクト指向プログラミング言語で、データをオブジェクトと呼ばれる単位にまとめ、そのオブジェクト同士がメッセージを送り合いながら処理を行う言語です。一方、CやC++は手続き型プログラミング言語にくくられます。
従来の手続き型プログラミング言語と比較して、Javaには以下のようなメリットがあります。
•コードの再利用性が高い •保守性が高い •拡張性が高い
プラットフォーム独立性
Javaは、JVM(Java Virtual Machine)と呼ばれる仮想マシン上で動作するため、OSやハードウェアに依存せずに動作することができます。そのため、1度開発したJavaプログラムは、OSやハードウェアを変更することなく、様々な環境で実行することができます。
一方、CやC++はプラットフォームに依存しないプログラムを書くことは可能ですが、コンパイルした後の実行ファイルは、OSごとに異なり、Javaのように異なるOS環境で動かすことはできません。
幅広い用途
Javaは、Webアプリケーションやデスクトップアプリケーション、モバイルアプリケーション、組み込みシステムなど、幅広い用途で使用されています。一方、CやC++は組み込みシステムやロボット技術などに利用されます。
Javaのメリットとデメリット
Javaは汎用性が高い、OSへの依存性がない、利用範囲が広いなどの理由により、人気の高い言語です。ここでは、Javaのメリットとデメリットについてそれぞれ見ていきましょう。
Javaのメリット
Javaには多くのメリットがあり、それがJavaの人気を高め、エンジニアがJavaを選択する理由にもなっています。以下、Javaの主なメリットについて解説します。
1. ライブラリやAPIが充実している Javaには多くのAPIやライブラリが用意されています。例えば、画像処理には「OpenCV」、グラフィックには「JavaFX」、構文解析には「JavaParser」などがあります。Javaは目的に応じたライブラリを活用することで、開発を効率的に行うことができます。
2. 自由度の高い実行環境 Javaは仮想マシンと呼ばれる「JVM(Java Virtual Machine)」上で動作します。JVMは擬似的に最適化された環境を作り、どんなコンピュータ上でもJavaを利用できるようにします。MacでもWindowsでも、JVMさえあればJavaを動作させることができます。
3. 実行速度が速い Javaはコンパイラ型言語であり、事前に機械用のソースへコンパイルするため、実行速度が速くデータ処理に優れています。
4.セキュリティに優れており求人数が豊富 Javaはオブジェクト指向言語で、セキュリティ面に優れています。大規模なシステム開発などに用いられ、Javaエンジニアの求人数が豊富です。
Javaのデメリット
優れたパフォーマンスで人気のJavaにもデメリットがあります。ここでは、学習面と利用シーンにおけるデメリットをそれぞれ挙げました。
1.オブジェクト指向に対する理解が必要 オブジェクト指向言語は学習に時間がかかります。理論だけではなく、実践で扱えるようになるにはプログラミングなどの経験が必要です。
2. 小規模システム開発に適していない Javaは大規模なシステム開発に向いていますが、小規模なプロジェクトには適していない場合もあります。そのため、フリーランスエンジニアが扱うのには向いていない言語と言われます。
Javaのインストールと実行
ここでは、Javaのインストール方法とプログラムを書いて実行する手順について紹介します。
Javaのインストール
Javaを利用するには、以下の手順を踏みましょう。ここでは、Windows11パソコンを前提に手順を示します。
■ JDK(Java Development Kit)のダウンロードとインストール JDKにはJavaの開発に必要なツールやライブラリが含まれています。初めにOracleの公式サイトから最新版のJDKをダウンロードします。以下のサイトのWindowsタブにある「x64 Installer」のリンクをクリックすると、ダウンロードを開始します。
インストールの実行画面が表示されたら、[実行]ボタンをクリックするとインストールを開始します。
【参考】:Java Downloads | Oracle 日本
■ 環境変数の設定 JDKをインストールした後に、環境変数の設定が必要です。スタートメニューの右クリックで「システム」をクリックし、「システムの詳細設定」を選択します。システムのプロパティ画面が表示されたら、[環境変数]ボタンをクリックします。
環境変数の一覧画面が表示されたら、[新規]ボタンをクリックし、ポップアップ画面で以下を入力します。
▪変数名 : JAVA_HOME ▪変数値 : C:\Program Files\Java\jdk-21
「環境変数名の編集」画面で「新規」ボタンをクリックし、「%JAVA_HOME%\bin」を追記します。これにより、コマンドプロンプトからJavaコンパイラ(javac)を実行できるようになります。
■ JDKのインストール確認 コマンドプロンプトを起動して、以下のコマンドを入力してJDKが正しくインストールされているか確認します。
>javac -version
インストールされているJDKのバージョンが表示されれば、正常にインストールされています。ここでは「javac 21.0.2」と表示されます。
Javaプログラムの書き方
Javaをインストールしたら、次の手順によってJavaを使えるようになります。
1. Javaプログラムの作成と保存 Javaのコードを書くためには、テキストエディタ(例:NotePad++)などを起動して新しいJavaファイルを作成します。既に他のテキストエディタ(Visual Studio Code、Eclipseなど)を利用している方は使い慣れたエディタを利用しましょう。
// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println(Hello, World!);
}
}
ファイル名は後から分かるように適切なものに設定しましょう。(例:HelloWorld.java)
コードを記述したら、拡張子をjavaにして任意のフォルダにファイルを保存します。
2. プログラムのコンパイル コンパイルとはJavaのコードを実行可能な形式に変換するプロセスです。コマンドラインを開き、ソースコードが保存されているディレクトリに移動します。javacコマンドを実行して、Javaファイルをコンパイルします。
>javac HelloWorld.java
コンパイルが成功すると、同じディレクトリにHelloWorld.classというクラスファイルが生成されます。
3. プログラムの実行 コンパイルされたクラスファイルを実行します。以下のコマンドを入力します。拡張子を打つ必要はありません。
>java HelloWorld
実行した結果、コンソールに「Hello World」が表示されれば、サンプルプログラムが正常に実行されています。javacでコンパイルして作られたクラスファイルは、Javaが動く環境があれば、どこでも使える点です。これは「Write once, run anywhere(1回書いたらどこでも動く)」と言われる、Javaの大きな特徴です。
Javaの習得に向けて
Javaを習得し、プログラムを書けるようになるには、多くのことを覚えなくてはなりません。まず、Javaでソースコードを記述する際には、基本の文法を知っておく必要があります。
基本文法を覚える
Javaの基本文法(基礎文法)は数多くあります。代表的なものだけでも次のようなものが挙げられます。
▪変数と定数 ▪配列(固定長配列、可変長配列、連想配列、集合など) ▪分岐(if文、switch文) ▪反復(for文、while文、Break文、Continue文) ▪例外処理 ▪データ型 ▪コメント ▪演算子
これらの覚え方ですが、丸暗記するのではなく、ひたすら基本コードを書いて記憶を深めていく方法が良いでしょう。また、些細な打刻ミスでもエラー原因になりますので、既存のソースコードなどからコピーしてペーストする方法で記述しましょう。
以下の「Javaコード入門」は、Javaの基本を順を追って学べる以外に、基本用語を検索したり、一覧から選択したりして、辞書としても利用できるためおすすめです。
【参考】:Javaコード入門|マイナビエージェント
Javaの学習方法
Javaを学習するには、オンライン学習サイトや参考書を利用する方法があります。また、学習成果を確認し、スキル証明を得るにはJavaの資格試験に挑戦しましょう。
オンライン学習サイトの活用
【参考】:Progate | Java | プログラミングの入門なら基礎から学べるProgate
参考書の活用
多くの人が利用している参考書は安心感があります。常に携帯して、分からないところを調べたり、マーカーで印をつけたり、書き込んだりできるのは書籍の良いところです。ここではJavaの初学者におすすめの1冊を紹介します。
■ Java[完全]入門 Java言語の基礎から始めて、開発環境の導入からプログラムの基本形、条件分岐、ループ、配列、オブジェクト指向プログラミング、例外処理、ファイル操作、関数型プログラミングなどを丁寧に解説しています。知識がゼロからでも安心して学習できる入門書です。
▪著者:松浦 健一郎、司 ゆき ▪出版社: SBクリエイティブ ▪ページ数: 600ページ ▪出版日: 2024年3月2日
【参考】:Java[完全]入門
Javaの資格試験にチャレンジ
Javaのもう1つの学習方法として「資格の取得」に向けた学習があります。資格取得のための勉強をすることでJavatが習得ができ、試験に合格することで自身のスキル証明ともなり、就職や転職にも有利です。
■ Oracle認定Javaプログラマ (OCJP) 日本オラクル社が主催するJavaプログラマ向けのベンダー資格です。Javaのバージョンアップに合わせ、数年ごとに認定試験のバージョンが改定されるのが特徴で、現在はJava SE 11に対応した資格が最新です。
OCJPはBronze、Silver、Goldの3つのレベルに分かれています。スキル証明としてSilver以上の取得を目指しましょう。
【参考】:Java SE Bronze (Available only in Japan) | Oracle University
Javaを習得してエンジニアとして活躍しよう
Javaはその汎用性と安全性が評価され、様々なプラットフォームで採用されています。デスクトップからWebアプリ、家電製品やIoT機器、カーナビなどの組み込み系ソフトまで幅広い需要があり、世界的にも人気の言語です。
そのため、今後も安定した需要が見込まれ、将来性も高いと言えます。習得難易度は高めですが、エンジニアとしてのキャリアパスを考慮し、習得を目指しましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから