- 更新日: 2017年05月31日
- 公開日: 2017年05月22日
【5分でわかるJava入門】押さえておきたい9個のポイント
「プログラミングを本気で身につけたい」「HTMLを習得したので次のステップに進みたい」という方は、どの言語を学習しようか悩むものですよね。そんな時におすすめの言語の1つが「Java」です。
日本のみならず世界でも人気があり、世界のプログラミング言語ランキングではたびたび1位を獲得(参考:100 Most Popular Programming Languages Of 2017)。日本国内の利用者数や求人数も多く、就職のことを考えても習得して損はない言語です。
HTML/CSSを習得後や、プログラミングが初めてのの人にはハードルが高いように感じることが多く、挫折してしまう人は少なくないようです。
そこでJava初心者の皆様向けに、学習の助けとなる記事や書籍、学習サイトやスクール、その他情報を徹底的にまとめました。
- Javaとはそもそも何か?
- JavaとPHPの違い
- Javaのインストール手順とは?
- Javaで必要となる用語と基礎知識を知る
- オブジェクト指向
- クラス
- ライブラリ
- プラットフォームに依存しない
- Javaでつまづきやすいポイント
- 演算子
- 配列
- 正規表現
- Javaの資格について
- Javaの学習書籍について
- スッキリわかるJava入門 第2版
- やさしいJava 第6版
- その他
- Javaを学習できるサイトについて知る
- 動画で学ぶ「ドットインストール」
- わかりやすい説明がイイ「JavaDrive」
- 「マンガで分かる Java入門講座」
- 穴埋め問題でサクサク進む「CODEPREP」
- スライドと演習問題「Progate」
- Javaを学べるスクールについて
- オンラインでエンジニア講師に教わる「CodeCamp」
- 通学してマンツーマンレッスン「KENスクール」
- まとめ
Javaとはそもそも何か?
Javaは、後ほど詳しく説明しますが、オブジェクト指向プログラミング言語の一つです。Javaというと通常言語自体を指しますが、広い意味では実行環境や開発環境を含むこともあります。
WebサービスやAndroidアプリといったように、プラットフォーム(※)を選ばないのが特長。技術的な利点のみならず、パッケージソフトや業務システム、ゲームなど様々な業界で活躍できる可能性があるのが魅力的な言語です。
またプログラミング学習においては、HTMLやCSSなどに比べると少々ハードルが高いように感じるかもしれませんが、実は利用者数が多い=情報が豊富という点を考えると、学びやすい言語でもあります。
※プラットフォーム:コンピューターにおける、OSやハードウェアといった基礎部分のこと。プラットフォームを選ばない=WindowsやMac,LinuxなどのOS、PCやスマートフォンなどのハードウェアを選ばない という意味
<関連記事>
JavaとPHPの違い
ここでHTML/CSSの習得後や初めてのプログラミングに適しているJavaとPHPの違いを詳しくご説明します。
Javaは、先程より詳しく説明すると現在においても多くのシステムに利用され、Androidアプリの開発にも使われている言語です。身近なところで「Twitter」がJavaを使って開発されています。
大きな所では銀行のATMシステムなどにも利用されるほど幅広く使われており、信頼されている言語の1つです。小さなアプリから銀行といった大きなところまで利用されているため、Javaの求人は耐えません。
対してPHPはWebアプリケーションに多く利用され、動的なWebページを作る際、頻繁に使用されます。有名なところでは「facebook」や「Yahoo」などにも使われており、「WordPress」というシステムを使ったサイト運営には必須で利用されます。
企業が自社サイトをWordPressで制作することも増えるにつれ、Web業界では需要が年々高まってきている言語です。
Javaのインストール手順とは?
Java開発には「JDK(Java Development Kit)」のインストールが必要です。JDKとは、Javaによる開発に最低限必要なツールが含まれたソフトウェア開発キットです。Oracle社により無償でリリースされています。
さらに開発を便利にするのが「統合開発環境(IDE)」です。コンパイラやデバッガなどの基本的なツールを始め、エディタや支援機能といったツールをまとめて提供する開発環境のことを「統合開発環境(IDE)」といいます。厳密には必要ではありませんが開発効率の向上が見込めるので、あると便利です。
詳しいインストールの方法はこちら Javaの環境構築方法【Windows編】
Javaで必要となる用語と基礎知識を知る
Javaに必要な基礎知識を簡単にご紹介します。
オブジェクト指向
オブジェクト指向とは、一言で言ってしまえば「プログラムの作り方の1つ」です。かつてプログラムといえば、記述された順に上から実行していくというものでした。徐々にコンピューターの性能がよくなっていくと、大規模なソフトウェアが作られるようになります。しかし技術の進歩の反面、開発コストの上昇が問題視されるようになりました。
そこでプログラムの再利用、部品化といったように、既存技術の流用や応用が意識されるようになります。時が経つに従って、内部のプログラムを把握しなくても使えるような仕組みが求められました。
オブジェクト指向はその最たるもので、データの定義やメソッドがひとつの「モノ」にまとめられ、再利用や応用(継承)がしやすい言語という特徴があります。 「どのような特徴を備えていればオブジェクト指向プログラミング言語といえるのか」については現在でも様々な定義があり、議論がなされています。
クラス
Javaは「クラス」という単位(クラスベース)のオブジェクト指向プログラミング言語です。
クラスには
- フィールド(データ)
- メソッド(振る舞い、処理)
が含まれています。
クラスはいわば設計図のようなもので、そのままでは使用できません。クラスを使うには実体である「インスタンス」を生成する(インスタンス化)という作業が必要になります。このインスタンスに、実際の値を挿入したり、処理を実行させたりします。
このJavaの「クラスベース」には
- 継承:既存クラスを利用して新しいクラスを作ることができる。すなわち再利用、流用が可能
- カプセル化:情報の隠蔽ができる。内部のデータを変更させないようにできる
などの利点があります。
ライブラリ
よく使われる機能の集まりを「ライブラリ」と言います。Java SEには標準ライブラリが豊富に備えられています。ライブラリが備わっていることにより、プログラム作成が容易になります。特に様々な能力のメンバーがいる開発チームでは、効果を発揮することでしょう。
プラットフォームに依存しない
Javaは「Write once, run anywhere(一度書けばどこでも実行)」という理念のもと作られました。この理念を実現する機能のひとつが、Java仮想マシン(Java VM)です。Javaのプログラムは、コンパイルという工程を経て、バイトコード(仮想マシンが理解するコード)を持つ実行ファイルになります。実行ファイルは仮想マシンで動きます。
この仮想マシンが実行環境に合わせてコードを変換してくれるので、PCやスマートフォン、OSに関わらずプログラムが動くという仕組みになっています。 (ただし多少?の修正作業は必要です)
Javaでつまづきやすいポイント
Javaのみならずプログラミング学習においては、残念ながらつまずきやすいポイントがいくつか存在します。
演算子
演算子とは、文字通り演算に使う記号のこと。たとえば加算や減算などの四則演算、値の比較、ANDやORといった論理に使う演算子などがあります。演算子はプログラミング言語によって異なるものがあるので、習得済みの他の言語と同じように使ってエラーになることがあるかもしれません。演算子の一部を列挙します。
演算子 | 例 | 意味 |
---|---|---|
+ | a + b | a に b を加える |
- | a - b | a から b を引く |
* | a * b | a に b をかける |
/ | a / b | a を b で割る |
% | a % b | a を b で割った余り |
++ | a++ または ++a | a = a + 1 を示す |
-- | a-- または --a | a = a - 1 を示す |
= | a = b | a に b を代入する |
+= | a += b | a = a + b を示す |
-= | a -= b | a = a - b を示す |
*= | a *= b | a = a * b を示す |
/= | a /= b | a = a / b を示す |
%= | a %= b | a = a % b を示す |
< | a < b | a は b よりも小さい |
<= | a <= b | a は b 以下 |
> | a > b | a は b よりも大きい |
>= | a > b | a は b 以上 |
== | a == b | a と b は等しい |
!= | a != b | a は b は等しくない |
&& | a && b | a も b も真のとき、真となる(論理積) |
|| | a || b | a か b の少なくともどちらか1つが真のとき、真となる(論理和) |
! | !a | a が真の場合に偽a が偽の場合、真となる |
配列
配列とは、同じ型のデータを複数格納する入れ物のことです。変数と同じように、値を代入したり参照したりします。変数には1つの値を持つのに対し、配列は複数の値を持つことができます。同じ"意味"を持つデータの集合と考えるとわかりやすいかもしれません。
Javaに限らずプログラミングで使う概念ではありますが、苦手意識を持ってしまう人もいるようです。 解説はこちら【超初心者向け】Java配列の使い方
正規表現
正規表現は、通常の文字 (a ~ z など) と、"メタキャラクタ" という特殊文字から構成される文字列のパターンです。メタキャラクタ(メタ文字)とは、「?」「*」「+」というような、その文字本来の意味とは異なり、プログラムで特別な意味を持たせた文字のことを指します。複雑な文字列に見えてしまうかもしれませんが、定められたルールがあるので、使用の都度確認しましょう。
<関連記事> Javaの正規表現の使い方
Javaの資格について
Javaのメジャーな資格には、「Oracle Certified Java Programmer」があります。大手ソフトウェア会社Oracle社による、Java SE 8(一部SE 7)を対象とした資格です。難易度によって3種類あり、Bronze→Silver→Goldの順に難易度が高くなります。
もうひとつの資格が、株式会社サーティファイによる認定資格「Javaプログラミング能力認定試験」です。難易度によって1級、2級、3級があります。
取得すれば一生安泰という資格ではありませんが、上司や採用担当者といった第三者からの客観的な評価を得るときに参考になることでしょう。
<関連記事> Javaにはどんな資格がある?初心から上級まで徹底解説!
Javaの学習書籍について
歴史の長いJavaだけあって、Javaに関する書籍は多数出版されています。特にJava初心者に読まれている書籍を一部ご紹介します。
スッキリわかるJava入門 第2版
画像出典:インプレスブックス 書籍紹介ページ
著:中山 清喬・国本 大悟
インプレスブックス
¥2,600+税
Javaプログラミングの「なぜ?」がわかる解説と約300点の豊富なイラストで、楽しく・詳しく・スッキリとマスターできる構成です。特にプログラミング学習でネックとなりがちな「開発環境の準備」と「多発するエラーへの対応」についてはこの本独自の特典があります。
やさしいJava 第6版
画像出典:SBクリエイティブ 書籍紹介ページ
著:高橋 麻奈
SBクリエイティブ
\2,580+税
Java入門書のベストセラー第6版。Java 8に対応しています。Javaプログラミングの基礎の一つ一つを丁寧に解説。基本文法からクラス、オブジェクト指向まで、しっかりと理解できる構成で、無理なく読み進められる書籍です。
その他
ほかにも、Javaに関する書籍は多数。
書籍によっては出版社の紹介ページや著者のサイトで数ページ立ち読みできたり、コンテンツが一部公開されたりしています。
ゲーム制作に特化した書籍もあります。
ゲーム制作を目指すなら、これらの書籍のほかに初心者向けの入門書も併用することをオススメします。
Javaを学習できるサイトについて知る
今では多くの学習サイトがリリースされ、無料、又は低額でJavaの学習をできるサイトが存在します。
動画で学ぶ「ドットインストール」
画像出典:公式サイト
「3分動画でマスター」と銘打つ、初心者向けのプログラミング学習サイトです。動画は1本3分程度で、講座ごとに連載本数は異なります。Javaに関しては、「Java 8 入門」(全43回のうち第5回まで無料)のほか、Javaを利用した「Androidアプリ開発入門」(全10回)などアプリ開発に関する動画もあります。
基本は無料ですが、月額980円のプレミアムサービスに申し込むと、中上級者向けの動画とテキスト、ソースコードを見ることができます。Javaを学習したことない人が、まずJavaのイメージを掴むのにぴったりです。
わかりやすい説明がイイ「JavaDrive」
画像出典:公式サイト
初心者に向けた学習サイトである「JavaDrive」。サイト内のコンテンツのひとつ「Java入門」では、Javaについて初心者向けに解説されています。プログラムの作成手順から用語の解説、実際に試せるサンプルコードまで丁寧に説明されており、入門編としては十分な範囲をカバー。
他にも「Android入門」や「Java正規表現の使い方」といったコンテンツが用意されており、一通り学んだ後の次のステップの学習ができます。
「マンガで分かる Java入門講座」
画像出典:公式サイト
漫画で学べるサイト「マンガPG」内に「マンガで分かる Java入門講座」があります。テーマごとに、漫画→解説と続く構成です(コラムだけのものもあります)。ゆるやかな雰囲気の漫画で心のハードルが下がる分、解説はしっかりと詳しく書かれています。2013年から作成されたもので、その後も随時更新されています。情報の鮮度に注意する必要はありますが、楽しく学習できそうです。
穴埋め問題でサクサク進む「CODEPREP」
2017年2月1日にリニューアルしたばかりの「CODEPREP」。サイト上で無料提供されるオンライン教材(ブック)で学習を進めます。Javaに関するコンテンツは「はじめてのJava」があります。解説とヒントを参考にしながら穴埋め形式でコードを入力し、テンポよく学習できる構成です。
内容は条件分岐や繰り返しといった基本的な処理の書き方から、メソッド定義まで。実際に手を動かして学習するので頭に入りやすく、特に入門レベルの人にオススメです。
スライドと演習問題「Progate」
画像出典:公式サイト
こちらはスライドでの学習です。スライドでの説明ののち、演習問題という流れになります。演習問題に正しく答えることができればLevelがアップ、学習へのモチベーションが高まります。サービスを利用しているユーザーのランキングがあるので、向上心を刺激されますよ。
無料会員なら各コースの初級・基礎的内容のレッスンのみが受講でき、有料会員(月額税込\980)となれば全コース、全レッスンが受けられるようになります。Javaに関するコースでも一部有料のレッスンもありますが、初級・基礎的内容であれば無料です。
プログラミングを学べるサイトもある ほかに、プログラミングを学べるサイトがいくつかあります。教科書のようにまとめられた基礎知識や、動画学習、講座をオンラインで提供しているサービスまでその内容はサイトによって特色があります。
<関連記事> 【超低価格で学べる】難易度別Javaを学習できるサイト12選
Javaを学べるスクールについて
書籍や無料学習サイトでの独学が難しいと感じたのであれば、有料スクールを検討してみるのはいかがでしょうか?
スクール選びのコツはこちら 知らないと損する!プログラミングスクール選びで失敗しない方法
たとえばこんなスクールがあります。
オンラインでエンジニア講師に教わる「CodeCamp」
画像出典:CodeCamp Javaマスター
CodeCampでは豊富な実戦経験を持つ現役エンジニアとのマンツーマンレッスンでプログラミングを学べます。オンラインで毎日7:00 ~ 24:00までレッスンを開講。忙しくてまとまった時間が取れなくても、どこにいてもネットワーク環境さえあれば、レッスンを受講することが可能。生徒の習得度に合わせて学習が進められるので効率的です。
「Javaマスター」コースでは、顧客情報管理や社員情報管理、商品情報管理のようなJavaのwebアプリケーションを開発できるようなスキルが身につきます。実際にJavaの最終課題では社員情報管理システムを開発するため、より実践的な技術習得を目指します。
プランは仕事や学業と両立したい方向きの「安心プラン」、週25時間以上学習時間を確保できる方向きの「スピードプラン」があります。
安心プラン | スピードプラン | |
---|---|---|
期間 | 6か月 ※レッスンは最大60回まで | 1か月 ※レッスンは最大30回まで |
受講料(税抜) | \298,000 | \148,000 |
通学してマンツーマンレッスン「KENスクール」
インストラクターが個別指導で対話しながら授業を進行するスタイルのスクールです。通学する必要がある代わりに、学習環境の無料開放、資格取得のためのサポート、キャリアコーディネーターによる就職支援制度といったサービスがあります。
- 場所:東京、神奈川、愛知、大阪 計6箇所(法人向けは札幌、福岡)
- コース一例:「Javaプログラマー養成コース」
期間:6か月(101時間)
受講料:\365,000(税抜)
\エンジニア最強言語のJavaスキルが身に付く/
まとめ
Java入門者が通るであろう情報をまとめてお伝えしました。Java習得の助けとなるコンテンツやサービスはたくさんあります。きっと苦労した分メリットは大きいはず。今躊躇している人、ぜひ一歩踏み出してチャレンジしてみてください!
自分に適切なJavaの学習を進められそうなサービスはありましたか?コードキャンプでは無料体験レッスンを行っています。自分にあったサービスを見つけるために、一度受けてみてはいかがでしょうか?
完全オンラインで7時から24時まで受けることが可能です。もし、プログラミング学習を諦める理由が「仕事帰りに通えない」や「地方だからいい先生がいるか不安」という理由でしたら、まだ諦めるのは早いです。
最終的にどこを選ぶかは別にして、是非一度体験してみてください。
- この記事を書いた人
- murase miho