crruculums_java_0

Java入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】

「Javaってなに?どんなことが出来て、どんなモノが作れるの?」
「どの教材を使えばいいの?どうやって学習すればいいの?」
「どうやったらアプリ作れるの?」

多くのJava入門者からそんな声をよく聞きます。

Javaを習得すれば、「Twitter」「Evernote」といったWEBサービスはもちろん、「三菱東京UFJ銀行」でも採用されるような大規模金融システム、さらには近年急速に需要を伸ばす「Androidアプリ」まで幅広くいろいろなモノを作れるようになります。

↓Javaで作れるモノ↓

twitter

shutterstock_429081025

shutterstock_337316813

shutterstock_182053310

しかし、実際にJavaを学ぼうとした場合、どこから手を付けて、どうやって学習していけば効率が良いのか、1人で答えにたどり着ける人は殆どいません。

その原因は、「基礎学習〜アプリ開発〜仕事獲得」までを、体系的にまとめている記事や書籍が存在しないからです。

そこでこの記事では、これまでプログラミングを全く触れたことのないJava入門者でも、0から基礎学習を学び、実際にアプリ開発をし、さらには仕事獲得するところまでのノウハウを1つにまとめました。

この記事の解説通りに学習を進めていけば、つまづくことなくJavaを習得することができるでしょう。

カリキュラムの読み方

この記事はプログラミング入門者が最速でJava基礎学習を終え、アプリ開発するところまでのノウハウをまとめた内容になってます。

既に学習を始めている方からすれば、常識的なことも書いてあります。そのため、以下のことを意識してお読みください。

  • 既に学習をスタートされている方は「目次」を活用し、読む必要がないところは飛ばしてください
  • 各Stepの内容はそれぞれ詳細記事が御座いますので、より詳しく知りたい場合はそちらをご覧ください

Step1. Javaについて知る

crruculums_java_4

まずはJavaについて知りましょう。

数あるプログラミング言語の中で、Javaにはどんな特徴や特性があるのでしょうか。またどんな「モノ」が作れ、どんなことができるのかを知ることも学ぶモチベーションを保つ上で非常に重要なことです。

Javaにまつわる概要はこのStepで全て把握することができるますので、しっかりと目を通しましょう。

Javaとは何か

> 【5分でわかる】Java言語とは?特徴や使い道・作れるものなどを簡単解説!

Javaを学ぶメリットとは何か

> 【入門者必見】Javaを学ぶメリットやできることなどを簡単解説!

Step2. Java基礎学習

crruculums_java_1

Javaの概要を抑えたら、早速基礎学習に取り掛かりましょう。

Javaは汎用性が高い分、初心者には少しハードルの高いプログラミング言語と言われています。まずは、動画学習サイトを利用し、文法や作法を学びましょう。

Javaの学習に入る前に知りたいこと

> JavaとC言語、プログラミング初心者にオススメできない7つの理由
> SwiftとJava、どっちを勉強すべき?あらゆる角度から徹底比較してみた
> PHPとJavaを徹底比較!結局どっちを勉強すればいいの?
> 【Java勉強法】初心者から独学でJavaを習得するための最強8ステップ!

Javaの基礎を学ぼう

> 【勉強法全まとめ】Java初心者に絶対おすすめな本・学習サイトなど厳選19選!
> 【入門者必見】Javaのチュートリアルサイト厳選7選〜レベル別〜
> 【10分でわかる】Javaにおけるオブジェクト指向を徹底解説
> 【完全保存版】Javaおすすめ入門書籍10選
> 【保存版】Java学習本をレベル分け!初級、中級、上級全6冊

Step3. Javaアプリ開発

crruculums_java_2

Java基礎学習を終えたら、アプリ開発をしていきましょう。

入門者がいきなりオリジナルのアプリ開発をするのは得策ではないです。

まずは作りたい「モノ」から、学ぶべきことを逆算し、サンプルアプリ作成をしていきましょう。

「作りたいもの」で学習内容を決める

> Javaで作れるモノとその事例まとめ【WEBアプリ/PCアプリ/Android】

WEBアプリ開発学習について

> JavaでWEBアプリ開発したい人におすすめの入門書5選
> JavaでWEBアプリ開発始めるなら絶対目を通したい良記事6選
> 【Javaフレームワーク徹底比較】2016年おすすめランキングTop3
> 【5分でわかる】Javaフレームワーク「Spring Framework」とは
> 2016年最新!Spring Frameworkおすすめ入門書籍厳選3選
> Javaの常識を変えたフレームワーク「Play Framework」とは?
> 2016年最新!Play Frameworkおすすめ入門書籍厳選3選!
> Java Servlet(サーブレット)とは?超初心者向けに優しく解説

Androidアプリ開発について

> Androidアプリ開発入門完全攻略ガイド【サイト/本/開発環境】
> Android開発環境構築サイトまとめ!Windows、Mac、Linux別
> 【最速入門】AndroidStudioとは?どこよりもわかりやすく解説
> 【超初心者必見】Androidゲーム開発の入門方法まとめ
> Android開発・編集ならこれで決まり!おすすめテキストエディタ4選
> 【超初心者向け】スマホアプリ開発おすすめ本10選
> 超初心者向け!Androidアプリ開発におすすめな入門サイト厳選3選

ゲーム開発について

> 【完全保存版】Javaゲームプログラミング入門書籍5選

Step4. Java仕事獲得

crruculums_java_3
サンプルアプリ、もしくはオリジナルアプリ開発までできたら、次は仕事獲得です。

プログラミングは、実際に現場に出て、仕事として使うことで本物のスキルになります。

未経験でかつプログラミング初心者でも、独立することは不可能ではありません。なぜ可能で、どのようにして仕事を獲得すれば良いか、その方法をしっかりと学びましょう。

Javaエンジニアの年収と上げ方

> Javaエンジニアの年収は?安定している3つの理由や将来性を徹底解説!
> 【徹底解説】Java資格の種類や難易度、おすすめ書籍3選

Javaエンジニアとして仕事獲得する心構え

> 文系でも大丈夫!未経験エンジニアが転職に成功した3つの理由
> 転職するならエンジニア!5つの自由を手にするライフスタイル
> フリーランスエンジニアが熱い!あなたの夢が叶う7つの理由

Javaエンジニアの仕事獲得方法

> 【未経験者必見】0からフリーランスエンジニアへ!独立への侍式3ステップ
> 未経験エンジニア必見!あなたの望みを叶える転職サイト3選
> 未経験エンジニアでも仕事獲得!クラウドソーシング活用術を徹底解説
> 【未経験エンジニア必見!】転職活動を成功させる5つの法則

Javaの文法を学ぶ

Javaがどんな言語が知ったら今度はJavaを使ってプログラミングしてみましょう!

Java言語には「型」という考え方が存在しています。
この型について知らなければJava言語を扱うことができません。

次の記事を見ることで型について学ぶことができます。

ここからは型についての応用的な内容になるためすぐに理解する必要はありません。
もし読んでみてわからなければ次の章へ進んで学んでいきましょう。

そして、Java言語に慣れてきた段階でこの記事を読み返してみましょう。

【Java入門】ラッパークラスの使い方(Integer)

【Java入門】キャスト(型変換)の使い方

変数

型を学んだら学んだことを早速活かしてみましょう。

次に学習するのは「変数」です。

変数はよく物を入れる箱に例えられます。

この変数についてもプログラミングの基本的な考え方になるのでしっかり見て学習しましょう!

演算子

変数は使えるようになりましたか?

変数の次には「演算子」を学んでみましょう。

演算子を扱うことが出来るようになれば、計算式を書いたり値を比べたりすることができるようになります。

次の記事は基本的に押さえておきたい演算子の記事です。
まずはこの記事を見て確実に学んでいきましょう!

いかがですか?理解できましたか?

演算子がいっぱいあるということに驚いたかと思います。

ですが、実際にプログラミングをしていく上で必要なことですので根気よく覚えていきましょう。

次に、三項演算子という特殊な演算子について解説します。

この三項演算子は最初のうちは理解できなくても大丈夫です。

【Java入門】if文を省略した条件演算子(三項演算子)の使い方

読んでみて難しいようであれば読み飛ばしある程度Java言語に慣れてから読み直してみましょう。

条件分岐

条件分岐という難しい言葉がでてきました。

一言で簡単にいえば「ある条件で処理を分ける」という意味です。

この条件分岐では先程学んだ演算子も必要になってきます。

しっかり復習しつつ、基本的な条件分岐の方法である「if」について学びましょう。

ifを知ることでプログラムに幅をもたせることが出来るようになったかと思います。

さらにさらに、変数などの値が◯◯のときに幾つかの処理にわけたいとなった場合はどうすればいいでしょうか?

if ~ elseを書き続けていくという方法でもいいでしょう。

しかし、もっと見やすい方法で書くことができるんです!

それがswitchという命令です。このswitchを使うことでより簡単に処理を書くことができますよ!

繰り返し

今度は「繰り返し処理」について見てみましょう。

繰り返し処理とはその名前の通り、何回も同じ処理を繰り返したい時に使います。

まず、基本的な繰り返し処理について見てみましょう。
いくつか書き方があります。

いかがでしょうか?

少しむずかしいところもあったかと思います。

一度にすべて理解しようとせず少しずつ使いながら覚えていきましょう。

もし途中で繰り返し(ループ)処理を飛ばしたい、終了したいという処理を書きたい場合は「continue」「break」を使うと良いでしょう。

「continue」や「break」については次の記事で丁寧に解説しています。

これらを使えるようになって繰り返し処理を自由自在に使えるようになりましょう!

また繰り返し処理は先程学んだ条件分岐とも相性がよく組み合わせることで複雑な処理を作ることもできます。

少しずつ試しながら学んでいけるといいですね。

文字列を知る

まずStringクラスについて何かを学びましょう。

文字列とは「文字」が繋がったものを文字列と呼びます。
そして、Stringクラスは「文字列」を扱うためのクラスです。

Stringクラスと文字列について学ぶには次の記事を見ることでマスターすることができますよ!

次の記事からは文字列を使った「操作」を解説する記事です。

興味のある記事は積極的に見てみましょう!

操作

【5分でわかる】Java言語の文字列比較(equals)をわかりやすく解説!

【Java入門】Stringの結合方法まとめ

【5分で解決】Javaで文字を分割する方法(split)をわかりやすくまとめた

【Java入門】String型の文字列からtrimで空白を削除する方法

【5分で理解】JavaのString.formatの使い方まとめ

正規表現・置換・チェック

【Javaで正規表現】文字列をチェックするパターンの書き方とサンプル

【Java入門】Stringのmatches使い方まとめ

【7分で理解】Java言語で文字列の置換方法(replace系)をわかりやすく解説

【5分でわかる】Java言語でsubstringを使って文字列を抽出する方法

文字列から◯◯へ変換、◯◯から文字へ変換

【3分でわかる】Javaの文字列をint型に変換する方法

【Java入門】Stringの変換方法まとめ

【Java入門】文字コードの変換と判定をする方法

配列

配列変数は「変数」を繋げて各変数に番号で名前をつけたものをイメージしてもらうと分かりやすいと思います。

変数と同様、配列変数もとても重要な要素ですので次の記事を見て徹底的に学習してみましょう!

宣言・初期化

【3分でわかる】配列の初期化を短時間でわかりやすく解説!

【Java】配列の宣言についてを3分で理解!

要素数

【5分でわかる】Java言語で配列やArrayListの要素数を知る方法をわかりやすく解説

追加・操作

【5分でわかる】Javaで配列に値を追加する方法をわかりやすく解説

【3分でわかる】Java言語で配列をコピーする方法をわかりやすく解説

【わかりやすく解説!】Java言語で配列をソートする方法をまとめてみた

【Java】わかりやすい!配列とListの変換まとめ

【4分で分かる】Java言語で配列を結合する方法(一つにまとめる)を見やすくまとめてみた

List

前の章では配列について学びました。
しかし、Javaでは配列よりもListが便利でよく使われています。

配列は少々、不便な部分もありより柔軟に使えるListを覚えることで簡単に処理が書ける場合があります。

このListの使い方についてもマスターしておかなければならないでしょう。

まずどうやってListを扱うのかが分かって頂けたのではないかと思います。

そしてListにはいくつもの種類があります。
そのListの種類の中でArrayListというものがあります。

このArrayListについて学んでおきましょう。

ここまで来たらListの導入は終わりです。

次に実際に使ってどのくらい便利なのかを学んでみましょう!

Listには便利機能がいくつもあることがわかりました。

次の部分についても気になるようであれば見ておくのが良いかと思います。

【わかりやすく解説!】Java言語で配列をソートする方法をまとめてみた

【3分Java入門】2つのListを比較しデータを抽出する方法

【3分Java入門】ListのindexOfの使い方をわかりやすく解説

必ず将来役に立つ情報が書いてあると思いますよ!

Map

次にMapについて学んでいきましょう。

Mapは配列やListに似た形のデータを保持する仕組みになっています。

しかし、配列やListと大きく違うのは各値に対して「キー」と呼ばれる名前をつけることが出来るところです。

まだこの説明だけでは良くわからないですよね。

次の記事で学習してみましょう!

いかがですか?配列やListとはちょっと違った使い方でしたよね?

このMapも使いこなせれば非常に素晴らしい武器となります。

ぜひ使いこなしたいですね。

次の記事は応用的な内容になるためMapの基礎が十分理解できていないといけません。

また内容が今の段階で理解できなくても構いません。

使いながら将来的に覚えていけるといいですね。

【5分でJava入門】MapとIteratorでループ処理まとめ

【Java入門】Mapのソート方法(key,value)

ファイル処理

続いてはファイル処理についてです。

Javaでファイルを作成したりファイルを読み込んだりしたい場合、専用の処理が用意されています。

その専用の処理を使うことで簡単にファイルの作成や読み込みを行うことができます。

まずFileクラスというものについて見てみましょう。

上記の記事を見ることで一通りのファイルの処理について知ることが出来たと思います。

この記事について読んでいない方は興味のある記事をピックアップして読み進めていくと良いかと思います。

【Java入門】Fileで作成する方法まとめ

【Java入門】ファイルを読み込む方法総まとめ

【Java入門】Fileの書き込み方法まとめ

【Java入門】Fileのコピー方法まとめ

【Java入門】Fileのさまざまな削除方法まとめ

【Java入門】フォルダを作成する方法(java.nio.file)

【Java入門】FileOutputStreamの使い方

この章ではファイル処理について解説をしました。

徐々にできる事が広がってきましたよね。
次の章では時刻・日時について解説をします。

時刻・日時

この章では時刻や日時について扱います。

まず日付について扱うにはCalendarクラスというものを使います。

Calendarクラスを使うことで年・月・日についての処理をすることが可能です。
今の段階ではまだ良くわからないかと思いますが次の記事を見てみましょう。

いかがでしょうか?日付について扱えるようになりましたか?
理解できたら次の日時の処理について学んでみましょう!

日時の処理ではDateクラスを使います。

このDateクラスを使うことで日時の処理ができるようになります。

次の記事についてはDateクラスを使った応用的な内容になります。
難しい部分もあるかもしれません。
無理をして理解をしないでとりあえず読み進めていきましょう。

【Java入門】Dateのフォーマット設定方法
【Java入門】Dateクラスで日付の比較(compare)まとめ
【Java入門】Date型の使い方(フォーマット・比較)

計算・数学系

次は使いこなせると便利ですが少しむずかしい数学・計算系の処理について学びましょう。

この章についても難しいと感じたら読み進めてJavaに慣れてきた頃に再度読んでみましょう!

次の記事では乱数について扱います。
この乱数を使うことでランダムな数を取得することができます。

この章では数学・計算系についての記事について触れました。

クラス

この章ではクラスについて学びます。

クラスはJava言語を扱う上で重要な機能です。

Javaはオブジェクト指向という考え方を導入しておりそのオブジェクト指向という考え方を学ぶ上で重要な機能がクラスとなります。

少々難しいと思いますが、これらの考え方、使い方は把握しておきましょう。
また、わからなと思ったらプログラムを実際に打って少し変更したりしてみましょう。

次の記事はさらにクラスの機能を掘り下げたことを解説してあります。

【Java入門】thisとは? thisの意味と使い方を解説

【Java入門】アクセス修飾子の使い方(protected)

【Java入門】抽象クラスの使い方(abstract)

【Java入門】static変数の使い方

【Java入門】superの使い方まとめ

これらも実際にJavaを扱う上では必要になりますのでゆっくりで構いません。
しっかり学んでものにしていきましょう!

メソッド

クラスには「メソッド」という機能が存在しています。

メソッドはクラスにある機能をもたせることができます。

もたせた機能はインスタンス化という作業を行うことで使うようになります。

いきなり難しい言葉が出てきてしまいましたが、まずは次の記事を見て学びましょう。

さらに次の記事では応用的な内容について解説をしています。
この内容を読むことでより深くメソッドについて知ることができるので学んでおきましょう!

【Java入門】オーバーライドの使い方

【Java入門】クラス名とメソッド名を取得する方法

【Java入門】メソッドに引数を使って値を渡す方法

徐々に難しくなってきていますよね?

一度読んだだけではわからないことも多いですし、まずはサンプルコードを手打ちしながら動かしてみてその後にいろいろ変更してみると見えてくるものがあるかもしれません。

Enum・final・static

この章については定数や特殊な修飾子について学んでいきます

まず、Enumは列挙型とよばれる特殊な型です。

とても簡単に表現すると数値や文字などに名前をつけてプログラム内で使うことができます。

また応用的な使い方をすることで複雑な処理もかけたりしますが、まずは基本的な使い方だけ覚えてみましょう。

次にfinalについて触れておきます。
定数とは少し違うのですがクラス、メソッド、変数につけることができます。
変数につけることで定数のような意味をもたせることができます。

次の記事ではクラスとメソッドにfinalをつけた場合にどのような動きをするのかがわかりやすく解説してあります。

見て学びましょう!

そして最後にstaticについて見ておきましょう。
staticをつけることで通常の変数やメソッドと少し違う仕組みになります。

どのように違うのか、次の記事を見て学んでいきましょう!

staticもとても大切な修飾子です。
しっかり学んでおいてくださいね。

Interface(インタフェース)

インタフェースは一見するとクラスのような存在に見えます。

しかし、クラスとは違いメソッドの処理を後から書くことを前提とした機能です。
メソッドの名前とどういった引数・戻り値で処理を行うのかを決定しておき必要な時に中身を追加するという特殊な機能です。

インタフェースもJavaではよく見る機能の一つですのでしっかり勉強しましょう。

例外

続いては例外についてです。
例外とはまさしく字の通り、処理中に何らかの問題が起きた時に「例外として別の処理を行いなさい」という処理の振り分けができる機能です。

この例外処理もよくみるので使い方を覚えて使えるようにしておきましょう!

基本的な内容はわかりましたか?
次にthrowsを使うことで呼び出された元のメソッドに対して例外を発生させることができます。
どうやって発生させるのか、次の記事を見てみましょう。

いかがでしょうか。これらの例外処理を上手く使いこなせるようになりましょう!

~応用編~ 正規表現

ここからは応用編に入ります。応用編ではより難しい内容についてわかりやすく解説していきます。

実践で必要になってくるであろう各項目について解説をしているので学んでいきましょう。

正規表現とは特定の文字の組み合わせで対象となる文字列を操作することです。

この言葉だけを見ると難しいですよね。

正規表現は使えるようになると、とても頼もしい武器になりますが複雑でもあるためとっつきにくい面もあります。

実践を交えた解説をしているのでぜひ、見て学びましょう!

~応用編~ compareTo

【Java入門】compareToで大小を比較をする方法総まとめ

~応用編~ equals

【Java入門】equalsメソッドで比較をする方法総まとめ

~応用編~ ラムダ式

【Java入門】ラムダ式の使い方

~応用編~ indexOf

【3分Java入門】ListのindexOfの使い方をわかりやすく解説

~応用編~ valueOf

【Java入門】String型へ変換する方法(valueOf)

~応用編~ アノテーション

【Java入門】アノテーションの使い方と作成する方法

~応用編~ ジェネリクス

【Java入門】ジェネリクス(総称型)の使い方

~応用編~ Thtread(スレッド)

【Java入門】マルチスレッド(Threadクラス)の使い方総まとめ

~番外編~ Java8

ここからは番外編に入ります。

少しむずかしい内容や深掘りした内容が書いてあるので最初のうちは理解できなくても構いません。

ここを理解するよりもまず、Java言語でアプリケーションを作ってみることの方を優先しましょう。

ある程度アプリケーションを作っていく中でもっとこういう風にできないか、といった願望が出てきます。

そういった時に次の記事を参考にしてみると良いかと思います。

【10分でわかる】Java8の新機能を初心者向けにわかりやすく解説

~番外編~ JVM

【Java入門】JVMの役割から設定まで総まとめ

~番外編~ JavaEE

【Java入門】Java EEとは?

まとめ

いかがでしたでしょうか?

Java習得への道筋はイメージできましたでしょうか?

簡単な道のりではありませんが、Javaは2016年現在、まだまだ多くの需要があるプログラミング言語です。

この記事をきっかけに1人でも多くの方がJavaを習得していただければと思います。

最短でJavaを習得したい方へ

もし、あなたが、

「難しすぎて学習が全然進まない」
「学習量が膨大でゴールが見えない」
「エラーを解決するのに何日もかかってしまう」

など、プログラミング学習やキャリアに関してお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_bannar-java2

LINEで送る
Pocket