Javaを独学で勉強したい人が見ておくべき5つの項目



Javaを独学で勉強したい人が見ておくべき5つの項目

求人数、社会的信頼性、汎用性、将来性、学習環境、どれをとってもトップクラスの Java*。 HTMLやCSSが一段落したあなた、Java はじめてみませんか?

今回は、プログラミング初心者の方でもスムーズにJavaワールドに入れるように情報を整理してみました。

Java学習をはじめる前の参考資料としてご参考下さい。 image

目次
  1. Javaとは何か?
  2. Javaの概要
  3. Javaで作られているモノやサービス
  4. Javaを学ぶ事で得られるメリット
  5. Javaの学習方法とは?
  6. Javaの学習サイト
  7. Javaを学べる本
  8. 学習時間は?
  9. Javaを使ったアプリ開発について
  10. Webアプリ開発について
  11. スマホのアプリ開発について
  12. Javaの求人は?
  13. 求人数
  14. 年収
  15. 実例
  16. Javaは難しいのか?
  17. まとめ

Javaとは何か?

image はじめての方でも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の方がシンプルなインストールで、豊富な機能を備えていることに気付きます。

■PHPベースのCMSとJavaベースのCMS比較■
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

image

画像出典:Progate

学んで・書いて・試せるProgateでは、5つのJava学習コースを用意。5つの内最初の2コースを無料で利用でき、後の3コースは有料となります。本などでJavaの基礎を学んだ後の確認や復習として役立ちますね。

  • 料金/無料もしくは月980円(税込)
  • 受講体系/オンライン学習&コーディングの自習スタイル
  • 特徴/オンライン上でJavaの学習環境を構築しているため、即Javaプログラミングに取り掛かれる。

Udacity

image

画像出典:Udacity

こちらは英語の学習サイトですが、動画を見ながら落ち着いて学習を進めることができます。特徴的な点は、参考書などで紹介される目次内容(演算や配列、オブジェクト指向など)とは逆のパターンでレッスンが進められることです。 「Javaってなんだ?」という方におすすめですね。

  • 料金/無料もしくは $199/月
  • 受講体系/無料版は、オンラインビデオとクイズ形式の自習スタイル。有料版は無料版にメンター相談が加わる内容。
  • 特徴/HTML/CSS、Java以外にも、VRやAR、自動運転技術など多様なコース設定。独自の学習終了証を発行可能。

ドットインストール

image

画像出典:ドットインストール

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を使ったアプリ開発について

image 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の求人は?

image 将来的に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エンジニアの求人を少しご紹介します。

JAVA・PHPシステム開発◆渋谷開発室.未経験可◆
時間外 月平均10時間
賃金 250,000円~480,000円
内容 新規システム開発
ハローワークより

クルマの未来を支える 組込ソフトウェアエンジニア◆業界未経験者歓迎◆
初任給 184,800円~237,000円
内容  自動車用Linux/Android活用ソフトウェア開発
リクナビネクストより

参考記事:みんな気になる!Javaエンジニアの年収はいくら?

参考記事:PHPエンジニアの年収って?エンジニア平均的も実際は?

Javaは難しいのか?

image 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のCMSをいくつか試しましたが、インストールしただけで既に整っているデザイン、機能に驚きました。 やってみないとわからないこと、感じられないことも多いので、まずは本や学習サイトからはじめてみるといいかもしれません。

仕事の関係で時間がない方や「自習では正しく身につくか不安」という方は、CodeCampいかがでしょうか? CodeCamp社が提供する「オンラインのマンツーマン・レッスン」という未体験の学習スタイルは、無料レッスンで体験することができます。

image

*冒頭のJava求人数、社会的信頼性、汎用性、将来性、学習環境に関する引用データ
就転職サイト indeeedバーレーン政府オラクルRINF Techプログラミング学習サービス比較

オシママサラ
この記事を書いた人
オシママサラ
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp