- 更新日: 2022年09月06日
- 公開日: 2017年06月26日
Javaを独学で勉強したい人が見ておくべき5つの項目
求人数、社会的信頼性、汎用性、将来性、学習環境、どれをとってもトップクラスの Java*。 HTMLやCSSが一段落したあなた、Java はじめてみませんか?
今回は、プログラミング初心者の方でもスムーズにJavaワールドに入れるように情報を整理してみました。
Java学習をはじめる前の参考資料としてご参考下さい。
Javaとは何か?
はじめての方でもJavaについてイメージできるように、基本情報から活用事例までご紹介します。
Javaの概要
Javaは、私達の生活の中で知らない内に動いているプログラミング言語です。例えば、お金を引き出すATMや支払いに使われるクレジットカード・システム、それから映画をみるためのブルーレイ・プレイヤーやAndroid のスマホなどに利用されます。
HTMLやCSS、PHPやRuby、JavaScriptといった言語は、Webに特化した言語ですが、Javaの場合Webはもちろん、電子機器やロボット、ゲーム、ドローンなど幅広い分野で利用可能です。
Javaが多くの場所で利用されている理由として、どんな機器にも命令(プログラム)できる点と高い拡張性が挙げられます。 「どんな機器にも」という点については、Java独自の処理システム(Java仮想マシン)が関係し、「高い拡張性」については豊富なAPIやオブジェクト指向、継承といった機能を持っているからです。
このように現代社会と切っても切れないJavaは、世界中に900万人以上のプログラマがいると言われ、仕事に困らないプログラミング言語*として有名ですね。
Javaで作られているモノやサービス
Javaで動いている代表的なモノやサービスをご紹介します。Javaの魅力を感じて下さい。
■Webサービス■
- Amazon.com/世界屈指のネットショップ
- eBay/世界屈指のオークションサイト
- Linkedin/世界屈指のビジネス特化型SNS
- IRCTC/インドの鉄道予約サービス
■ソフトウェア■
- Androidアプリ全般/Androidアプリ開発の基本言語は Javaです
- 自動売買ソフト/株や為替などの自動取引ソフトに
- 人工知能/機械学習やディープラーニングに
- ゲーム/スマホやパソコン用ゲームに
■機械■
- ロボット/ロボット用の開発支援ツール*をはじめ導入事例も多数* *
- IoT/イタリアのバス会社(COTRAL社)や200年以上歴史のあるドイツの機械メーカー(Bosch Rexroth AG)など
- 医療/MRIやCTスキャンの画像解析ソフトに*
- ドローン/ドローン制御用のソフトに
■生活■
- ICカード/携帯のSIMカードやクレジットカードなど
- 銀行/送受金処理からブラジル国家を救った事例*
- 家電/ブルーレイ・プレイヤーやテレビなど多くの家電に
- 管理システム/東京電力のユーザー管理をはじめ、商品在庫管理や図書館の所蔵管理など
Javaを学ぶ事で得られるメリット
こちらでは、Javaを学んだ人が得られるベネフィットについてご紹介します。 自分が目指している未来と「Java」がマッチするかチェックしてみて下さい。
メリット① ワンランク上のWeb開発スキル
PHPやRubyに比べJavaは、規模が大きく、多機能なWebサービスに利用されています。
SNS機能やメルマガ連動、リアルタイム・チャット、マルチデバイス対応など、他のプログラミング言語では構築が困難なレベルまでWebサービスの規模を拡張可能です。
そしてこれらの機能を学習・経験することによって、ワンランク上のWebスキル習得に期待できます。
参考までに、ブログやWebサイトの開発ベースでよく使われるWordPress(PHP言語のCMS)とJavaのCMSを比較してみました。Javaの方がシンプルなインストールで、豊富な機能を備えていることに気付きます。
Java (Java JDKインストール済み) PHP(xamppインストール済み)
メリット② 自分にあった仕事の獲得
Javaは、Webサービスをはじめ、アプリ開発、IoT、ロボット、医療など様々な分野で利用中。
そのため自分が貢献したい、やってみたい分野でJavaを活かすことが可能です。
メリット③ 柔軟な働き方
これはJavaに限ったことではありませんが、会社勤め以外にフリーランスとして自宅で自分の好きな時間に仕事をすることができます。介護や子育ての関係で、フレキシブルに働きたい方にむいていますね。
メリット④ オブジェクト指向がしっかり身につく
PHPやRubyの基礎学習ではサラッと終わるオブジェクト指向も、Javaの場合は基礎段階からしっかり詳しく学習。そのためPHPエンジニアでも知らないような「カプセル化」技術を、Java初学者は知っていたりします。
メリット⑤ 年をとっても働ける
プログラミング言語別求人数で第1位のJavaは、50代でも月60万の仕事が存在します。フリーランスでは、60代の方もJavaで仕事中。プログラマ不足の観点から、当面この傾向は保たれるでしょう。
Javaの学習方法とは?
これからJavaをはじめる方にとって、役に立つ学習サイトと参考書をご紹介します。個人的には、本と学習サイトの併用がおすすめです。
Javaの学習サイト
Progate
画像出典:Progate
学んで・書いて・試せるProgateでは、5つのJava学習コースを用意。5つの内最初の2コースを無料で利用でき、後の3コースは有料となります。本などでJavaの基礎を学んだ後の確認や復習として役立ちますね。
- 料金/無料もしくは月980円(税込)
- 受講体系/オンライン学習&コーディングの自習スタイル
- 特徴/オンライン上でJavaの学習環境を構築しているため、即Javaプログラミングに取り掛かれる。
Udacity
画像出典:Udacity
こちらは英語の学習サイトですが、動画を見ながら落ち着いて学習を進めることができます。特徴的な点は、参考書などで紹介される目次内容(演算や配列、オブジェクト指向など)とは逆のパターンでレッスンが進められることです。 「Javaってなんだ?」という方におすすめですね。
- 料金/無料もしくは $199/月
- 受講体系/無料版は、オンラインビデオとクイズ形式の自習スタイル。有料版は無料版にメンター相談が加わる内容。
- 特徴/HTML/CSS、Java以外にも、VRやAR、自動運転技術など多様なコース設定。独自の学習終了証を発行可能。
ドットインストール
画像出典:ドットインストール
Java講義全43回中5レッスンを無料で拝見することが可能です。Javaの基本構文などを動画で学習することができますが、Macベースで解説していますのでWindowsユーザーの方はちょっと分かりにくいかもしれません。
- 料金/無料もしくは月980円
- 受講体系/オンライン・ビデオ視聴
- 特徴/1レッスン3分で、テキストエディタのAtomと連携可能。
Javaを学べる本
ちょっとしたスキマ時間でも、オフラインでも学習できるJavaの参考書を3冊ご紹介します。
img | text |
---|---|
画像出典: amazon.co.jp |
これならわかるJava入門の入門 第2版Javaの全体的なイメージや開発環境の雰囲気、構文を把握するのに適した本です。PHPやRubyなど他言語の学習経験がない方におすすめですね。 著者:坂下 夕里 出版:翔泳社発売:2008年 ページ数:328 価格:¥1,600(税別) |
img | text |
---|---|
画像出典: amazon.co.jp |
スッキリわかるJava入門 第2版こちらはモチベーション十分な方にオススメしたい本です。Javaの基本構文やオブジェクト指向、エラー発生時の対処法などJava初心者が知っておくべきことが網羅されています。文字やコード、イラストのレイアウトが見やすく、600ページ以上に及ぶ内容も、スラスラ読めていきますよ。 著者:中山 清喬、国本 大悟 出版:インプレス発売:2014年 ページ数:658 価格:¥2,600(税別) |
img | text |
---|---|
画像出典: amazon.co.jp |
新人君! RPGの世界でJavaを学ぼうゲームブック調で書かれているJavaの学習本で、次の展開が気になるモチベーション・ホルダーな1冊になります。 Javaの基礎を一通り終えた後の2冊めに読んでみたい本です。 著者:宮嵜 淳 出版:リックテレコム発売:2014年 ページ数:240 価格:¥1,600(税別) |
学習時間は?
日々忙しくされている方にとって、どのぐらいの時間をかければJavaが習得できるのか、という点は気になるポイントでしょう。 目安の学習時間として、学習サービスのProgate では約 14時間、ドットインストールでは2時間ちょっと、参考書の「スッキリわかるJava入門」では約12時間でした。
私の場合、3回やって、3回読んでやっと理解し始めると感じています。 また実際のJava講師によると、100時間は学習時間を確保する必要がある、とアナウンスしています*。 焦らずにコツコツ学習していく気持ちが大事そうですね。
Javaを使ったアプリ開発について
Javaベースのアプリ開発について、簡単にご紹介します。
Webアプリ開発について
JavaベースでWebアプリを開発すると、PHPやRubyに比べて大規模かつ高速なアプリを作ることができます。事前準備としては、Javaの基礎知識以外に「Java サーブレット」というWebシステムの学習が必要です。
開発をサポートするフレームワークやCMS、ライブラリ(API)、コミュニティは充実していて、様々な設計モデルに対応できる特徴があります。
ただし、レンタルサーバーでJavaに対応したものは少なく、個人で開発する場合はサーバー知識も必要となりそうですね。
スマホのアプリ開発について
Androidのアプリ開発はもちろん、iPhoneアプリもJavaで開発できます。Web、Android、iOS、すべてのアプリを統一した言語で開発できるって、すごいですね。
先ほどのWebアプリに比べると作成手順の本やガイドも充実し、サーバー環境もGoogle社やApple社にお任せできますので、Java初心者でも比較的開発しやすい環境です。
ただし、アプリ開発にはJava以外に xmlやデータベースの知識が必要となります。
Javaの求人は?
将来的にJavaを使って社会に貢献したい!いい環境で安定的に働きたい!と考えている方も多いと思います。参考までに現在のJava求人状況をまとめました。
求人数
まずはJavaエンジニアの求人状況をご参考下さい。参考までにJavaの次に求人が多いと言われるPHPと比較してみました。
■Javaで就職・転職する場合■
求人案件の比較 | Java | PHP |
indeed | 38,488 | 22,903 |
DODA | 1479 | 908 |
リクナビ | 903 | 435 |
マイナビ転職 | 1679 | 838 |
Wantedly | 2023 | 2220 |
■Javaでフリーランスする場合■
案件数の比較 | Java | PHP |
クラウドワークス | 39 | 83 |
ランサーズ | 15 | 35 |
Upwork | 1713 | 7204 |
就職する場合には、圧倒的にJavaの求人が多く、豊富な選択肢から勤務先を選択することが可能です。 一方、フリーランスの場合は国内外共にPHPの方が案件多数です。 これはWordPressが関係していて、ページデザインやプラグイン開発など、開発全体からみると部品的な案件が多く掲載されていました。
年収
Javaエンジニアの年収は扱う部門によって異なりますが、国内の平均年収は 500-700万円と言われています。金融やインフラ系の責任の大きい仕事については、1,400万円〜2,000万円もらう方もいたり、また逆にJavaを勉強したばかりの方を対象とした案件も存在。
つまりJavaに対する求人は、間口が広く(初心者歓迎)、奥の深い(シニアレベル)構造となっており、自分の努力次第で好条件の仕事に就くことが期待できます。
実例
実際に公開されているJavanエンジニアの求人を少しご紹介します。
初任給 184,800円~237,000円
内容 自動車用Linux/Android活用ソフトウェア開発
(リクナビネクストより)
Javaは難しいのか?
Javaは、「PHPやRuby、JavaScriptに比べて難しい」とイメージされている方もいらっしゃると思います。 確かに参考書は、PHPやRubyに比べるとぶ厚いですが、実際の難易度としてはどうでしょうか。 PHPコードとJavaScriptコードの2つとJavaを比較して、確認してみます。
■JavaとPHPのコード比較■
配列コード
Java
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
}
}
PHP
<?php
$myList = array("1.9", "2.9", "3.4","3.5");
$arrlength = count($myList);
for($x = 0; $x < $arrlength; $x++) {
echo $myList[$x];
}
?>
■JavaとJavaScriptのコード比較■
テトリスゲームのコード
Java
すこし長いのでご興味のある方は、コードをダウンロードして確認して下さい。
http://bitcoin-with.com/codecamp/Tetris.java
JavaScript
すこし長いのでご興味のある方は、コードをダウンロードして確認して下さい。
https://github.com/jakesgordon/javascript-tetris
\エンジニア最強言語のJavaスキルが身に付く/
まとめ
今回Javaの学習前に知っておきたいことをご紹介しましたが、やっぱり実際にコードを書いてみて、Javaを動かしてみることをオススメします。 私自身本稿の作成にあたって、はじめてJavaのCMSをいくつか試しましたが、インストールしただけで既に整っているデザイン、機能に驚きました。 やってみないとわからないこと、感じられないことも多いので、まずは本や学習サイトからはじめてみるといいかもしれません。
仕事の関係で時間がない方や「自習では正しく身につくか不安」という方は、CodeCampいかがでしょうか? CodeCamp社が提供する「オンラインのマンツーマン・レッスン」という未体験の学習スタイルは、無料レッスンで体験することができます。
*冒頭のJava求人数、社会的信頼性、汎用性、将来性、学習環境に関する引用データ
就転職サイト indeeed、
バーレーン政府、
オラクル、
RINF Tech、
プログラミング学習サービス比較
- この記事を書いた人
- オシママサラ