IT・エンジニア必見!Javaについて徹底解説――習得して今の仕事や今後のキャリアに活かそう!
公開日:2019.07.16
スキルアップこれからIT・エンジニアになりたい人、IT・エンジニアになりたての人が最初に勉強する言語といえば何でしょうか?
もちろん開発現場によっても異なりますが、その答えのひとつは「Java」です。常に需要のある言語で、Webアプリからスマホ、ゲーム、IoTなど幅広いジャンルで使われています。
今回、これから活躍するIT・エンジニアにJavaの習得がおすすめな理由や、Javaの勉強方法についてご紹介します。
Javaとは
Javaとは、プログラミング言語の一種です。プログラミング言語の中でも特に有名なものにC言語がありますが、JavaはそのC言語の流れをくむプログラミング言語で、アプリやソフトウェアの開発に利用されています。
構文は、C++という、C言語の仲間のプログラミング言語に似ているともいわれます。JavaはC言語よりも使いやすく、プログラムが実行される環境に依存しない言語として普及しています。
Javaの歴史
Javaは1995年にサンマイクロシステムズによって公開されました。その後、2010年にサンマイクロシステムズがオラクルに買収されたため、現在はオラクルのJavaとして知名度が高くなっています。
言語仕様は頻繁に改訂されていますが、Javaの言語そのものの大枠は変わらないので、一度習得しておけば必要なときに最新仕様を調べながら利用することができます。
Javaの特徴
Javaの最大の特徴は、"Write once, run anywhere"というスローガンのもと、一度書いたらどこでも実行可能で、OSに依存しないという点です。つまり、Windowsでも、スマホによく搭載されているAndroidでも、同じプログラムが動作するということです。
さらに、開発はWindows、MacOS、LinuxのいずれかのOSが搭載されたコンピューターで可能です。つまり今持っているパソコンでもJavaアプリやソフトウェアが開発できる、ということになります。
2段階のコンパイルを行う
Javaのようなプログラミング言語は、ソースコードをコンパイラ(ソフトウェア)によって機械語に翻訳し、実行するという仕組みになります。このような言語を「コンパイラ言語」といいます。
どのような言語であっても、ディスクからメモリにロードされ、CPU(データの演算処理を行う装置)が解釈して実行するという流れになりますが、Javaの場合はCPUに実行されるまでに2回コンパイルされるのが特徴です。
Javaのソースコードは、1回目はクラスファイルというものに置き換えられます。そして、そのクラスファイルから機械語に翻訳し実行されます。
この2回目の処理は、JVMというJavaのクラスファイルを動かすために必要なソフトウェア上で行います。JVMはMacやWindows、Linuxなど、さまざまなOSにインストール可能です。プログラムは、本来ならMac用、Windows用と書かなければならないところですが、さまざまなOSにインストール可能な「JVM用のプログラム」を作成し、そのJVM上で実行するという形をとることで、上述の"Write once, run anywhere" を実現しています。
Javaのメリットとデメリット
IT・エンジニアの業界で常に需要のあるJavaですが、次のようなメリットとデメリットがあります。
Javaのメリット
Javaのメリットは、OSや機種に依存しない汎用性と処理速度です。
先述のように"Write once, run anywhere"の精神から、さまざまなOSに簡単に対応できるという点は、Javaの大きなメリットです。それ以外に処理速度という点でもメリットがあります。
PHPやRubyのスクリプト言語と呼ばれるものは、プログラム実行時に1行ずつソースコードを解析し機械語変換を行いますが、逆にコンパイル言語であるJavaは解析部分をあらかじめ1回目のコンパイルの際に行ってしまいます。この処理の違いにより、スクリプト言語と比較して処理速度が早いといわれています。
Javaのデメリット
一方で、Javaのデメリットは、事前準備や開発環境を整える必要があることです。といっても、そこまで難しいものではありません。パソコンを触り慣れている人からすれば、さほど負担にならない範囲のセッティングです。
また、Javaを学ぶ機会があまりないという点もデメリットです。Javaはコーディングに関しては義務教育でも扱いませんし(2019年6月時点)、大学や専門学校でも学ぶ機会が少ないのが実情です。情報処理を専門的に勉強したことがある人でなければ、Javaに触れる機会はないでしょう。
Javaで作れるものとは
Javaで作れるものは、WebアプリやWebサービス、スマホアプリなどさまざまです。それぞれの特徴についてご紹介します。
WebアプリやWebサービス
インターネットやスマホの普及により、いろいろなWebアプリやWebサービスが提供されるようになりました。
例えばECサイトを思い浮かべてみてください。ユーザーが見ている画面は、HTMLやCSSが使われていますが、ショッピングカートに入れて、ボタンを押して注文するという流れには、HTMLやCSSの裏側で働く別のプログラムがあります。こうしたプログラムをJavaで書くことが可能です。
また、SNSでおなじみのTwitterは、もともとRubyを使って作られていましたが、処理速度を向上させるためにJavaに移行しました。
スマホアプリ
スマホアプリのうち、Androidアプリの多くがJavaで作られています。Androidで動かしたいというだけであれば、Java以外の言語でも対応できるのですが、公式の情報が多い言語という理由からJavaが選択されることが多い傾向にあります。ちなみに、iPhoneの場合はiOSが搭載されており、Appleが開発したプログラミング言語のSwiftが使われる場合が多い傾向です。
Java、SwiftはいずれもC言語の系統をくんでいます。例えば最初にJavaを身に付けてAndroidスマホのアプリ開発を経験した後、iOSアプリ開発のスキルを習得するということも不可能ではありません。
Javaの書き方、手順
それでは、Javaの書き方と手順を簡単に解説します。本格的な知識を習得するには、ご自身で実際にJavaを書いてみてスキルアップを図ってください。
Javaはオブジェクト指向の言語
Javaはオブジェクト指向の言語です。簡単にいうと、部品に分けて開発できるということです。
Javaの場合は、部品にあたるところがクラス(class)と呼ばれるファイルになります。イメージとしては、たくさんの部品(クラスとその処理)を合わせて1つの大きいシステムを作るという形になります。
クラスのデータのことをフィールド、処理をメソッドと呼び、フィールドとメソッドをまとめてメンバと呼んでいます。ここは覚えないといけないところなので、覚えましょう。
クラス(class)のインスタンス化
クラスは設計図や地図のようなもので、そのままでは実行できません。オブジェクトというデータを作って、実行させます(インスタンス化)。
Javaの書き方は、クラスとその名前を宣言し、public static void main(String args[] ) { } などの記述で本文を囲みます。
本文は、例えば画面上にHello Java World!と表示させたいのであれば、
System.out.println("Hello Java World!");
が本文です。
実行されるまでの手順
Javaは事前に開発環境を整えていないと実行できません。従来はパソコンにeclipsなどの開発環境をセッティングすることが多かったのですが、現在ではブラウザ上で実行できるようになっています。簡単なソースコードであれば、ブラウザ上で確認するのが良いでしょう。また、開発環境を整えるには、JDKというパッケージをインストールしておく必要があります。
Javaが実行されるまでの手順は次の通りです。
まず、Javaのソースプログラムを作って、コンパイルしてクラスファイルを作り、最後にクラスファイルを実行します。
では、Hello Java World!!と表示させるためのソースコードをご紹介します。
public class Main{
public static void Main(String[] args){
System.out.println("Hello World!!");
}
}
この5行です。
テキストファイルにこのコードをコピーして、「Main.java」という名前を付けて保存しましょう。
コマンドプロンプトで、「javac Main.java」と打ち込むとコンパイルされ、「Main.class」というファイルが作成されます。この「Main.class」を実行するコマンド「java Main」を打ち込んで、「Hello World!!」と返されれば成功です。
今回でいうと、「javac Main.java」の部分がコンパイルしてクラスファイルを作成する部分にあたります。
「Hello World!!」が実行結果です。
以上、簡単なJavaの記述をご紹介しました。
コマンドプロンプトがよく分からない場合、次のようなサイトでご確認ください。ブラウザ上でコードを書いてすぐに実行できるオンライン環境です。
https://paiza.io/projects/8mV-J72NvwtOsny7P4wPNA?language=java
※事前にHello Java World!!と表示させるためのソースコードを記述しています。
Javaの習得はIT・エンジニアの必須条件?
活躍の幅が広がる理由
これからIT・エンジニアを目指す人にとってJavaをおすすめする主な理由は、Javaを使いこなせるようになることで、特にアプリ開発の面で活躍の幅が広がるからです。
さらに、Javaの高い汎用性と安定性は、今はまだ登場していない新しい分野でも求められることが予想され、自然とJavaを選択肢として入れてもらえる可能性も高いのです。アプリのようにJavaができたときにはなかったものも、あとからJavaで開発できるものとして増えていきました。
Javaの習得方法
Javaの習得方法は、前述したようにで独学で学習する、スクールで習う方法のほか、インターネットで学習するという方法があります。
代表的な学習サイトをご紹介します。
ドットインストール
初心者向けのプログラミング学習サイトです。本を読んで独学するのが苦手な人は、まずは動画で概要を学んでみてはいかがでしょうか。
Java初心者入門講座
環境設定から丁寧に解説しているサイトです。開発の現場で使われるeclipseについても解説があるので、実際に仕事をする時の模擬体験ができるでしょう。
JavaDrive
さまざまなチュートリアルが掲載されているサイトです。初心者向けのサイトを大方終わった後、復習するのに良いでしょう。
Schoo
授業を受けたい、IT・エンジニアの話が聞きたいという人にはSchooがおすすめです。大学や専門学校まで行かなくても授業を受けることができます。授業の合間のちょっとした開発の話も、おもしろく聞けます。
各IT分野で活躍が期待されるJavaのエンジニア
今回はJavaについて紹介しました。Javaは汎用性が高く、インターネットの学習サイトで習得もできるため、以前よりも格段に学習の敷居が下がっています。
今後もIT分野での利用が広がるJavaは、IT・エンジニアとして活躍したい人に最適なプログラミング言語。ぜひ、習得してみてはいかがでしょうか。
(2019年7月現在)