4-1-基 Java に関する知識
独立行政法人 情報処理推進機構
4-1-基 Java に関する知識
Ⅰ.概要 もっとも普及しているオープンソース言語 Java の仕組み、基本的なプ ログラミング文法、オブジェクト指向によるプログラム設計と作成方法 を学ぶ。さらにクラスライブラリやジェネリクスの活用、Web アプリケー ションの作成方法について学ぶ。 Ⅱ.対象専門分野 職種共通 Ⅲ.受講対象者、 受講前提 本カリキュラムの「1-1-基 OSS 概要に関する知識」を受講済みであ ること。または、同等の知識を有すること。 Ⅳ.学習目標 • Java の概要や Java プログラミングの基本文法に関して理解する。 • オブジェクト指向プログラミング(クラスとオブジェクトの関係)を理 解する。 • Java の持つ継承、カプセル化、オーバーライドなどを使った オブジェクト指向型プログラムを理解する。 • クラスライブラリを活用した開発手順と利点を理解する。 • ジェネリクスを利用した開発手法を理解する。 • Servlet と JSP による Web アプリケーション開発技術を理解する。 Ⅴ.使用教科書、 教材等 『やさしいJava 第 3 版』 高橋麻奈著、ソフトバンククリエイティブ刊 『やさしいJava 第 2 版 活用編』 高橋麻奈著、ソフトバンククリエイティブ刊 『10 日でおぼえる Java オブジェクト指向入門教室 Java 2 SDK 対応』 丸の内とら著、翔泳社刊 『明解 Java 入門編』 柴田望洋著、ソフトバンククリエイティブ刊 その他、オリジナル教材やソースコードを教材として用いる。 Ⅵ.習得スキル の評価方法 講義終了後の受講レポート、定量アンケート、知識確認ミニテスト、 演習問題の取り組み状況を総合的に判断して評価を行う。 Ⅶ.カリキュラム の構成 レベル 2(基本) 第 1 回~第 15 回 独立行政法人 情報処理推進機構2
講座内容
第1回 Java の基本(講義+ワークショップ 90 分)
Java のオープンソースとしての基本概念と特有な機能、その発展の歴史、必然性、メリット、最新動向など を理解する。 (1) Java プログラムの例 1 Java プログラムの例 2 プログラムの構造 (2) Java のオープンソースとしての特徴 1 Java とは何か 2 Java の特徴 3 Java が開発された理由 4 なぜ Java が必要か 5 Java の思想と背景 (3) Java による開発の全体像(ワークショップ) 1 Java のエディション 2 コンパイルと実行 3 Java プログラムの構成 4 簡単な Java プログラム例第2回 基本文法(講義+ワークショップ 90 分)
Java 言語の基本的な仕組み、特徴、プログラミングの内容を理解する。サンプルプログラムをもとに、実 際のプログラミングを行い、内容を確認する。 (1) Java 言語の書き方の特徴 1 手続き型言語としての特徴、C 言語との共通点 2 オブジェクト指向言語としての特徴 (2) 基本的なプログラム記述の例 1 識別子、変数、基本型、データ型、参照型、配列、クラス型、演算子、分岐とループ (3) アプレット (4) 入出力 (5) サンプルプログラム 独立行政法人 情報処理推進機構3
第3回 クラスの基本とオブジェクト指向プログラミング
(ワークショップ 90 分)
Java におけるオブジェクト指向プログラミングの内容とそのメリット、具体的な実装方法を理解する。 (1) オブジェクト指向の概要 1 カプセル化 2 継承 3 多相性 (2) クラスの実装 1 クラスとオブジェクト 2 メソッドの定義 3 インスタンス変数およびメソッドへのアクセス 4 コンストラクタ5 java.lang パッケージ(Object クラス、Class クラス、String クラス、基本データ型とラッパクラス、自 動型変換) 6 サンプルプログラム
第4回 カプセル化(講義+ワークショップ 90 分)
Java におけるカプセル化の利点と、具体的な実装方法を理解する。 (1) カプセル化 1 カプセル化の概要 2 カプセル化の利点 (2) アクセス修飾子 1 private 2 修飾子を省略した場合 3 protected 4 public (3) パッケージ (4) サンプルプログラム 独立行政法人 情報処理推進機構4
第5回 継承と多相性(講義+ワークショップ 90 分)
Java における継承と多相性の利点と、具体的な実装方法を理解する。 (1) 継承 (2) オーバーライド 1 オーバーライドの概要 2 super キーワード 3 final キーワード (3) オブジェクト指向を活用したプログラミング手順 1 差分開発 2 コンポーネント (4) サンプルプログラム第6回 継承の応用(講義+ワークショップ 90 分)
Java における抽象クラスとインタフェースの概念と、具体的な実装方法を理解する。 (1) 抽象クラス 1 抽象クラスとは 2 抽象メソッド 3 抽象クラスの継承 (2) インタフェース 1 インタフェースの概要 2 インタフェースの実装 3 インタフェースを継承したインタフェース (3) instanceof 演算子 (4) サンプルプログラム 独立行政法人 情報処理推進機構5
第7回 例外(講義+ワークショップ 90 分)
Java における例外の概念と利点、具体的な実装方法を理解する。 (1) 例外 1 例外とは 2 例外オブジェクト(Throwable クラス) • Error クラス • Exception クラス、Exception クラスの継承 • RuntimeException クラス 3 try~catch~finally • try ブロックによる監視 • catch ブロックによる捕捉 • finally ブロック 4 throw 5 例外の利用方法、制御の流れ 6 サンプルプログラム第8回 入出力ライブラリの基本(講義+ワークショップ 90 分)
クラスライブラリを利用した、Java における入出力の具体的な実装方法を理解する。文字ストリームとバイ トストリームの違いと使用する場面を知る。 (1) 文字ストリーム 1 FileReader/FileWriter クラス 2 BufferedReader/BufferedWriter クラス 3 ファイルオープン/クローズ 4 読み込み/書き出し 5 サンプルプログラム (2) バイトストリーム 1 FileInputStream/FileOutputStream クラス 2 ファイルオープン/クローズ 3 読み込み/書き出し 4 サンプルプログラム 独立行政法人 情報処理推進機構6
第9回 文字列、数値クラスの基本(講義+ワークショップ 90 分)
Java におけるラッパクラス、および、文字列クラスの使い方を理解する。 (1) ラッパクラス 1 基本データとラッパクラス 2 MIN_VALUE/MAX_VALUE 3 toString() 4 parseXXX() 5 サンプルプログラム (2) String クラス 1 コンストラクタ 2 比較(compareTo()、equals()、isEmpty()) 3 検索(indexOf()、lastIndexOf()) 4 数値変換(valueOf()) 5 サンプルプログラム第10回 ジェネリクス(講義+ワークショップ 90 分)
Java におけるジェネリクスの基本や利点、具体的な実装方法を理解する。 (1) ジェネリクスとは (2) ジェネリクスクラス 1 宣言、定義 2 サンプルプログラム (3) ジェネリクスインタフェース 1 宣言、定義 2 サンプルプログラム (4) ジェネリクスメソッド 1 宣言、実装 2 サンプルプログラム 独立行政法人 情報処理推進機構7
第11回 アルゴリズムとデータ構造の実装・1(リンクリスト)
(講義+ワークショップ 90 分)
Java を用いて基本的なアルゴリズムの実装を行う。基本的なリンクリストをフルスクラッチで作成すること により、データ構造とアルゴリズムについて理解する。 (1) リンクリストの概要 1 リンクリストとは 2 配列との比較 3 リストの構造(線形、循環、片方向、双方向) (2) リンクリストの実装 1 ノードとなるクラスの設計 • 次のノードへの参照 2 サンプルプログラム (3) リンクリストへの操作 1 追加 2 削除 3 繰り返し処理 4 サンプルプログラム第12回 アルゴリズムとデータ構造の実装・2(キューとスタック)
(講義+ワークショップ 90 分)
リンクリストを応用して、キューやスタックといったデータ構造を実装する。データ構造のカスタマイズを通 して、データ構造とアルゴリズムについて深い理解を得る。 (1) リンクリストによるスタック 1 スタックの構造(LIFO) 2 スタックへの操作(push、pop) 3 スタックの設計(片方向リスト、一番新しいデータへの参照、一番古いデータと番兵) 4 サンプルプログラム (2) リンクリストによるキュー 1 キューの構造(FIFO) 2 キューへの操作(enqueue、dequeue) 3 キューの設計(両方向リスト、一番新しいデータへの参照、一番古いデータへの参照) 4 サンプルプログラム 独立行政法人 情報処理推進機構8
第13回 アルゴリズムとデータ構造の使用(講義+ワークショップ 90 分)
Java の標準クラスライブラリで用意されたコレクションクラスのうち、よく使用されるコレクションの実装方 法を理解する。また、オートボクシング機能によりコレクションの利用が簡易になっていることを理解する。 (1) コレクションクラスとは (2) インタフェース 1 List<E>インタフェース • イテレータ 2 Map<E>インタフェース (3) よく使用されるコレクションクラス 1 ArrayList クラス 2 LinkedList クラス 3 Stack クラス 4 HashMap クラス 5 サンプルプログラム (4) オートボクシング 1 オートボクシング 2 アンボクシング 独立行政法人 情報処理推進機構9
第14回 Servlet/JSP による Web アプリケーション開発の概要
(講義+ワークショップ 90 分)
Java/Servlet によるアプリケーションの開発の手順とその作業内容を理解する。Web アプリケーションの 実現形態とそのメリットを理解する。 (1) Web アプリケーション 1 Web 概要 2 Web アプリケーションの特徴 3 Web アプリケーションのディレクトリ構成 4 Servlet/JSP/JDBC の連携 (2) Servlet 1 Servlet の概要 2 Servlet プログラミング 3 セッショントラッキング 4 Servlet からの連携 (3) JSP 1 JSP の概要 2 JSP の構成要素 3 JavaBeans (4) 開発プラットフォーム 1 Tomcat 2 JBoss 3 WebLogic 独立行政法人 情報処理推進機構10
独立行政法人 情報処理推進機構