第4章 配 列 オブジェクト指向Javaプログラミング入門 近代科学社©2008 Toru Kato Masahiro Higuchi

Slides:



Advertisements
Similar presentations
山元進.  今日 総合的な演習  来週  中間試験  期末と中間両方受けて初めて成績が付く  どちらかを欠席したら 成績表は X  期末試験:適切な理由があれば追試が受けられる  適切な理由であるかの判定のため、診断書などを持参せ よ  対外試合に参加、などの理由は基本的に認めない.
Advertisements

プログラミング実習 1 ・ 2 ク ラス 第 2 週目 担当教員 : 渡邊 直樹. 課題 2 ● 2 × 2型行列の固有値, 固有ベクトルを求め る EigMatrix.java というプログラムを作成せ よ。 ● 行列の各要素はコマンド・プロンプトから入力 ● 計算した結果もコマンド・プロンプトに表示.
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
初年次セミナー 第8回 データの入力.
Generic programming と STL
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
JavaScript プログラミング入門 2006/11/10 神津.
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
C言語 配列 2016年 吉田研究室.
プログラミング言語としてのR 情報知能学科 白井 英俊.
~手続き指向からオブジェクト指向へ(Ⅰ)~
Javaのための暗黙的に型定義される構造体
ファーストイヤー・セミナーⅡ 第8回 データの入力.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング基礎I(再) 山元進.
C言語 配列 2016年 吉田研究室.
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
アルゴリズムとデータ構造 2011年6月13日
第6章 2重ループ&配列 2重ループと配列をやります.
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
第2章 Eclipseと簡単なオブジェクト 指向プログラミング
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
第20章 Flyweight ~同じものを共有して無駄をなくす~
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
第10回 プログラミングⅡ 第10回
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング言語入門 手続き型言語としてのJava
細かい粒度で コードの再利用を可能とする メソッド内メソッドと その効率の良い実装方法の提案
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
暗黙的に型付けされる構造体の Java言語への導入
関数と配列とポインタ 1次元配列 2次元配列 配列を使って結果を返す 演習問題
前回の練習問題.
第7回 プログラミングⅡ 第7回
アルゴリズムとデータ構造1 2005年6月24日
アルゴリズムとデータ構造 2010年6月21日
配列変数とポインタ 静的確保と動的確保 ポインタ配列 2次元配列 時間計測 第1回レポートの課題
プログラミング 3 スタックとキュー.
計算機プログラミングI 第5回 配列 文字列(Stringクラス) mainの引数 配列の利用例
オブジェクト・プログラミング 第8回.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
統計ソフトウエアRの基礎.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング 3 2 次元配列.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
C#プログラミング実習 第3回.
アルゴリズムとデータ構造 2012年6月11日
アルゴリズムとプログラミング (Algorithms and Programming)
アルゴリズムとデータ構造1 2009年6月15日
精密工学科プログラミング基礎 第7回資料 (11/27実施)
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
2019/6/6 リストを格納する変数 配列と連想配列.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
プログラミング 4 文字列.
アルゴリズムとデータ構造 2010年6月17日
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第5回 配列 変数宣言、初期化について
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第十回 知能情報学部 新田直也.
プログラミング演習I 補講用課題
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

第4章 配 列 オブジェクト指向Javaプログラミング入門 近代科学社©2008 Toru Kato Masahiro Higuchi 第4章  配 列 近代科学社©2008 Toru Kato Masahiro Higuchi Shiro Takata

配列 関連する複数のデータを、一つの名前で統一的に扱うためのオブジェクト  関連する複数のデータを、一つの名前で統一的に扱うためのオブジェクト  個々のデータをそれぞれ別の変数に代入して扱うような煩雑さを避けることができる  個々の要素は、配列名(配列変数名)とその後に続くindex(添字)を用いて処理できる [0] [1] [2] [3] 配列名

1次元配列を使ったプログラム例 even 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; プログラム例4.1.1(P. 95)改 配列変数evenの宣言と配列の生成 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; 10 even[1] = 2; 11 even[2] = 4; 12 even[3] = 6; 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } [0] [1] [2] [3] even

1次元配列を使ったプログラム例 even 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; プログラム例4.1.1(P. 95)改 配列evenへ、データを格納 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; 10 even[1] = 2; 11 even[2] = 4; 12 even[3] = 6; 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } [0] [1] [2] [3] even

1次元配列を使ったプログラム例 2 even 7 int[] even; 8 even = new int[4]; プログラム例4.1.1(P. 95)改 配列evenへ、データを格納 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; 10 even[1] = 2; 11 even[2] = 4; 12 even[3] = 6; 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } [0] [1] [2] [3] 2 even

1次元配列を使ったプログラム例 2 4 even 7 int[] even; 8 even = new int[4]; プログラム例4.1.1(P. 95)改 配列evenへ、データを格納 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; 10 even[1] = 2; 11 even[2] = 4; 12 even[3] = 6; 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } [0] [1] [2] [3] 2 4 even

1次元配列を使ったプログラム例 2 4 6 even 7 int[] even; 8 even = new int[4]; プログラム例4.1.1(P. 95)改 配列evenへ、データを格納 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; 10 even[1] = 2; 11 even[2] = 4; 12 even[3] = 6; 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } [0] [1] [2] [3] 2 4 6 even

1次元配列を使ったプログラム例 2 4 6 even 7 int[] even; 8 even = new int[4]; プログラム例4.1.1(P. 95)改 配列を用いてデータをまとめてしまえば、配列名を用いて それらのデータに対する処理が簡潔に記述できる 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; 10 even[1] = 2; 11 even[2] = 4; 12 even[3] = 6; 13 System.out.print("4番目までの偶数:"); 14 for (int i = 0; i < 4; i++) { 15 System.out.printf("%4d", even[i]); 16 } [0] [1] [2] [3] 2 4 6 even

1次元配列を使ったプログラム例 2 4 6 even 7 int[] even; 8 even = new int[4]; プログラム例4.1.1(P. 95)改 配列の大きさを利用するときには、lengthを使うべき 7 int[] even; 8 even = new int[4]; 9 even[0] = 0; 10 even[1] = 2; 11 even[2] = 4; 12 even[3] = 6; 13 System.out.print(even.length + "番目までの偶数:"); 14 for (int i = 0; i < even.length; i++) { 15 System.out.printf("%4d", even[i]); 16 } [0] [1] [2] [3] 2 4 6 even

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 0 0 0 [0][0] [0][1] [0][2] [0][3] [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 0 1 1 [0][0] [0][1] [0][2] [0][3] 1 [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 0 2 2 [0][0] [0][1] [0][2] [0][3] 1 2 [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 0 2 3 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 1 0 1 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 1 1 2 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 2 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 1 2 3 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 2 3 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 1 3 4 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 2 3 4 配列 a [2][0] [2][1] [2][2] [2][3]

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 2 0 2 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 2 3 4 配列 a [2][0] [2][1] [2][2] [2][3] 2

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 2 1 3 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 2 3 4 配列 a [2][0] [2][1] [2][2] [2][3] 2 3

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 2 2 4 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 2 3 4 配列 a [2][0] [2][1] [2][2] [2][3] 2 3 4

配列 a for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) {  (プログラム例4.3.1(p. 103)の5,6,7行目) for(int i = 0; i < 3; i++) { for(int j = 0; j < 4; j++) { a[i][j] = i + j; 2 3 5 [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] 1 2 3 4 配列 a [2][0] [2][1] [2][2] [2][3] 2 3 4 5

( ) 配列 a for(int i = 0; i < a.length; i++) {  2次元配列の大きさも length で取得できる。length を使うと、配列の大きさが変わっても他の部分は変更不要 for(int i = 0; i < a.length; i++) { for(int j = 0; j < a[i].length; j++) { a[i][j] = i + j; [0][0] [0][1] [0][2] [0][3] 1 2 3 [1][0] [1][1] [1][2] [1][3] a.length 3 1 2 3 4 配列 a [2][0] [2][1] [2][2] [2][3] ( = ) 2 3 4 5 a[i].length (= 4)