Javaディスカッション(過去の実施例)

目次

No.1:ソースコードの説明(Java超入門)

課題1

講師からの質問例

課題1プログラムが何をするか、簡略に20秒で上司に説明してください
(上司はプログラミング未経験者とする)

課題1プログラムについて、1行ずつ処理内容を説明してください

③でsc.nextLine()ではなくsc.nextInt()を使用している理由は何か

課題2

講師からの質問例

課題2プログラムが何をするか、簡略に20秒で上司に説明してください
(上司はプログラミング未経験者とする)

課題2プログラムについて、1行ずつ処理内容を説明してください

カウント用変数iはいくつまで加算されるか

④の文言は何回画面表示されるか

変数countはいくつまで加算されるか

⑦の文言は何回画面表示されるか

No.2:ソースコードの説明(Java入門)

課題1

講師からの質問例

課題1プログラムが何をするか、簡略に20秒で上司に説明せよ
(上司はプログラミング未経験者とする)

課題1プログラムについて、1行ずつ処理内容を説明せよ

③で設定している引数の変数名と、⑤のメソッド宣言時の仮引数名は同じ変数a,bだが、
違う変数名が引数に設定された場合もメソッドは機能するか

課題2

講師からの質問例

課題2プログラムが何をするか、簡略に20秒で上司に説明せよ
(上司はプログラミング未経験者とする)

課題2プログラムについて、1行ずつ処理内容を説明せよ

aryData.lengthは今回いくつになるか

iはいくつまでカウントされるか

No.3:基本データ型と配列(Java入門)

課題1

過去の受講生が描いたイメージ図(必ずしも正しいとは限りません)

講師からの質問例

課題1プログラムが何をするか、簡略に20秒で上司に説明せよ
(上司はプログラミング未経験者とする)

totalメソッドを呼び出したとき、引数で与えられた変数valの値がどのようにしてtotalメソッド内の仮引数valに渡されるか?

totalメソッドの戻り値sumがどのようにして変数rev_sumに代入されるか?

⑨行の 「 return sum; 」を説明しなさい。
また戻り値はどこに返すのでしょうか。

⑨行の 「 return sum; 」にて、sumのデータ型は?

val変数がtotalメソッド内と外に2つあります。
その2つは同じ変数ですか?異なるならなぜ?

④行の「 int total ( int val) 」 にて、この1行のみでわかる情報(内容)を説明しなさい。

ローカル変数とは?
このサンプルでローカル変数があれば、2つ挙げてください。

変数 i が及ぼす範囲を説明しなさい

基本データ型とは変数 i が及ぼす範囲を説明しなさい

基本データ型で、変数が作成するケース

課題3

過去の受講生が描いたイメージ図(必ずしも正しいとは限りません)

講師からの質問例

課題3プログラムが何をするか、簡略に20秒で上司に説明せよ
(上司はプログラミング未経験者とする)

課題3の中で配列の実体は何個作られているか?
それはどこか?

配列実体が作成される場合を2つ説明しなさい。

基本データ型と参照型(配列など)の違い

基本データ型と参照型(配列など)の違いを踏まえて、以下3つのケースについての違いを説明しなさい
①基本データ型で変数が作成するケース
②参照型(配列)で配列変数が作成されるケース
③参照型(配列)で配列本体が作成されるケース

配列は基本データ型か或いは参照型かどちら?基本データ型の種類を2つ挙げなさい

基本データ型と参照型の違い

int[] numArray = {1,2,3,4}のイメージ図を作成しなさい。

int[] numArray = {1,2,3,4}のイメージ図から、配列変数と配列本体を指しなさい。

int[] numArray = {1,2,3,4}のイメージ図にて、numArray配列変数の値として何か入っているか説明しなさい。

なぜ、numArray変数とその配列実体が紐づけられるかその根拠を説明せよ

int[ ] multiple2Array ( int[] arr) にて、この1行のみでわかる情報(内容)を説明しなさい。

multiple2Arrayメソッドを呼び出したとき、引数で与えられた配列変数numArrayの値が
totalArrayメソッドの仮引数arr配列変数の値として何か代入(コピー)されるか?

配列変数newArrayには具体的にどのような値が入っているのか?

multiple2Arrayメソッドの戻り値、配列変数arrがどのようにして配列変数newArrayに代入されるか?

「 return arr; 」を説明しなさい。また戻り値はどこに返すのでしょうか。
イメージ図を使って説明しなさい。

「 return arr; 」にて、arrのデータ型は?

totalArrayメソッドを呼び出したとき、引数で与えられた配列変数numArrayの値が
totalArrayメソッドの仮引数arr配列変数の値として何か代入(コピー)されるか?

まとめ

講師からの質問例

基本データ型と参照型(配列)の違いを説明せよ

メソッドを呼び出す際に引数を渡し、呼ばれるメソッド側では引数を受け取ります。
また、戻り値のあるメソッドは戻り値を返します。
基本データ型と参照型(配列)、それぞれ引数は何を受け取り、何を返すか

No.4:インスタンスメンバとクラスメンバ(Java基礎)

課題1

過去の受講生が描いたイメージ図(必ずしも正しいとは限りません)

講師からの質問例

課題1がどのような処理を行うプログラムなのか、簡潔に説明してください

Employee emp1 = new Employee(“神田”);について
変数とオブジェクトを関連付けるまでの流れをしてください
(変数にはオブジェクトの何が代入されるのかが分かるように)

Employee emp1 = new Employee(“神田”);にて、
神田という値がオブジェクト内のインスタンス変数に代入されるための流れをしてください

public Employee(String name) {・・・} このメソッドを専門用語でどう呼ぶか

public Employee(String name) {・・・} がコンストラクターである場合、そう判断できる理由を2つ挙げてください

emp1.plusCount();がどのような処理か説明してください

emp1.plusCount();を実行した後、count変数の値はイメージ図のどこが変わるか説明してください

変数countはオブジェクトの中に生成されているか、説明してください
(生成されていない場合はその理由も併せて説明してください)

Employee.plusCount()という形で呼び出すことは可能であるか、説明してください
(呼べない場合は、その理由も併せて説明してください)

System.out.println(“名前:” + emp1.getName());を説明してください(thisの意味も交えて)

Employee.showCount();がどのような処理か説明してください

emp1.showCount();という形で呼び出すことは可能であるか、説明してください
(呼べない場合は、その理由も併せて説明してください)

Employee emp2 = emp1;がどのような処理か説明してください

emp1、emp2のオブジェクトの関係を説明してください

emp1.setName(“上野”);がどのような処理か説明してください

emp2.setName(“上野”);という形で呼び出そうとした場合、どのような処理結果になるか説明してください

Employee.setName(“上野”);という形で呼び出そうとした場合、どのような処理結果になるか説明してください

まとめ

講師からの質問例

Employeeクラスのオブジェクトはデータ型か、参照型か?
また、オブジェクト変数には何の値が代入されるのか?

インスタンスメンバとクラスメンバの違いは何か?

Employeeクラスのフィールド変数には初期値を設定していないが、
なぜ初期値を設定しなくても問題ないのか。

フィールド変数count、nameにはそれぞれ初期値として何の値が入っているのか?
またなぜそのような値が入っているのか?

nullとはどういう意味か?

thisとはどういう意味か?

今回のソースコードでEmployeeクラスのオブジェクト変数は何個生成されているか?

今回のソースコードでEmployeeクラスのオブジェクトの実体は何個生成されているか?

変数emp2には何が代入されているのか

No.5:ファイル読み込みとリスト渡し(Java基礎)

課題1

過去の受講生が描いたイメージ図(必ずしも正しいとは限りません)

講師からの質問例

当ソースコードが何の処理を行っているかポイントを抑えて、1分程度を目安に上司に簡潔に説明してください
(上司はプログラムをまったく知らないものとする)

ArrayList listId = new ArrayList(); にて、Stringは何を意味しているか?
イメージ図を用いて説明してください

ArrayList本体の要素の値は何になるか?

ArrayListのオブジェクトを生成すると、配列は最初に何個作られた状態になるか?

ArrayListオブジェクトを生成したとき、配列内の要素には初期値として何が入っているか?

配列とArrayListの違いを簡潔に説明してください

プログラムをまったく知らない上司に、readFromFileメソッドの概要を簡潔に日本語で説明してください

readFromFileメソッドに引数は2つあります。それぞれ受け取る値を具体的に説明してください
また、イメージ図を確認しつつ、arrIdとarrNameの変数には何か入ってくるかを説明してください

String[] strArr = new String[2]にて、配列本体は作成されるのか?作成される場合、その理由は?

String strLine = nullにて、nullは何を意味するか?

hasNextLine()メソッドは、どのクラスに配属しているか?

hasNextLineメソッドの役割は?また戻り値は何か?

⑧行にてSplitメソッドの戻り値が予測できるか?

splitメソッドとはどのようなメソッドか?また、splitメソッドの戻り値の型は何か?

Splitメソッドはどのクラスに属する?また、戻り値は何か?

String[] strArr = new String[2];を実行して生成された配列の場所情報とsplitメソッドの戻り値として渡された配列の場所情報は同じか?

Add()メソッドの役割を踏まえて、どのようにリストに追加されるか説明してください

ArrayListクラスに用意されているaddメソッドを使ってリストに挿入する方法は?

String[] arr2 = getUser12Info(listId, listName)にて、getUser12Infoメソッドの戻り値を予測しなさい。

プログラムをまったく知らない上司に、getUser12Infoメソッドの概要を簡潔に日本語で説明してください

getUer12Infoメソッドに引数は2つありますが、
それぞれ受け取る値をイメージ図を踏まえて具体的に説明してください

break文が実行された直後のイメージ図はどのようになるか、説明してください

return arr文にて、何を返すか?また、どこへ返すか?

mainメソッド内のarr2変数には何が代入されているか?

getUser12Infoメソッド内部で作成された配列の場所情報と、
getUser12Infoメソッドの戻り値として渡された配列の場所情報は同じか?

No.6:リスト内オブジェクト渡しと受け取り(JDBC)

課題1

過去の受講生が描いたイメージ図(必ずしも正しいとは限りません)

講師からの質問例

PersonDAO objDao = new PersonDAO(); で、オブジェクトを作成する理由は?

ArrayList list1 = null;にて、<>内のPersonは何を意味しているか?
list1のイメージ図を見せてください

Pの変数を、繰り返し文の外で宣言するのではなく、繰り返し文の中に宣言するとどうなるか?
(p = new Person();の代わりに、Person p = new Person();に変更するとどうなるか)

String sql = “SELECT * FROM personinfo”; にて SQLの意味を日本語で説明してください。
また * の意味も説明してください。

ResultSet rs = smt.executeQuery(sql); 実行後のイメージ図を説明してください

参照系(SELECT)と更新系(update,delete,insert)は、実行メソッドが異なる。
参照系ではexecuteQuery()を使用するが、更新系で使うメソッド名は何か?

nextメソッドとは役割は? また戻り値として何が返ってくるか?

p = new Person(); を右辺から説明してください

p = new Person(); にて、左辺p変数のデータ型は?

p.setName(rs.getString(“name”)); にて、 「”name”」は何を意味しているか?

「rs.getString(“name”)」の部分で何を取得するか?

オブジェクトのインスタンス変数nameに格納する流れを説明してください。

p.setName(rs.getString(“name”)); にてgetStringメソッドはどのクラスにメソッドなのか?

p.setName(rs.getString(“name”)); とp.setAge(rs.getInt(“age”));にて、getStringとgetIntを使い分けているが、
何を元に判断して使い分けるか?

selectAllメソッドのlist2.add(p); はどのようなことを行っているのか?

今回の場合、Personオブジェクトは何個生成されているか?

return list2; にて、何をどこに返すのか説明してください

mainメソッドにて、iが0の場合、 p = list1.get(i); にて何をperson型p変数に返すのか説明してください

まとめ

講師からの質問例

DAOおよびDTOとは何か、説明してください。

以下の各用語について、説明してください。
・JDBC
・DBサーバ
・DBクライアント
・ドライバ

No.7:ServletからJSPへ呼び出し流れ(JSP/サーブレット)

課題1

講師からの質問例

物理ファイル構成図も使用しながら、画面が表示されるまでの流れを説明してください

Tomcatアプリサーバは再起動する必要は場合は以下のどれでしょうか?
①JSPファイルを修正した後
②Javaファイルを修正した後
③htmlファイルを修正した後
④XMLファイルを修正した後

一覧をクリックして画面表示した後、URLバーに表示される文字列はどれでしょうか?
①~/list
②~/listMapping
③~/view/ch08/list.jsp

ListServlet.javaでdoPost()メソッドではなくdoGet()メソッドを実行している理由は何故でしょうか?

一覧をクリックして次の画面が表示されるまでの流れを説明しなさい。

No.8:Servlet/JSPフォームデータ受け渡し(JSP/サーブレット)

課題1~4

講師からの質問例

物理ファイル構成図も使用しながら、画面が表示されるまでの流れを説明してください

URLバーに表示される文言と、表示される画面がどのファイルを元に作成されているか、説明してください

課題5

講師からの質問例

フォームからGET送信時の画面が表示されるまでの流れを説明してください

フォームからGET送信時にURLバーに表示される文言と、
表示される画面がどのファイルを元に作成されているか、説明してください

フォームからPOST送信時の画面が表示されるまでの流れを説明してください

フォームからPOST送信時にURLバーに表示される文言と、
表示される画面がどのファイルを元に作成されているか、説明してください

リンクから送信時の画面が表示されるまでの流れを説明してください

リンクから送信時にURLバーに表示される文言と、
表示される画面がどのファイルを元に作成されているか、説明してください

name=”keishiki”のデータが画面表示されていない理由は何故か、説明してください

まとめ

講師からの質問例

サーブレットで画面表示をする際に、setContentTypeで文字コードを指定しているのは何故か

jspからjspへの画面遷移時に、XMLファイルは参照しているか

No.9:ServletからJSPへのリスト渡し(JSP/サーブレット)

課題1

過去の受講生が描いたイメージ図(必ずしも正しいとは限りません)

講師からの質問例

当ディスカッションと、ディスカッションNo6(JDBC リスト内オブジェクト)とを比べて、どの辺が異なるか

画面上の「一覧」リンクをクリックしたとき、サーブレットクラスの処理が行われるまでのweb.xmlの流れはどのようになるか?

ListServlet.javaファイルの、request.setAttribute(“pist”, list)にて、requestが使われています。
Requestとsessionのスコープとの違いと、cookie(クッキー)について説明してください。
このとき、それぞれの例(使う場面)を挙げて説明してください。

getAttributeメソッドはどのようなメソッドか?また、なぜキャストを行っているのか?

DAOクラスにて、Person型p変数はいくつ作れてるか?

JSPファイルにて、Person型p変数はいくつ作られるか?

まとめ

講師からの質問例

MVCデザインパターンを使うメリットは何でしょうか?

Modelの役割は何でしょうか?

Viewの役割は何でしょうか?

Controllerの役割は何でしょうか?

今回のソースコードでModel、View、Controllerにあたるファイルはそれぞれどれか?