コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

Similar documents
GEC-Java

GEC-Java

GEC-Java

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

JavaプログラミングⅠ

Microsoft PowerPoint - chap10_OOP.ppt

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

GEC-Java

PowerPoint プレゼンテーション

プログラミング基礎I(再)

Microsoft PowerPoint - prog03.ppt

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

PowerPoint プレゼンテーション

ガイダンス

PowerPoint プレゼンテーション

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

Java言語 第1回

Microsoft PowerPoint - handout07.ppt [互換モード]

2004/11/23 オブジェクト指向プログラミング - モデル図とシーケンス図の表現方法 - オブジェクト指向プログラミング (OOP:ObjectOrientedPrograming) オブジェクト指向プログラミング言語 (OOPL) Java,C++,Delphi(Pascal),Visual

Prog1_6th

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

GEC-Java

Microsoft PowerPoint - prog04.ppt

プログラミング入門1

GEC-Java

GEC-Java

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

プログラミング入門1

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

デジタル表現論・第6回

JavaプログラミングⅠ

メソッドのまとめ

Javaプログラムの実行手順

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀

Microsoft PowerPoint pptx

JAVA入門

JavaプログラミングⅠ

レコードとオブジェクト

Microsoft PowerPoint ppt

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

PowerPoint プレゼンテーション

- 2 Copyright (C) All Rights Reserved.

スライド 1

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Java講座

ガイダンス

JavaプログラミングⅠ

プログラミング入門1

Prog2_12th

Program Design (プログラム設計)

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

JavaプログラミングⅠ

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

ガイダンス

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Microsoft PowerPoint - lec äº™æ‘łã…¢ã…¼ã…›

C#の基本

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

JAVA とテンプレート

プログラミングA

JavaプログラミングⅠ

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

プログラミング入門1

演算増幅器

文字列操作と正規表現

基本情報STEP UP演習Java対策

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

Prog1_15th

情報実習Ⅱ

IT プロジェクト

Microsoft PowerPoint - lec06 [互換モード]

ガイダンス

Make the Future Java FY13 PPT Template

スライド 1

JAVA入門

Java知識テスト問題

Prog2_9th

デジタル表現論・第4回

JavaプログラミングⅠ

JAVA入門

kantan_C_1_iro3.indd

PowerPoint Presentation

Microsoft Word - keisankigairon.ch doc

オブジェクト指向プログラミング・同演習 5月21日演習課題

K227 Java 2

数はファイル内のどの関数からでも参照できるので便利ではありますが 変数の衝突が起こったり ファイル内のどこで値が書き換えられたかわかりづらくなったりなどの欠点があります 複数の関数で変数を共有する時は出来るだけ引数を使うようにし グローバル変数は プログラムの全体の状態を表すものなど最低限のものに留

Microsoft Word - problem3.doc

Prog1_10th

Transcription:

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 10 回オブジェクト指向って? 白銀純子

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 2 第 10 回の内容 プログラミングの種類 オブジェクト指向とは?

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 3 プログラミングの種類 関数型言語 手続き型 オブジェクト指向言語

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 4 関数型言語 数学的な関数のみをもとにして記述するプログラム言語 一度変数に値が与えられれば その変数の値は変化しない 計算結果を引数とする 関数呼び出しのみで計算を行う プログラミング言語 : Lisp, Schemeなど

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 5 手続き型言語 記述された命令を上から順に実行していくプログラム言語 処理の結果に応じて変数の値が変化 プログラミング言語 : C 言語, BASIC, Pascalなど

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 6 オブジェクト指向言語 もの と もの との関係に重点を置いて記述するプログラミング言語 ある もの に対して それが持つ情報と その もの が行う作業を記述する ある もの と別の もの とのコミュニケーションを記述することで プログラムを動作させる プログラミング言語 : SmallTalk, C++, C# など

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 7 Java は? オブジェクト指向言語 これまでの言語にはない 完全なオブジェクト指向を実現した言語 Write Once, Run Anywhere ( 一度記述すればどこでも動作する ) がキャッチコピー 一度記述すれば OS 等の環境が異なるコンピュータでもプログラムは動作する 他のプログラミング言語では OS 等が違うとコンパイル 実行ができないこともある

オブジェクト指向の基礎 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 8

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 9 クラスとオブジェクト (1) オブジェクト指向 : もの を中心してソフトウェアを構築する考え方 もの : オブジェクト ( インスタンスとも ) 1つ1つの具体的な実物 名前を示されたとき これ とそのものを特定できるもの もの の分類 : クラス 実物を分類したカテゴリ ( 実物の総称のような概念 ) 名前を示されたとき その概念にあてはまるものがいくつか存在するもの オブジェクト と インスタンス は厳密にはちがうもの

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 10 クラスって (1)? Java は クラス というものを基本にして動作 クラス : Java プログラムを動作させるための基本単位 XX の処理をするためのクラス XX のデータを定義するためのクラス etc. これまで書いてきた Java プログラム それぞれの役割を持ったクラスをたくさん作り お互いに連携させることで Java のプログラムは動作 今回のクラス

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 11 クラスって (2)? public class クラス名 { でクラスの名前を指定 Java では 原則として クラス名 は 拡張子なし (.java なし ) のファイル名にする クラス名とファイル名は全く違うものにすることもできるが 原則として同じものにする コンパイルすると クラス名.class という名前のファイルができる

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 12 main メソッド この部分を最初に実行すること という意味の命令 Java では プログラムを実行したときに まず最初に public static void main(string[] args) の { と の間に書かれている処理を実行 複数のクラスが存在するときは public static void main(string[] args) があるのは 1 つのクラスのみ 複数のクラスを使ってプログラムを実行するときは java コマンドで指定するクラスは public static void main(string[] args) を持っているクラス

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 13 データを定義するためのクラス 異なる種類の情報をひとまとめにして扱うためのもの 一種のデータ型 ( ただし int や double と違い 内部で色々な情報を持っている ) 高校の生徒 1 人分の情報 String name, address, tel; int studentnumber, english, math, language, science, society; これだけの情報を持った クラス を作る

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 14 クラス を使うには? クラス は一種のデータ型 変数を宣言する ( 宣言方法は他のもの同じ ) ただし! 他のものと違い 宣言しただけでは使えない ( 初期化もできない!) 変数を使うためには... オブジェクト を作る

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 15 オブジェクト って? クラス とは 別の考え方をすれば それぞれの人や物が どういう種類の情報を持っているか を表すもの Student クラス ( 高校の生徒がどういう情報を持っているか ) 出席番号 1 番の生徒 ( クラス A) 出席番号 2 番の生徒 ( クラス A)... 出席番号 1 番の生徒 ( クラス B) 出席番号 2 番の生徒 ( クラス B) 住所 や 氏名 などの情報の持ち主 = オブジェクト オブジェクト : 実際に具体的な情報を持っている人や物

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 16 クラスとオブジェクト (1) クラス 実物を分類したカテゴリ ( 実物の総称のような概念 ) 名前を示されたとき その概念にあてはまるものがいくつか存在するもの オブジェクト 1 つ 1 つの具体的な実物 人や物を 持っている情報によって分類したもの Ex. 早稲田大学の学生 名前を示されたとき これ とそのものを特定できるもの クラス の分類に当てはまる 具体的な人や物 Ex. 早稲田大学の学生の早稲田太郎さん

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 17 クラスとオブジェクト (2) 図書館蔵書 ID 0001: 児玉公信著 : UML モデリングの本質, 日経 BP 社 図書館蔵書 ID 0002: マーチン ファウラー著, 羽生田栄一監訳 : UML モデリングのエッセンス, 翔泳社 本 というカテゴリ ( クラス ) に分類 実物の本 = オブジェクト 学生番号 1X16Y001: 早稲田太郎 学生番号 1X16Y002: 戸山花子 実物の学生 = オブジェクト 学生 というカテゴリ ( クラス ) に分類

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 18 クラスとオブジェクト (3) クラス : 同じ属性と操作を持つオブジェクトの集合 属性 ( フィールド ): オブジェクトが持つ情報 ( データ ) 操作 ( 振る舞い, メソッド ): オブジェクトが担当する処理 クラスの例 本 タイトル著者 データを見せる貸し出し処理をする返却処理をする 学生 学生番号住所成績 授業に出席するレポートを書く 犬 名前飼い主 遊ぶ寝るえさを食べる クラス名属性 ( フィールド ) 操作 ( メソッド )

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 19 クラスとオブジェクト (4) 1 つのクラスにオブジェクトを所属させることができる クラス : 実物を分類したカテゴリのようなもののため オブジェクト同士は それぞれのクラスに定義された操作 ( 処理 ) を呼び出す 操作 ( 処理 ) の呼び出しを メッセージ と呼ぶ メッセージを組み合わせてオブジェクト同士がコミュニケーションすることでプログラム全体が成り立つ

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 20 属性 操作 メッセージ ( 例 ) あなた ( 本 ) を貸して とお願いする ( 処理を呼び出す ) メッセージ 本 利用者 クラス 持っているデータ タイトル著者出版社 担当する処理 自分のデータを見せる貸し出し処理をする返却処理をする 属性 ( フィールド ) 操作 ( 振る舞い, メソッド )

プログラムでのクラスとオブジェクト Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 21

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 22 プログラムでしなければならないこと 1. クラスを定義する それぞれの もの について 内容を定義する どのような名前か? どのような情報 ( 属性 ) を持っているか? どのような操作 ( メソッド ) を持っているか? 2. オブジェクトを作る クラスに所属する個々のオブジェクトの情報の入れ物を作成 3. オブジェクトにデータを設定する 2. で作ったオブジェクトに 具体的なデータを設定

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 23 原則 データを定義するためのクラス (Java ファイル ) を 1 つ作成 処理のクラスとは別に作成 処理をするためのクラス (Java ファイル ) を 1 つ作成 データ定義のクラスとは別に作成 処理のクラスの中で データ定義のクラスのオブジェクトを作成 処理のクラスの中に オブジェクトを使って 様々な処理を記述

1. クラスの定義のしかた これまでと同じ 1 ファイル 1 クラス オブジェクトが持つデータ ( フィールド ) を変数として宣言 どのメソッドにも含まれない場所で宣言 オブジェクトが担当する処理 ( メソッド ) を定義 import java.io.*; import java.lang.*; クラス名フィールドの宣言 public class Student { String address, name, tel; int studentnumber, english, math, language; メソッドの定義 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 24

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 25 static キーワード フィールドの変数に static というキーワードをつけて宣言することがある Ex1. static String schoolname; Ex2. static int classnumber; static なしのフィールド ( インスタンス変数 ) オブジェクトごとに値が異なるフィールドを表現するために利用 Ex. 1 人 1 人の生徒の住所や電話番号 試験の成績など static つきのフィールド ( クラス変数 ) どのオブジェクトも値が同じであるフィールドを表現するために利用 Ex. 学校の名前など

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 26 プログラムでしなければならないこと 1. クラスを定義する それぞれの もの について 内容を定義する どのような名前か? どのような情報 ( 属性 ) を持っているか? どのような操作 ( メソッド ) を持っているか? 2. オブジェクトを作る クラスに所属する個々のオブジェクトの情報の入れ物を作成 3. オブジェクトにデータを設定する 2. で作ったオブジェクトに 具体的なデータを設定

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 27 2. オブジェクトの作り方 new クラス名 () でオブジェクトを作成し変数に代入 この作成 代入処理は 1. のクラスとは別のクラスのメソッド内で行う public class StudentManage { public static void main(string[] args) { Student info;... info = new Student(); オブジェクトの作成と変数への代入 Student クラスの変数 ( オブジェクト名 ) を宣言

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 28 オブジェクトを作る とは? 具体的な情報が何も設定されていない 情報の入れ物を作る というイメージ オブジェクト作成 new Student() オブジェクト作成 出席番号 1 番の生徒 address: studentnumber: english: math: language: 出席番号 2 番の生徒 address: studentnumber: english: math: language: 具体的な値は何もなし

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 29 オブジェクト が複数ある場合 高校の生徒 : 何人も存在 StudentManage.java public class StudentManage { public static void main(string[] args) { Student info;... info = new Student(); これだと 1 人分の情報だけ オブジェクトを配列または ArrayList にする

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 30 複数のオブジェクトの扱い ~ 配列 ~(1) オブジェクト : プログラムでの表記は変数と同じ = これまでの int や String と同様に配列の宣言が可能 public class StudentManage { public static void main(string[] args) { Student[] info = new Student[50];... info[0] = new Student(); info[1] = new Student();... Student クラスのオブジェクトを 50 個分宣言

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 31 複数のオブジェクトの扱い ~ 配列 ~(2) これまでと同様 オブジェクト名 [ 添え字 ] = new クラス名 (); で作成 配列で扱う個々のオブジェクトの作成を忘れないこと public class StudentManage { public static void main(string[] args) { Student[] info = new Student[50];... info[0] = new Student(); info[1] = new Student();... オブジェクトを 1 つ 1 つ作成 (for 文や while 文でまとめて作成しても OK)

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 32 複数のオブジェクトの扱い ~ArrayList~(1) オブジェクト : ArrayList で扱うことも可能 public class StudentManage { public static void main(string[] args) { ArrayList<Student> studentlist = new ArrayList<Student>();... Student info = new Student(); studentlist.add(info);... Student クラスのオブジェクトを登録するための ArrayList の宣言

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 33 複数のオブジェクトの扱い ~ArrayList~(2) 1 つ 1 つオブジェクトを作成し ArrayList に登録 public class StudentManage { public static void main(string[] args) { ArrayList<Student> studentlist = new ArrayList<Student>();... Student info = new Student(); studentlist.add(info);... オブジェクトを 1 つ 1 つ作成 (for 文や while 文でまとめて作成しても OK)

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 34 プログラムでしなければならないこと 1. クラスを定義する それぞれの もの について 内容を定義する どのような名前か? どのような情報 ( 属性 ) を持っているか? どのような操作 ( メソッド ) を持っているか? 2. オブジェクトを作る クラスに所属する個々のオブジェクトの情報の入れ物を作成 3. オブジェクトにデータを設定する 2. で作ったオブジェクトに 具体的なデータを設定

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 35 オブジェクトの利用 ( 値の代入と参照 )(1) オブジェクトの作成後 フィールドに値を代入可能 オブジェクト名. フィールド名 で普通の変数と同様に扱う new として オブジェクトを作成したクラスのメソッド内で オブジェクト名. フィールド名 という変数を利用できる public class StudentManage { public static void main(string[] args) { Student info;... info = new Student(); info.address="1-6-1, Nishi-Waseda..."; info.studentnumber=1; info.english=80; フィールドに値を代入

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 36 オブジェクトの利用 ( 値の代入と参照 )(2) オブジェクト名. フィールド名 で フィールド名 として使えるのは 1. で定義したクラスのフィールドの変数 オブジェクト名. フィールド名 で オブジェクト の (.) フィールド名 という意味 Student.java public class Student { String address, name, tel; int studentnumber, english, math, language; StudentManage.java public class StudentManage { public static void main(string[] args) { Student info;... info = new Student(); info.address="1-6-1, Nishi-Waseda..."; info.studentnumber=1; info.english=80;

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 37 オブジェクトの配列化 ~ 代入 ~(1) オブジェクト名 [ 添え字 ]. フィールド名 で 通常の変数と同様に扱う public class StudentManage { public static void main(string[] args) {... info[0].address="1-6-1, Nishi-Waseda..."; info[0].studentnumber=1; info[0].english=80;... オブジェクトのフィールドに1つ1つ値を代入

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 38 オブジェクトの配列化 ~ 代入 ~(2) 配列の要素. フィールド名 で 個々のオブジェクトの情報を表現 出席番号 1 番の生徒 (info[0]) 住所 : info[0].address 出席番号 : info[0].studentnumber 英語の得点 : info[0].english 数学の得点 : info[0].math 国語の得点 : info[0].language 出席番号 2 番の生徒 (info[1]) 住所 : info[1].address 出席番号 : info[1].studentnumber 英語の得点 : info[1].english 数学の得点 : info[1].math 国語の得点 : info[1].language 処理クラスの中で変数として利用

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 39 オブジェクトの配列化 ~ 代入 ~(3) フィールドに値を入れることにより 各オブジェクトの固有のデータが設定 public class StudentManage { public static void main(string[] args) {... info[0].address="1-6-1, Nishi-Waseda..."; info[0].studentnumber=1; info[0].english=80;... info[1].address="1-104, Totsukacho..."; info[1].studentnumber=2; info[1].english=93; 出席番号 1 番の生徒 address: 1-6-1, Nishi-Waseda... studentnumber: 1 english: 80 math: language: 出席番号 2 番の生徒 address: 1-104, Totsukacho... studentnumber: 2 english: 93 math: language:

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 40 オブジェクトの配列化 ~ 利用 ~ オブジェクトを配列にしたときも 添え字の考え方はこれまでと全く同じ 添え字は0から数え始める 0~[ 宣言した数 -1] の番号の添え字を利用できる..., -3, -2, -1 や [ 宣言した数 ], [ 宣言した数 +1], [ 宣言した数 +2],... は使えない 高校の生徒などの場合 添え字と出席番号を対応させると扱いやすい Ex. 出席番号 1 番の生徒は添え字 0, 出席番号 2 番の生徒は添え字 1,...

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 41 オブジェクトの ArrayList 化 ~ 代入 ~ オブジェクトのフィールドに値を設定後 ArrayList に登録 ArrayList に登録後 フィールドに値を設定するのはややこしいので注意! public class StudentManage { public static void main(string[] args) {... info.address="1-6-1, Nishi-Waseda..."; info.studentnumber=1; info.english=80; studentlist.add(info);... オブジェクトのフィールドに 1 つ 1 つ値を代入し ArrayList に登録

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 42 オブジェクトの ArrayList 化 ~ 利用 ~ get や size などのメソッドはこれまでと同様に利用可能 ArrayList ならではの for 文の書き方も利用可能 int i; Student st; for (i = 0; i < studentlist.size(); i = i + 1) { st = studentlist.get(i); 処理内容 ( st.studentnumber の形の変数も利用可能 ) 同じ処理 for (Student st: studentlist) { 処理内容 ( st.studentnumber の形の変数も利用可能 )

コンパイルと実行 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 58

Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 59 コンパイルと実行のしかた コンパイル javac の後に ファイル名をスペースでつなげて複数のファイルをコンパイル または * でそのフォルダに保存されている Java ファイルすべてをコンパイル 実行 % javac StudentManage.java Student.java プログラムに関係ない Java ファイルもコンパイルされる 関係ない Java ファイルにコンパイルエラーがあれば コンパイルが完了しないので注意 % javac *.java java の後に public static void main が書かれているファイル名 ( 拡張子なし ) を書く % java StudentManage