Java初心者向け資料を全力でまとめてみた!


最近仕事でJavaを触り始めました。正直Javaは今まで研修的なことしかやってこなかったので、かなり苦戦していますが、新しい言語を学ぶ楽しさのおかげで毎日がめっちゃ充実しています!
ということで、最近ネットで探しているJavaの入門用資料を中心にまとめてみました。

😀 Java基礎文法最速マスタ

Java基礎文法最速マスター

言語系の最速マスタ記事。めちゃくちゃわかりやすくてクオリティが高い。素敵すぎる!

🐰 Javaを使うなら必ず覚えておきたいデータ構造 - 配列・リスト・マップ

Javaの配列、リストはめちゃくちゃよく使うので、早い段階で理解しておきたい!

🤔 mixi/Javaの文法の基礎

A.02. Java の文法の基礎

mixiさんがGitHubで公開しているAndroid開発用のドキュメントの一部ですが、量・質ともにすばらしいです!
たとえば修飾子など初心者が「?」となりがちな部分もわかりやすく、かつ網羅的に説明してくれています。

例外の種類

  • 実行時例外 (RuntimeException) => プログラムの実行中に発生する予期しない動作を扱う。NullPointerException など
  • 検査例外 (Exception) => 処理の続行が不可能(失敗)したことを示す場合を扱う。IOException など
  • エラー(Error)=> アプリケーションのハンドリングを超えた、 重大な問題を扱う。OutOfMemoryError など

参照オブジェクトの比較

参照オブジェクトの比較には Object#equalsObject#hashCode() がよい。

Camparableインタフェース

Comparable<T>#compareTo(T) が返す int 型整数によって順序を決定する。
戻り値が -1 は引数のオブジェクトより小さい。0 が等しい。 1 が大きいを表す。

🐯 Javaコーディング規約

本当はOracleのコーディング規約読んだほうがいいっぽいけど心が折れた初心者向けに。

Androidのコーディング規約(英語)

Twitter Java StyleGuid - GitHub

🐝 ドットインストール Java入門

Java入門 (全23回) - プログラミングならドットインストール

めっちゃ助かりました! 個人的にはJavaみたいな言語こそスクリーンキャストで学びたい。(環境構築系でまりやすいので)

🎉 書籍

@hotchemiさんから教えていただいた、初心者向けの書籍がこちら。

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)

なぜJavaではこう書くのかを徹底解明。言語の基本からサーブレット、データベース、GUIの実践まで完全網羅

EFFECTIVE JAVA 第2版 (The Java Series)

自分のJavaプログラミングに関する知識/スキルの棚卸しと補正ができるそうです。

😎 練習問題: CodeResume

CodeResume

環境構築を一切必要とせずにWeb画面上でコードを書くことができます。
四則演算や、ループ文、Javaっぽい記法、ファイルの入出力など、基礎から実用レベルの問題がかなり充実しています。
@avion_de_papierさんからサイトを教えていただきました。
ありがたうございます!

🎂 練習問題: AOJ(Aizu Online Judge)

AIZU ONLINE JUDGE: Programming Challenge

現在AOJで、Javaの練習問題を順番にこなしていっています。

🍄 お願い

ネットの資料でJava入門者向けにお勧めのドキュメントとかあればぜひコメントください。
スクリーンキャストとか欲しいぉ…

📚 おすすめの書籍