icon
icon

今さら聞けない!Javaとは 【初心者向け】|現役エンジニアが解説

初心者向けにJavaとはどんな言語なのかについて詳しく解説しています。Javaに興味はあるけど使った事はないという人は、Javaが人気な理由など理解できるはずです。他のプログラミング言語とも比較しているのでぜひご覧ください。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

「Javaとは聞いた事があるけど何が便利なのか分からない」といった初心者の方向けにJavaについて詳しく見ていきます。

Javaはプログラミング言語の中でも人気な言語ですので、使えるようになれば仕事も多く手に入るはずです。

これからJavaを勉強しようと思っている方はぜひ参考にしてみてください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

なお、今回の記事の内容は動画でもご覧いただけます。

テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。

 

大石ゆかり

田島メンター!!今日はJavaについて教えてください!

田島悠介

Javaは世界中の基幹システムで使われているプログラミング言語だよ。長年企業の最前線で使われてきたから、様々なライブラリやフレームワークがあって、今も進化し続けているよ。

大石ゆかり

そうなんですね。

田島悠介

他にもいくつかの特徴があるので、実際にひとつずつ見てみよう。

 

目次

 

Javaとは

Javaとはプログラミング言語の1つです。

世界的に見ても使用されている言語、習得したい言語として1位を記録するほどに実績のある言語です。

なぜここまで人気が高いのかを説明すると、「Javaは多くの現場で使われていること」、「汎用的でOSに依存しない」などの理由があります。

OSに依存しないという点は重要で、作成したソフトが動く環境を考えるというのはプログラマーにとって大変な問題です。

macOSなのかWindowsなのかでさえもとても重要な問題です。

そんな中でも安定して動作するプラットフォームを提供してくれるJavaという言語は人気が高いといえるでしょう。

 

また、様々な言語のもとになっているという点でもJavaは優れているといえるでしょう。

開発にはJDK(Java Development Kit)を使用します。これはJavaの公式サイトから無料でダウンロードすることができます。

JDKダウンロード

 

[PR] 未経験からWebエンジニアを目指す方法とは

Javaでどんなことができるか

JavaはOSに依存をしないことからどんな環境でもソフトを動かすことができます。

例えば、Webアプリケーションのサーバーサイドプログラムを組むことができますし、金融システムなどの厳しい要件に対応することもできます。

サーバーサイドとは、サーバー側で動くアプリケーションのことで、Web上のアプリケーションが良い例だと思います。

そのような意味ではJavaはWebとも相性が良く、総じていえばどんなものにも搭載されているマルチな言語であるという事ができるでしょう。

 

また、Oracleの公式サイトでも紹介されていますが、有名ゲームMinecraftもJavaによって作成されています。

Minecraft

Javaを使うためにはインストールする必要がありますので、インストール方法も合わせてご覧ください。

※Javaの開発はWindows・Mac・Linuxいずれからでも行うことができます。

 

Javaを使うメリット

処理速度が速い

Javaは、起動にコンパイルを必要とするコンパイラ言語であるためRubyやPHP, Pythonといった言語よりも処理速度が速いのが特徴です。

 

プラットフォームに依存しない

OSに関係なく、Windows, iOS, Linuxで動作させることができる言語です。

 

オブジェクト指向である

実際の業務をモデル化してプログラムを作りやすく、カプセル化などの技術によりセキュリティコントロールも容易です。

 

Javaによるデメリット

プログラミング以外の作業が大変

一度環境を整えれば、Javaは本当に高性能な言語ですが、実際に動かせるようになるまでのインフラの準備が、PHPなどのサーバーサイドプログラムと比べるとハードルが高いです。

 

学習コストが高い

Javaは、高いセキュリティを確保したり、安定した動作が期待できますが、プログラミング時の制約が多く、プログラマが自立した実力を身に着けるまでに長い期間が必要です。

 

Javaの書き方

Javaはオブジェクト指向言語です。

C#やRubyなどの他言語もJavaを追随しており、classを使ってプログラミングします。

オブジェクト指向とは、現実世界をモデル化し、モノとその操作のあり方をプログラムで表現する書き方です。

Javaはオブジェクト指向型のプログラミングをするという事を覚えておきましょう。

上記にあげたように、Javaは世界的に見ても有名な言語で世界で書けるという方は多くいます。 これから勉強するという方はぜひ習得に励んでみてください。

 

クラスとは

クラスは、主にデータとメソッドの2つの情報を持ちます。例えば、犬であれば名前がデータで、メソッドがお手です。

クラスという設計図を元に、仮想の犬をJVM(Java Virtual Machine)上で生成して動かす、といったイメージです。

この仮想のオブジェクトを生成する操作をインスタンス化と呼びます。

 

田島悠介

オブジェクト指向というのがJavaの大きな特徴のひとつだよ。プログラムを部品に分けて、それらを組み合わせて構成していくんだ。

大石ゆかり

クラスとかオブジェクトとか、色々複雑そうですね……

田島悠介

そうだね。でも、それによって、プログラムでモノの状態や動きを表現できる、高度な概念なんだ。JavaScriptも、PHPも、Javaのオブジェクト指向を真似して追加アップデートをしてきているんだ。だから、Javaを理解することで、他の言語にも詳しくなれるよ。

 

Javaを実行するまでの手順

Javaが実行される大まかな流れです。

  1. ソースプログラムの作成
  2. ソースプログラムをコンパイルしクラスファイルを作成する
  3. クラスファイルを実行する

ソースプログラム(拡張子.javaのファイル)の作成

まず簡単な文字列を出力するファイル”Test.java”があるとします。これをソースプログラムといいます。

Test.java

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

 

ソースプログラムをコンパイルする:クラスファイル(拡張子.class)の作成

このファイルをJava仮想マシン(Java virtual machine、Java VM、JVM)で実行できるファイルに変換します。これをコンパイルといいます。
コンパイルはターミナルでソースプログラムのある場所に移動し、以下のコマンドを入力することで実行されます。

javac ソールプログラムのファイル名.java

今回の場合は”Test.java”となります。ここでは拡張子がないとエラーとなります。

コンパイルが完了すると、.classという拡張子で同じ名前のファイルがソースプログラムと同ディレクトリ内に作成されます。これをクラスファイルといいます。

ソースプログラムのあるフォルダを見ると”Test.class”というファイルが新たに作成されているのが分かります。

 

クラスファイルの実行

最後にこのクラスファイルを実行します。以下のコマンドをターミナルで入力します。

java クラス名(ファイル名)

今回の場合はTestを入力します。※ここでは拡張子.javaは入力しません。

文字列がターミナルに出力されました。

コンパイラに使用するjavac(Javaのcompiler)、クラスファイルの実行に必要なjavaコマンドはいずれも前述のJDK(Java Development Kit)をインストールすることで使用することができます。

 

Javaの基本構文

Javaなどプログラミングでよく使う構文についていくつか紹介していきます。

これからプログラミングをしていく中で毎回のように出てくる基礎的な内容なので、今後のために書き方を覚えておきましょう。

main関数

main関数は、Javaの実行時に必ず必要になる関数です。

見慣れない修飾子も多いですが、暗記してしまいましょう。

public static void main(String[] args) {
  // この中に、最初に実行したい処理を記述する。
  System.out.println("Javaは必ずmain関数から実行されます");
}

読み方は、「パブリック スタティック ボイド メイン ストリング アーグス」となります。

if文

if文は、「もし◯◯したら〜する」といった条件分岐を作るのに使用する便利な構文です。

if(sample1 && sample2){
  //sample1とsample2がどちらもtrueだった場合の処理
  System.out.println("sample1とsample2はどちらもtrueです");
}

for文

for文は、繰り返し処理をする際に使用します。例えば1~100までの数字を1つずつ手動で足していくのは面倒ですが、for文を使えば一瞬で処理が完了します。

for( int i = 1; i < 10; i++ ){
  // ここに記述した処理が繰り返し実行される
}
  • 「int i = 1;」は、整数を格納できるiという名前の変数を定義し、値を1で初期化している。
  • 「i < 10;」は、処理の繰り返し回数を変数iを使って指定している。iが10になると処理を中断する。
  • 「i++」は、処理が1回実行されるごとに、iを1つずつ増やしていく。

上記のような流れで、iの値が10になるまで繰り返し処理が行われます。

今はまだ、何をやっているか分からないかもしれませんが学習を進めていく中で理解できるポイントが来ます。ぜひ自分でも書いてみましょう。

 

以上、Javaとはどんなプログラミング言語なのか紹介しました。

Web開発やスマホアプリ開発など様々なプロジェクトで使う言語なので、Javaをマスターすれば仕事には困らないはずです。

またJavaを勉強しておくと、ほかのオブジェクト指向の言語を習得しやすくなるかと思います。 なんでもできるJavaの世界を楽しんでいきましょう。

 

田島悠介

拡張子.javaのソースプログラムを作成し、それをコンパイルして拡張子.classのクラスファイルを作る。最後にjavaコマンドでそれを実行するんだ。

大石ゆかり

javaコマンドでは拡張子が必要なかったり、ここでも何かと間違いそうですね。

田島悠介

簡単なテキストを出力するコードなどで、これら一連の動作がしっかり行えるか確認してみよう。

大石ゆかり

まず実行できる環境を作るのが大事ですね。ありがとうございました!

 

入門向けのJava学習サイトも紹介しているので、合わせてご覧ください。

また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。

JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。

まずは無料体験に参加してみてください!