プログラミング

【初心者必見】この記事だけで大丈夫!Java学習の全体像を抑えよう。

プログラミング
この記事は約13分で読めます。

Javaの学習をしたいけど、本を買うには高くて手が出せない… という人も多いのではないでしょうか?そうなんです。一般市場に売り出されている参考書はどれも高く、自分で購入するには少し勇気が要りますよね。そんな人たちのために本記事では、「Javaを学習する上で必要な項目と簡単な説明」をまとめました。ボリュームはありますが、この記事を制覇するだけで、Javaの基礎知識がつくと言っても過言ではないでしょう。ぜひ参考にしてみてくださいね!

Sponsored Links

本記事の使い方

書籍, 書店, 本, 読書, ライター, 読み取り, リーダー, 色, シェルフ, 教育, ライブラリ, 知識

まず、本記事の使い方を説明していきます。Javaを全く触ったことのない初心者向けの利用方法です!

① 本記事を上から下まで軽く読む(関連リンクは読まない)
② 再度上から読み、関連するリンクに飛んでさらに詳しい内容を知る。(関連リンクの内容はさらっと読み、わからない単語があっても調べない)
③ 再再度度上から読み、関連するリンクに飛んでさらに詳しい内容を知る。(関連リンクを詳しく読み、わからない単語は調べる(おそらくわからない単語はこの地点でないはず))
④ ①②③を終えた暁にはJavaマスターに!

いきなりですが、コードを見てみましょう。(あくまでもサンプルなので、処理内容に目的はありません。)

public class Super {  //処理内容を記述 }  public class Sample extends Super {   String name;  int score_1 = 20;  int score_2 = 3*20;  List<String> list = new ArrayList<>();

 public int Sample() {
  try{
   if(score_2 == 60) {
    return this.score_2;
   }
  }catch(NullPointerException e){
   System.out.println(“NullPointerExceptionが生じています。”);
  }
 }
 public Sample() {
  //処理内容を記述
 }
}

初めてプログラミングを学習する人にとっては、全てが暗号のように見えてもおかしくないのでしょう?この記事を読んでいくことで、この書いてある内容が全てわかるようになります。一つ一つ丁寧に解説していくのでめげずについてきてくださいね!

Javaの「基礎」を知るための学習項目

スペース, 空, ウッドフロア, 植物, 植木鉢, つげ, デコ, 出不精, 白, インテリア, 木の厚板

まずはJavaを学習する上での「基本」を学習していこうと思います。

データ型を知る

Javaにはデータ型というものが存在します。パソコンは「数字」なのか「文字列」なのかなどの情報を見ただけでは判断できないので、「データ型」という項目を指定してあげなくてはいけません。データ型には大きく分けて2種類存在します。数字などを定義した「基本型」と文字列やそれ以外の「参照型」です。基本型は全部で8種類。参照型は無限に存在します。

基本型参照型
byte(数値、桁数少なめ)String(文字列)
short(数値、桁数少し少なめ)配列 
int(数値、標準)クラス型 など
long(数値、最大)
float(小数点付き数値、桁数少なめ)
double(小数点付き数値、最大)
char(1つの文字)
boolean(trueやfalse)

変数を定義する

次に変数を学習していきましょう。変数とは「変わりうる数」のことです。javaでは様々なデータを使用しますが、これらのデータは処理途中で変更されることがあるので、変数と呼ばれる名前のついた箱を定義し、その中でデータを管理します。

リテラルを理解しよう

int score = 20;

次にリテラルに関して理解しましょう!変数に代入するデータ部分を指し、上記のコードでは「20」の部分になります。これだけ聞くと「あ、そんだけか!」と思う人もいるかもしれませんが、勉強してみると少し奥深い分野です。テストでも必ず出るのでしっかりと関連記事を読んで理解しましょう。

計算をしてみよう(演算子の利用)

次にリテラル部分が計算式になっているものを学習していきます。プログラミングでは膨大なシステムを扱う場合があるので、計算式を利用することが多々あります。

種類記号結果
足し算+int t = 10 + 12;22
引き算int t = 10 – 2;8
割り算*int t = 10 * 3;30
掛け算/int t = 10 / 2;5
余りを算出%int t = 12 % 3;4

クラスを作成しよう

//クラス定義
public class Super {
 //処理内容を記述
}

//クラス定義
public class Sample extends Super {

 String name;
 int score_1 = 20;
 int score_2 = 3*20;
 List<String> list = new ArrayList<>();

 public int Sample() {
  try{
   if(score_2 == 60) {
    return this.score_2;
   }
  }catch(NullPointerException e){
   System.out.println(“NullPointerExceptionが生じています。”);
  }
 }
 public Sample() {
  //処理内容を記述
 }
}

次にクラスを作成していきましょう。クラスとは「プログラム処理時に必要な処理をまとめた設計図」のことです。ファイル1つにつき必ず1つはクラスが定義されています。上記のコードでいくとpublic class Sample {}public class Sub {}がクラスの定義で、その中身は全てクラスの要素になります。クラスの役割は非常に大きいのですが、「設計図の一つ一つに名前をつけて利用することで、大規模な開発になりファイルがたくさんできても管理しやすくなる」と初めのうちは思っておくと良いでしょう。

メソッドを知る

public class Super {  //処理内容を記述 }  public class Sample extends Super {   String name;  int score_1 = 20;  int score_2 = 3*20;  List<String> list = new ArrayList<>();

 //メソッド定義
 public int Sample() {
  try{
   if(score_2 == 60) {
    return this.score_2;
   }
  }catch(NullPointerException e){
   System.out.println(“NullPointerExceptionが生じています。”);
  }
 }
 public Sample() {
  //処理内容を記述
 }
}

次にメソッドについて学習していきます。メソッドは「「日本人です」と言う。」「「3+3」を行う」などある一連の動作を定義、実行するためのものです。上記のコードでは「public void method(){}」の部分がメソッドを指します。「アクセス修飾子」「戻り値の型」などの言葉を初めて聞いたと言う人は、後に解説するので今は「そのような言葉があるんだぁー」程度に思っておいてください。

オーバーロードを理解しよう

次にオーバーロードを学習していきます。オーバーロードは、メソッド名が同じメソッドを複数定義することです。引数に変化を持たせることでメソッド名が同じでもパソコンが識別することができます。

アクセス修飾子を理解しよう

次にアクセス修飾子を勉強していきます。アクセス修飾子とは、「メソッド」「クラス」「コンストラクタ 」「フィールド」などに対してアクセスできる範囲の制限を定義する物です。アクセス修飾子を定義することで「知らない間にコードが変更されてしまった」などのミスを防ぐことができます。アクセス修飾子の種類は全部で4つです。

アクセス修飾子アクセス可能範囲
publicどこからでもOK
protected現在のクラス もしくは 継承関係にあるクラス
デフォルト(指定なし)現在のクラス もしくは 同じパッケージのクラス
private現在のクラスのみ

Javaの概念を理解しよう①(オブジェクト指向)

「Javaはオブジェクト指向」と言う言葉を聞いたことがある人もいるのではないでしょうか?オブジェクト思考を簡単に説明すると「一つの機能(物)単位で区切ってプログラミングしていきましょう」ということです。オブジェクト指向自体は概念なので、これが絶対正解!と言う答えはなく、人によって答えが違うものです。

Javaの概念を理解しよう②(カプセル化)

次にカプセル化について学習しましょう。カプセル化とは、「オブジェクト思考に基づいて作られたクラスなどをカプセルのように閉じ込めてどんな場所でも安全に利用できるようにしましょう」という概念です。カプセル化は、アクセス修飾子、ゲッター、セッターなどを利用して実現します。

継承を理解しよう

public class Super {  //処理内容を記述 }  //Superクラスを継承している public class Sample extends Super {   String name;  int score_1 = 20;  int score_2 = 3*20;  List<String> list = new ArrayList<>();

 public int Sample() {
  try{
   if(score_2 == 60) {
    return this.score_2;
   }
  }catch(NullPointerException e){
   System.out.println(“NullPointerExceptionが生じています。”);
  }
 }
 public Sample() {
  //処理内容を記述
 }
}

次に学習するのは継承です。継承は簡単に説明すると、「あるクラスに定義してある「メソッド」や「フィールド」の内容を別のクラスに引き継ぐ」ということです。継承することで共通する機能をまとめることができ、修正などの手間を省くことができます。クラスを継承するためには「extends」を使用します。

インターフェースを理解しよう

インターフェースは「抽象クラスとよくにておりよく違いがわからない」という人が続出します。抽象クラスと同じようにメソッドなどの具体的な処理内容を実装しないという点は同じですが、それ以外の点で数多くの違いがあります。違いをしっかり押さえておきましょう。

インターフェース抽象クラス
定義方法interface Sample{}public class Sample{}
クラスの修飾子publicのみpublicやprotected
フィールドpublic static finalのみなんでも可
メソッド抽象メソッドのみ定義1つ以上抽象メソッドがあれば可
継承複数継承可1つのクラスに対して1つ

条件式と反復式を学ぼう

public class Super {  //処理内容を記述 }  public class Sample extends Super {   String name;  int score_1 = 20;  int score_2 = 3*20;  List<String> list = new ArrayList<>();

 public int Sample() {
  try{
   //制御文を利用
   if(score_2 == 60) {
    return this.score_2;
   }
  }catch(NullPointerException e){
   System.out.println(“NullPointerExceptionが生じています。”);
  }
 }
 public Sample() {
  //処理内容を記述
 }
}

次に、制御文について学習しましょう。制御文とは、プログラミングコードの流れを制御する文法のことです。条件によって処理を変える「if文」や「switch文」繰り返し処理を行う「while文」や「for文」があります。

エラーについて学ぼう

public class Super {  //処理内容を記述 }  public class Sample extends Super {   String name;  int score_1 = 20;  int score_2 = 3*20;  List<String> list = new ArrayList<>();

 public int Sample() {
  //エラー処理
  try{
   if(score_2 == 60) {
    return this.score_2;
   }
  }catch(NullPointerException e){
   System.out.println(“NullPointerExceptionが生じています。”);
  }
 }
 public Sample() {
  //処理内容を記述
 }
}

次にエラー処理について学習します。プログラミングはパソコンをにて実行します。よって、想定外のことが起きた場合は、エラーが出たり処理ができなくなってフリーズということにもなりかねません。バグが生じさせないためにも、エラー処理が必要になります。エラー処理には「thorows」「throw」「try-catch文」などを使用します。

Javaの「応用」を知るための学習項目

桟橋, 海, 水, 方法, 視点, 夏, 休暇, 木造, 地平線, ビーチ, 砂, 熱帯, ドック, 手すり

コレクションについて知ろう

プログラミングを行う上で「大量のデータを使用する」という場面はつきものです。そのような場合には、「List」「Map」と呼ばれるインターフェースを利用します。Listは「コレクションインターフェース」を継承しており、同じくコレクションインターフェースを継承しているものに「Set」があります。他にもQueueやStockなど大量のデータを利用する際には様々なクラスの利用を検討することができます。

ジェネリクスについて知ろう

ジェネリクスとは「メソッドやクラスのデータ型がはっきり決まっていない時にデータ型を仮定義しておくもの」です。上記のコードでいくと「<T>」の部分がジェネリクスに該当します。

最後に

お疲れ様でした!この記事と関連記事で学習した内容は実は「某Javaの有名試験」でも通用する内容でした。基本の方がシルバー、応用の方がゴールドの内容に近いのではないかな?と思います。

本記事を信じて学習すれば、しっかりと基礎力、応用力がつくので何度も反復学習し、理解を深めていってくださいね!理解と同時に自分でコードを書けばさらなる習得につながるでしょう。

Javaは他の言語に比べ未経験から習得までのハードルが高い言語です。独学も非常に難しい言語なのでぜひこの記事を生かしていただけると嬉しいです。最後までお読みいただきありがとうございました!

タイトルとURLをコピーしました