paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

Java入門におすすめ!はじめてのプログラミング学習でも挫折しない学び方とは

f:id:paiza:20210930014140j:plain
f:id:paiza:20180910132940p:plainこんにちは。倉内です。

Javaは1996年にサン・マイクロシステムズ(2010年1月27日にオラクルにより吸収合併)によってリリースされたプログラミング言語です。

“Write once, run anywhere”(一度プログラムを書けば、どこでも実行できる)というスローガンのとおり、JavaはOSに依存せず動作するという特徴があります。そのため大規模な業務システムはもちろん、Webサービスやモバイルアプリなど、さまざまなシステム開発で採用されています。

モダンな後発言語がたくさん登場してもなおJavaの需要は高く、「Javaを習得したい!」という方も多くいらっしゃると思います。

ただ、はじめてプログラミング学習をする方にとって、Javaは比較的難易度が高いというのも事実です。

そこで今回は、初心者の方はもちろん他の言語の経験がある方も含めて、Java入門に最適な学習方法をお伝えしていきます。

Javaとは何かを知る

なぜ初心者はJavaを難しく感じるのか

Javaは他のプログラミング言語よりも文法が複雑で、コードの記述量もルールも多く、覚えることがたくさんあります。

具体的にコードを見てみると納得がいくでしょう。以下はJavaとPython3で「Hello, paiza!」とコンソールに出力するためのコードです。(1行ごとの意味は分からなくてもいいので眺めてみてください)

Java:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, paiza!");
    }
}

Python3:

print("Hello, paiza!")

これを見て「Javaって大変そうだな……」と思った方もいるかもしれませんね。ただ、それを乗り越えてでも初心者にこそJavaをおすすめしたい理由があります。

  • 記述のルールが厳しいためプログラミングの基礎固めによい
  • データ型やクラスの概念を確実に身につけられる
  • Javaを最初に習得すればそのあと他の言語を学ぶハードルが下がる
  • 日本語の情報が豊富なので独学がしやすい
  • 求人数・案件数が多く現時点では仕事に困らない

特にこれからITエンジニアを目指そうと考えている方は身につけておいて損はないでしょう。

オブジェクト指向プログラミングとは

Javaを学ぶ上で避けて通れないのが「オブジェクト指向」です。言葉を聞いたことはあるかもしれません。

そもそも「オブジェクト」って何か分かりますか?

オブジェクトについて
  • 変数とメソッドをセットにしたもの
  • クラスからオブジェクト(インスタンス)を作って利用する
  • クラス: オブジェクトの設計図
  • オブジェクト: クラスから作ったもの(インスタンス化)

文章では少しイメージしづらいので、図も見ておきましょう。

f:id:paiza:20210930141614p:plain
paizaラーニング「Java入門編7: クラスを理解しよう」チャプター01より

つづいてオブジェクトの使い方についても確認しておきます。

f:id:paiza:20210930141845p:plain
paizaラーニング「Java入門編7: クラスを理解しよう」チャプター01より

つまりオブジェクト指向とは、特定の役割を果たすモノ(=オブジェクト)を作り、そのオブジェクト同士の関係性を定義してシステムを構築しようという考え方です。

なんとなくイメージは掴めたかもしれませんが、上記を見ても分かるとおり理解するためには前提として変数、メソッド、クラスについて知る必要があります。よって、まずは基礎文法の学習は欠かせません。

以降で順を追って学習方法について説明してきます。

Javaの学び方

Javaは、プログラミングをするまでの環境構築もハードルが高く、つまずく原因になりがちです。

そこで今回は、paizaラーニングで公開している、ブラウザ上で学べる講座を集めた「Cランク獲得ストーリー」に沿って学習していきます。

20210930010723

Cランクとはpaizaが提供しているコーディングの実力を測る、スキルチェックというサービスでの指標です。S~Eの6段階あり、Cランクは「基本的な実装スキル:コードを書く基本スキルがあります」と定義しています。詳しくはこちらをごらんください。

Cランク獲得ストーリーの特徴

「Cランク獲得ストーリー」では、はじめてJavaを学ぶ方が四則演算やif文・for文といった基礎文法を習得し、文字列処理や配列、メソッドなどを学んだあと、最終的にはやや難しめのプログラミング問題を自力で解けるようになることを目指します。

そのための学習講座を順番に提示しており、「なにから勉強していいか分からない」「基本学習を終えたあとどうしていいか分からない」が解消できます

20210930174536

ただ、プログラミングはインプットだけでは身につきません。よって随所にアウトプットのための課題や問題集をご用意しています。

利用している講座の紹介

Java体験編

20210930174859

Java体験編」は全編無料で受講いただけます。

序盤はプログラミング自体をはじめて学ぶ方向けの内容も含まれています。そのためすでにある程度知識がある方はスキップしても構いません。自分が学びたい内容を選択して進めることができます。

まずこの講座を通して、プログラミングをする上での数値と文字列の扱いの違い、足し算・引き算といった簡単な計算の方法、単純な条件分岐やループ処理など基礎をしっかり身につけましょう。

Java入門編

20210930175300

Java入門編」は一部体験編と重なる内容もありますが、こちらのほうが発展的な内容になっています。一部無料で受講いただけます。

全10レッスンあり、Cランク獲得ストーリーではまずJavaプログラミングの基礎を学び、複数条件を組み合わせた条件文やデータ型の理解などを習得します。

中盤移行では配列(多次元配列含む)やメソッドについて学ぶ講座もあります。Javaプログラミングには欠かせない内容ばかりですので、演習課題を解きながら「分かったつもり」にならないようものにしていきましょう。

レベルアップ問題集

20210930175923

各学習講座のあいだにある「~メニュー」という名称のものは、プログラミングの練習問題を集めた問題集のことです。

paizaラーニングでは、それらを「レベルアップ問題集」として公開しており、全問題のテストケースおよび一部問題・言語では解答コード例と解説も参照が可能*1です。

また、友人と相談をしたりコードを共有したり、勉強会などで利用するのも自由です。

一度学習した内容でも自分でコードを書こうとすると思うようにいかないということはよくあります。練習問題を通してアウトプットをたくさんしていただければと思います。もちろん、分からないところは調べたり、講座に戻るなどしていただいて構いません。

スキルチェック

さきほど少しランクについて説明をした「スキルチェック」は、難易度別のプログラミング問題を時間制限内に解いて、その結果でプログラミングスキルを評価するというものです。

スキルチェック問題を解いてランクを獲得すると、paizaが運営している就職・転職サービスの求人に応募が可能です。そのため練習問題とは異なり、他者との問題・解答などの共有をご遠慮いただいており、テストケースや解答・解説も公開していません。

問題を解くには、標準入力・標準出力を理解する必要があり、Cランク獲得ストーリーにもそれらの講座や問題集が含まれています。また、学習講座「スキルチェック入門編」ではB~Dランク問題の解説もおこなっています。

20210930180145

自分がこれまで身につけたプログラミングスキルを腕試ししたい方はぜひチャレンジしてみてください。

おすすめ学習サイト・書籍

Javaは学習サイトも数多く存在し、書籍も大量にあります。選ぶのが大変なくらいですが、選択肢が多いのは学習する上でメリットです。少し試してみて「難しい…無理かも…」と思わずに、ぜひ自分に合ったものを見つけてみてください。

今回はその中から一部をご紹介します。

Progate

20210930122826
Java学習コースはこちら

Progateはブラウザ上でスライドを見て学習し、そのまま演習問題にも取り組めるような作りになっています。

演習問題もいきなりコードを書くのではなく、数値を入力したり選択肢から選んだりと直感的な操作から実現したい機能(ゴール)を理解してから進められます。

学習難易度の高いJavaでも初めて学習をする方がつまずくことなく、スムーズに学習を進められる工夫がたくさんありおすすめです。

Java初心者入門講座

20210930132305

環境設定や「Javaとはどんな言語か?」という概念から説明があり、これからJavaを学んでいくという人に合った学習サイトです。

初心者向けの内容はもちろん、本格的なアプリ開発までを扱っています。図を使った説明やサンプルプログラムも多く掲載されていて分かりやすいのが特徴です。

バージョンについては少し古い部分もあるため、「Javaのバージョンについて」もあらかじめ参照してください。

CODEPREP


Javaのブックはこちら

目的別に学習コース(サイト内では「ブック」と表記)が分かれており、学習目標や難易度、学習にかかる時間などが明記されていて初心者でも取り組みやすいのが特徴です。

Javaには「入門」「基礎」「実践」の3つの難易度があるので、まずは「Java入門 基本操作編」から始めるとよいでしょう。

ヒントなども適宜参照しながら穴埋め形式で問題を解くので、いちから自分で書くにはまだちょっと早い…という方も抵抗なく進めていけます。

Schoo

20210930130807
Java(プログラミング)の授業はこちら

オンライン講義形式で学べるSchooは、プログラミング学習だけでなくビジネススキルや経済など多数のジャンルの生放送や動画が公開されています。

Javaの入門講座から統合開発環境(IDE)、フレームワークを使った開発についての講義までさまざまなレベル・内容のものがあります。講師の方の授業を聞く形なので、書籍や学習サイトで独学するのとはまた違った学び方ができます。

Programiz


Javaの学習ページはこちら

英語のサイトですが、チュートリアルがていねいかつコードサンプルが非常に多いので、独学におすすめです。

自分のPCに環境構築をしなくても「Online Compiler」というメニューをクリックするとブラウザ上でJavaのコードを書いて実行できる環境が利用できます。

完全無料でこれだけ充実しているサイトはなかなかないので、「英語にはやや抵抗が…」という方もぜひ一度覗いてみてください。

入門に最適!書籍3選

「やさしい」シリーズは、プログラミング自体がはじめてという方向けの本です。

簡潔で分かりやすく、まずは挫折せず学習に取り組み、Javaの基礎を固めたいという場合は重宝するはずです。


初学者がつまずきやすいポイントをていねいに解説し、タイトルの通りスッキリした文体で分かりやすく書かれている1冊です。

「なぜそうなっているんだろう」を解消しながら、納得して学習を進めたい方には特におすすめです。


前述のとおり、Javaを学ぶ上でオブジェクト指向を無視することはできません。しかし、初心者にとってなかなか理解が難しいのも事実です。

この本は独学でオブジェクト指向について理解し、さらに実際に使うところまでをサポートしてくれます。はじめてオブジェクト指向言語を学ぶ方には特におすすめの1冊です。

まとめ

Javaの学習の仕方、おすすめ学習サイトや書籍についてお伝えしてきました。

学習難易度が高いと言われるJavaですが、歴史が長く情報量も豊富なため学習教材等に困ることはなく、自分に合ったやり方さえ見つけられれば独学に向いている言語だと思います。

ちなみに少し前にはなりますが、エンジニアを目指す方向けに「最初はどの言語を学ぶべきか?」という記事を書いたことがありました。ここでも需要の高さからJavaを取り上げています。

paiza.hatenablog.com

今回ご紹介した内容が皆さまの学習に少しでもお役に立てばと思います。




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら
paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら
paizaのスキルチェック

*1:有料会員はすべて参照可能、無料会員の場合はチケットの消費が必要

paizaのおすすめコンテンツ

PPG proken プログラミングゲーム「初恋 プログラミング研究会〜海に行こうよ〜」 PPG Bingo プログラミングゲーム「コードレビューBINGO!!」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.