こんにちは。倉内です。
Javaは1996年ごろに登場したプログラミング言語で、後発の言語が作られる上でも大きな影響を与えました。
OSに依存せず動作するという特徴を持ち、モダンな言語が数多く登場した今もなお、人気・需要ともに高い言語でもあります。大規模な業務システムで使われるイメージの強いJavaですが、実際はWebサービスやスマホアプリなど幅広い分野で採用されています。
Javaはプログラミングをはじめて学ぶ方にはやや難しく感じる面もありますが、参考書や学習サービスも充実しており、独学には向いていると言えます。
そこで今回は、「Java初級編」として、はじめてのプログラミングをJavaで始めようと考えている方へ、「Javaとは何か」という基本的な話からおすすめの学習サービスや書籍までご紹介します。
- 学習を始める前に(実行環境について)
- Javaの基礎知識
- Javaの「初級」はどこまで学べばいい?
- Javaの学習サイト(オンライン環境編)
- Javaの学習サイト(ローカル環境編)
- 初心者向けのおすすめ書籍
- まとめ
学習を始める前に(実行環境について)
Javaに限らず、プログラミングをおこなう際は、ブラウザ上で実行できるオンライン環境を利用するか、自身のPCに実行環境の構築をおこなうかを選択することになると思います。
趣味やひとまずコードを書いてみたいという方はオンライン環境を利用したほうがすぐに学習を始められます。一方、業務で必要になるから学びたいという方は環境構築の手順から理解したほうがよいかもしれません。ご自身の用途に合わせて選んでみてください。
自分でJavaのインストール、環境構築をおこなう方は、まずは公式サイトをご参照ください。
Java開発では、多くの場合「Eclipse」という統合開発環境(IDE)を利用します。ここでは説明を省略しますが、Javaは日本語の情報が豊富なので、「Java インストール」「Java 環境構築」で検索するとたくさんの有志の方の記事が出てきます。ただ、バージョンが古かったりする情報もあるのでよく見て参考にしてみてください。
Javaの基礎知識
Javaの特徴
paizaラーニング「Java体験編1: Javaをはじめよう」(チャプター1)より
Javaには上の図で示したような特徴があります。冒頭にお伝えした内容もありますが、「多数のおまじないが登場」というのが、初心者が難しいと感じる部分だったりします。ただ、学んでいく中で徐々に理解していくので、最初から覚えようとしなくても大丈夫です。
ここでは「オブジェクト指向プログラミング」と「幅広い環境で利用」について少し補足の説明をします。
オブジェクト指向プログラミングとは
オブジェクト指向とは、特定の役割を果たすモノ(=オブジェクト)を作り、そのオブジェクト同士の関係性を定義してシステムを構築しようという考え方です。
「そもそもオブジェクトとは…?」を説明したのが次の図になります。
paizaラーニング「Java入門編7: クラスを理解しよう」チャプター01より
そして、そのオブジェクトの使い方を説明したのが次の図です。
paizaラーニング「Java入門編7: クラスを理解しよう」チャプター01より
図を見てもよく分からない単語が登場していると思うので、いったんはイメージだけ掴んでおけば大丈夫です。しっかり理解するためには、変数やメソッド、クラスについての学習が必要になってきます。
プラットフォーム非依存を実現するコンパイル
Javaには、“Write once, run anywhere”(一度プログラムを書けば、どこでも実行できる)というスローガンのとおり、OS(WindowsやMac、Linuxなど)に依存せず動作するという特徴があります。
これはJavaのコンパイラがソースコードをどの環境でも使える中間言語にコンパイル(≒翻訳)して、実行時はそれぞれの環境にインストールされた仮想マシン上で機械語に翻訳して動かすという仕組みになっているからです。
プログラミング学習がはじめての方に限らず、このあたりを本格的に理解しようと思うと大変ですが、なんとなく概念だけでも掴んでおいていただければと思います。
Javaの「初級」はどこまで学べばいい?
学習サイトや参考書によってどこまでを「初級」や「入門」とするかはさまざまです。
ここでは、目安として以下のような内容の理解、そして自分である程度コードが書けるようになることを目標としたいと思います。
- データ型(文字列、数値)
- 変数
- 四則演算
- 条件分岐(if分)
- ループ(for文、while文)
- 配列
- メソッド
- クラス
- 例外処理
配列、メソッド、クラスについては、基本的な内容から発展的な内容まで幅広いので、まずは基本の概念を理解する範囲でよいと思います。
Javaの学習サイト(オンライン環境編)
paizaラーニング「Java体験編」
「Java体験編」は、全編無料の動画学習講座です。はじめてプログラミングを学習する方向けに「プログラミングとはなにか」から始まり、Javaの基礎について学ぶことができます。
他の言語である程度プログラミング経験がある方は序盤はスキップしても構いません。自分が学びたい内容を選択して進めることができます。
まずこの講座を通して、プログラミングをする上での数値・文字列の扱い方、足し算・引き算といった簡単な計算の方法、単純な条件分岐やループ処理など基礎をしっかり身につけましょう。
paizaラーニングには「Java入門編」(一部無料)という講座もあります。体験編より発展した内容も扱っています。
2次元配列やHashMap(連想配列)、複数条件を組み合わせた条件分岐処理、メソッド、クラスの基本的な内容、そして例外処理まで学べます。
Progate「Java Ⅰ~Ⅴ」
Progateはブラウザ上でスライドを見て学習し、そのまま演習問題にも取り組めるような作りになっています。
演習問題もいきなりコードを書くのではなく、数値を入力したり選択肢から選んだりと直感的な操作から実現したい機能(ゴール)を理解してから進められます。
Javaの学習レッスンはⅠ~Ⅴまであり、基礎文法(条件分岐、繰り返し処理など)とオブジェクト指向をより深く理解するための演習(道場レッスン)が別に用意されています。
CODEPREP「Java入門 基本操作編」
目的別に学習コース(サイト内では「ブック」と表記)が分かれており、学習目標や難易度、学習にかかる時間などが明記されていて初心者でも取り組みやすいのが特徴です。
入門が終わった方向けに、「Java基礎」「Java演習」が用意されており、基本~発展まで一貫して学べるのが特徴です。特に「Java基礎 オブジェクト指向編」は、オブジェクト指向の概念を深く理解するのに役立つ講座で、Javaを本格的に学んでいきたいと思っている方にはおすすめです。
Javaのブック一覧はこちら
Javaの学習サイト(ローカル環境編)
ドットインストール「はじめてのJava」
ドットインストールはJavaの学習レッスンが豊富で、「はじめてのJava」の他に「Java 8入門」、JavaでのAndroidアプリ開発まで幅広く学ぶことが可能です。
動画形式で講師の方の説明を聞きながら実際のプログラミング画面を見て進められるので、分からずに挫折してしまうといったことを防げます。
環境構築の説明動画もあるのでまずはインストールをしてから始めましょう。なお、プレミアム会員になると、ブラウザ上でのコード実行が可能になります。
Java初心者入門講座
環境構築をていねいに説明しているサイトをお探しならこちらがおすすめです。
「Javaとはどんな言語か?」という概念から説明があり、これからJavaを学んでいくという人に合った学習サイトです。初心者向けの内容はもちろん、本格的なアプリ開発までを扱っています。図を使った説明やサンプルプログラムも多く掲載されていて分かりやすいのが特徴です。
統合開発環境のEclipseを使った開発やAPIの使い方まで無料で学べるサイトはなかなかないので、Javaをさわりだけでなくしっかり学びたい方はぜひ覗いてみてください。
たのしいJava入門とScratchと猫
もともとは「楽しいJava入門」として親しまれていたサイト、および同名の書籍で、サイトはリニューアル中ということで新しいほうへリンクしています。
とにかく書き味が優しく、勉強勉強した感じが苦手な方も挫折せず取り組める工夫が随所にされています。(上の図を見ても見出しや写真が学習サイトという感じとは一味違うのが分かります)
いきなりコードを書き始めるより、まず説明を読んで理解したいという方にはこの「読み物Java(基礎編)」がよいと思います。
初心者向けのおすすめ書籍
ゼロからわかる Java超入門
プログラミングをはじめて学習する方でJavaを学びたい方に向けて書かれた1冊です。
他の初心者向けの書籍で知らない用語がいきなり出てきて挫折した…なんていう経験がある方は、この本であればはじめの第一歩からしっかり説明があり安心です。
スッキリわかるJava入門
初学者がつまずきやすいポイントをていねいに解説し、タイトルの通りスッキリした文体で分かりやすく書かれている1冊です。
「なぜそうなっているんだろう」を解消しながら、納得して学習を進めたい方には特におすすめです。
独学していて疑問にぶつかったときそれを解決できる悩むことがあります。そういった初心者のもどかしさを解決するような具体的な解説が掲載されています。
新わかりやすいJava オブジェクト指向徹底解説
初心者にとって理解が難しいオブジェクト指向をじっくりていねいに解説した1冊です。第2版は2022年1月に出たばかりです。
なんとなく理解したつもりになっているオブジェクト指向についてきちんと理解したい、基礎は身につけたのでもう一段階自分のレベルを上げたいという方におすすめです。
まとめ
ここまでJavaの学習について「初級編」ということで、はじめてのプログラミング学習をJavaで取り組む方に向けて学習サイトや書籍をご紹介してきました。
紹介したものはほんの一部で、Javaの情報は非常に多く、また習得しているエンジニアの数も多いと言えます。そのため、質問サイトなどで質問をした際に有識者から回答を得られる確率も高いので独学に向いていると思います。
最初は難しく感じる部分もあると思いますが、無料の範囲でも学べることは多いので、今回紹介したものを活用し、ぜひJavaを習得してみてください。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら