プラグラミング言語、Javaの概要をまとめました。
Javaについて
Javaは、Webをより一層楽しく便利にするアプリケーションを開発するためのテクノロジです。 JavaはJavaScriptとは別のものです。
https://www.java.com/ja/about/whatis_java.jsp
Java言語の概要
Javaは、Webアプリケーションや業務システム、サーバーサイド開発など、幅広い分野で利用されているプログラミング言語です。オブジェクト指向を採用しており、Java仮想マシン(JVM)上でプログラムを実行することで、異なるOSや環境でも動作させやすい特徴があります。
企業の大規模なシステム開発でも広く利用されており、Javaを使用した開発では、プログラミングの基本構文だけでなく、オブジェクト指向やクラス、例外処理などの知識も重要になります。
「Java」という名称の由来
Javaは、開発当初から「Java」という名称だったわけではありません。Javaの開発者であるJames Gosling(ジェームズ・ゴスリン)らが開発していたプログラミング言語は、当初「Oak(オーク)」と呼ばれていました。
The Java programming language was originally called Oak, and was designed for use in embedded consumer-electronic applications by James Gosling. After several years of experience with the language, and significant contributions by Ed Frank, Patrick Naughton, Jonathan Payne, and Chris Warth it was retargeted to the Internet, renamed, and substantially revised to be the language specified here. The final form of the language was defined by James Gosling, Bill Joy, Guy Steele, Richard Tuck, Frank Yellin, and Arthur van Hoff, with help from Graham Hamilton, Tim Lindholm, and many other friends and colleagues.
参考:https://docs.oracle.com/javase/specs/jls/se7/html/jls-0-preface1.html
プログラミング言語の「Java」は、インドネシアのジャワ島に由来する「ジャワコーヒー」が名前の由来です。1990年代初頭に言語を開発していたチームメンバーがコーヒー好きだったことから名付けられました。
Java言語の特徴
Java言語には次の特徴があります。
- プラットフォーム非依存(OSを選ばない):JVM(Java仮想マシン)を経由して動作するため、WindowsやMacなど異なるOSでも同じプログラムをそのまま実行できます。
- オブジェクト指向:プログラムを機能やデータごとの独立した部品(オブジェクト)として設計するため、コードの再利用や大規模なチーム開発が効率的になります。
- 高い信頼性と安定性:実行前のコンパイル段階でデータ型などを厳密にチェックする「静的型付け」を採用しており、重大なエラーを未然に防ぎます。
- メモリの自動管理:不要になったメモリを自動で解放する「ガベージコレクション」機能があり、安定した長時間稼働を支えます。
- 豊富なライブラリとフレームワーク:Spring Bootなどの便利なフレームワークが充実しており、高品質なシステムを効率よく開発できます。
Java言語が使用される場面
Java言語は以下の用途で使用されます。
- Webサービスの裏側の処理
ネットショップの商品検索・注文受付、予約サイトの空き状況確認、会員サイトのログイン処理など。Javaでこうしたサーバー側の処理を作れます。 - 企業の業務システム
在庫管理、販売管理、顧客管理、勤怠管理など、会社の仕事を支えるシステムの開発に使われます。 - 銀行・金融機関のシステム
金融サービスを支えるアプリケーションにも使われています。実例として、Standard Chartered銀行のJavaアプリケーションをクラウドへ移行した事例があります。 - Androidアプリ
Androidアプリの画面や機能を作るために使われてきました。現在はKotlinを中心とした開発が推奨されていますが、Javaも引き続きサポートされています。 - ゲーム
身近な具体例が Minecraft: Java Edition。Javaを使って作られたゲームとして紹介できます。 - 大量のデータをまとめて処理するプログラム
毎日の売上集計、請求書用データの作成、CSVファイルの取り込みなど。例えばSpring Batchでは、CSVのデータを加工してデータベースに保存する処理をJavaで作れます。 - ソフトウェア開発を支えるツール
プログラムのビルドやテストを自動化する Jenkins 自体もJavaで作られています。
Javaの開発環境のセットアップ
Javaで作成したプログラムは、JVM(Java Virtual Machine)上で動作します。Java言語で作成したプログラムを動かすには、Javaを実行するための環境をパソコン・サーバーにセットアップする必要があります。
Java の実行環境をダウンロードして、環境変数を設定することでjavacコマンドなどを実行できるようにセットアップします。
https://www.oracle.com/java/technologies/downloads
Windows上でJavaの実行環境をセットアップする方法は以下のマイクロソフト公式記事でも公開されています。
https://learn.microsoft.com/ja-jp/windows/dev-environment/java
Java言語でプログラムを作成する
Java言語は例えば以下のように記述します。
public class Test {
public static void main (String[] args){
System.out.print("Hello");
}
}
記述したファイルは、コンパイルと呼ばれる処理を実行することで、JVM上で実行が可能なクラスファイルが作成されます。
Java言語で書いたプログラムを実行するにはまずはコンパイルする
Javag言語で作成したプログラムを実行するには、まずは「コンパイル」と呼ばれる処理を実施します。
Javaは人間に読みやすくするためのプログラミング言語と呼ばれるものですが、コンピュータはプログラミング言語を認識できず、コンピュータがプログラミング言語で書かれたものを認識できる状態にするのが「コンパイル」と呼ばれる処理です。
Javaで書いたプログラムのコンパイルを実行するには以下のコマンドを実行します。
javac Test.java
上記のようにコンパイルを実行すると、「Test.class」という名前のファイルが作成されます。
コンパイルしたファイルをJVMで実行する
javacでコンパイルしたファイルは以下のコマンドを実行することでJVM上で実行可能です。
java Test
Hello
JVMで実行するコンパイル後のファイルは、OSに依存しない
javacを実行して作成されたクラスファイルは、どのOSで実行してもJVM上で処理されるので、OSに依存せずプログラムの作成と実行が可能です。
オブジェクト指向の概要
オブジェクト指向とは、プログラムを「役割を持ったモノ(オブジェクト)」の集まりとして設計する考え方です。
例えばゲームを開発する場合、「プレイヤー」「敵」「アイテム」「武器」などをそれぞれ独立したオブジェクトとして考えます。プレイヤーであれば「名前」「HP」「レベル」といったデータを持ち、「移動する」「攻撃する」「ダメージを受ける」といった処理を行います。
このように、関連するデータと処理をひとまとまりにしてプログラムを構成することで、役割や責任範囲を整理しやすくなります。また、適切に設計することで機能の追加や修正、プログラムの再利用もしやすくなり、大規模なソフトウェアを管理しやすくなります。
オブジェクト指向で作成したJavaのソースコードの例は以下の通りです。
class Player {
String name;
int hp;
Player(String name, int hp) {
this.name = name;
this.hp = hp;
}
void attack() {
System.out.println(name + "が攻撃しました!");
}
void takeDamage(int damage) {
hp -= damage;
System.out.println(name + "のHPは" + hp + "になりました。");
}
}
public class Main {
public static void main(String[] args) {
Player player = new Player("勇者", 100);
player.attack();
player.takeDamage(20);
}
}
この例では、Player クラスの中に「名前やHPというデータ」と「攻撃する・ダメージを受けるという処理」をまとめています。
new Player("勇者", 100) によって、Player クラスをもとに実際のオブジェクト(インスタンス)を生成しています。
実行結果は次のようになります。
勇者が攻撃しました!
勇者のHPは80になりました。
Javaの認定資格
Javaには、Oracleが提供するJava技術者向けの認定資格があります。
Javaの基本的な文法やオブジェクト指向、クラス、例外処理などについて学習したあとに、Javaの知識を確認する目標として認定資格の取得を目指すこともできます。
日本語で提供されている主なJava認定資格には、次の3つがあります。
Oracle Certified Java Programmer, Bronze SE
Java Bronzeは、Javaやプログラミングをこれから学習する人を対象とした入門レベルの認定資格です。
Javaの基本的な文法やオブジェクト指向プログラミングについての基礎知識が問われます。Java SE Bronze(1Z0-818-JPN)試験に合格することで認定されます。
Oracle Certified Java Programmer, Silver SE
Java Silverは、Javaを使用したアプリケーション開発に必要となる基本的なプログラミング知識を証明する認定資格です。
Java SE 17に対応した「Oracle Certified Java Programmer, Silver SE 17」では、Java SE 17 Programmer I(1Z0-825-JPN)試験が対象となっています。
Oracle Certified Java Programmer, Gold SE
Java Goldは、Javaアプリケーションを独力で実装できる中上級者を対象とした認定資格です。
Java SE 17に対応した「Oracle Certified Java Programmer, Gold SE 17」では、Java SE 17 Programmer II(1Z0-826-JPN)試験が対象となっており、Silverよりも発展的なJavaの知識が求められます。 (オラクル)
なお、OracleはJava SE 17の日本語認定試験を2027年2月28日に終了し、Java SE 25に対応した日本語認定試験を2026年11月下旬から提供する予定としています。資格を受験する場合は、Oracle公式サイトで最新の試験情報を確認してください。
まとめ|Javaの基礎を学んでプログラミングに活用しよう
Javaは、オブジェクト指向を採用したプログラミング言語で、Webアプリケーションや業務システムをはじめ、さまざまなソフトウェア開発に利用されています。
これからJavaを学習する場合は、基本的な文法だけでなく、クラスやオブジェクト、継承、インターフェース、例外処理など、Javaにおけるオブジェクト指向の仕組みについても理解していきましょう。
基礎を身につけたあとは、実際にJavaプログラムを作成しながら理解を深めたり、Java Bronze・Silver・Goldなどの認定資格を学習の目標として活用したりすることもできます。