JavaプログラミングⅠ

Similar documents
JavaプログラミングⅠ

JavaプログラミングⅠ

Java プログラミング Ⅰ 11 回目多次元配列 2 次元配列 2 次元配列配列要素が直線上に並ぶ一次元配列に対して 平面上に並ぶ配列要素をもつ配列 直観的には 2 次元配列の準備配列変数の宣言は型と識別子を指定して次のように行う 型識別子 [ ][ ]; または 型 [ ][ ] 識別子 ; 配

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

JavaプログラミングⅠ

JavaプログラミングⅠ

JavaプログラミングⅠ

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

プログラミングA

JavaプログラミングⅠ

プログラミングA

Java講座

Microsoft PowerPoint - lec4.ppt

プログラミング入門1

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

5

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

JavaプログラミングⅠ

Microsoft PowerPoint - prog03.ppt

JavaプログラミングⅠ

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

JavaプログラミングⅠ

プログラミング入門1

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

2

プログラミング入門1

ガイダンス

K227 Java 2

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

タブ or スペース? インデントには タブ文字を使用する方法と半角スペースを使用する方法があります インデントにタ ブ文字を使うか半角スペースを使うかは 各プロジェクトで決められていることもありますが プログラ ムを書く人の好みだったりすることもあります まともなエディタであれば タブキーを押下し

マークアップ言語

2

cp-7. 配列

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要.

Prog1_6th

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

Javaによるアルゴリズムとデータ構造

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

Prog1_3rd

プログラミング入門1

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(Java) サンプル問題 知識科目 第 1 問 (

Microsoft PowerPoint - kougi6.ppt

スライド 1

講習No.9

プログラミングA

プログラミング入門1

gengo1-6

スライド 1


プログラム言語及び演習Ⅲ

8 / 0 1 i++ i 1 i-- i C !!! C 2

PowerPoint プレゼンテーション

C#の基本2 ~プログラムの制御構造~

Java知識テスト問題

Microsoft Word - java a.doc

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

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

プログラムの基本構成

Microsoft Word - VBA基礎(3).docx

問題1 以下に示すプログラムは、次の処理をするプログラムである

Microsoft PowerPoint - class2-OperatorOverLoad.pptx

新・明解Javaで学ぶアルゴリズムとデータ構造

PowerPoint プレゼンテーション

kiso2-09.key

プログラミング入門1

PowerPoint Presentation

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

人工知能入門

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

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

メソッドのまとめ

情報処理Ⅰ

Microsoft PowerPoint - 第3回目.ppt [互換モード]

Microsoft PowerPoint - prog07.ppt

ÿþ˜u#u·0¹0Æ0à0

Microsoft Word - 3new.doc

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

プログラミング入門1

Java Java Java Java Java 4 p * *** ***** *** * Unix p a,b,c,d 100,200,250,500 a*b = a*b+c = a*b+c*d = (a+b)*(c+d) = 225

Microsoft Word - 商業-3

C 言語第 3 回 2 a と b? 関係演算子 a と b の関係 関係演算子 等しい a==b 等しくない a!=b より大きい a>b 以上 a>=b より小さい a<b 以下 a<=b 状態 真偽 値 条件が満たされた場合 TRUE( 真 ) 1(0 以外 ) 条件が満たされなかった場合 F

program7app.ppt

Microsoft PowerPoint - 4.pptx

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

JavaプログラミングⅠ

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

JavaプログラミングⅠ

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

Microsoft Word - 03

memo

メソッドのまとめ

問題1 以下に示すプログラムは、次の処理をするプログラムである

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

Javaの作成の前に

sinfI2005_VBA.doc

PowerPoint プレゼンテーション

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

Transcription:

Java プログラミング Ⅰ 8 回目 for 文 今日の講義で学ぶ内容 for 文 変数のスコープ for 文の入れ子 繰り返し文 1 for 文 for 文最初に一度だけ初期化の式を処理します条件が true の場合 文を実行し 更新の式を処理して繰り返します条件が false の場合 for 文を終了します 条件は boolean 型で 関係演算子で表現される式などを記述します for( 初期化の式 ; 条件 ; 更新の式 ) 文 セミコロンです コード例 for(a=0;a<10;a++)b++; 条件は常に文を実行する前に処理されます ( 前判定ループといいます ) 初期化の式 true 条件 文 更新の式 false for 文はブロックを用いて次のように記述することもできます for( 初期化の式 ; 条件 ; 更新の式 ) 文 1 文 2 または 次のように書くと読みやすく分かりやすいでしょう for( 初期化の式 ; 条件 ; 更新の式 ) 文 1 文 2-1/10 -

ソースコード例ソースファイル名 :Sample8_1.java // for 文の実行 class Sample8_1 int i; // 変数 i を 1 つずつ増やし 1 から 5 になるまで繰り返す for(i=1; i<=5; i++) System.out.println(i+" 回目を繰り返しています "); System.out.println(" 繰り返しが終わりました "); 1 回目を繰り返しています 2 回目を繰り返しています 3 回目を繰り返しています 4 回目を繰り返しています 5 回目を繰り返しています 繰り返しが終わりました - 2/10 -

ソースコード例ソースファイル名 :Sample8_2.java // 1.0 から 3.0 まで 0.5 刻みでの合計を求める class Sample8_2 double di; double sum=0; // 合計の計算用 // 変数 di を 1.0 から 0.5 ずつ増やし 3.0 になるまで繰り返す for(di=1.0; di<=3.0; di+=0.5) sum += di; // sum = sum + di; と同じ System.out.println("1.0 から 3.0 まで 0.5 刻みでの合計は "+sum+" です "); 1.0 から 3.0 まで 0.5 刻みでの合計は 10.0 です for 文の初期化の式 条件 更新の式は省略可能です省略した場合 それぞれ次のような動作をします 初期化の式 初期化ではなにも実行されません 条件 常に true になります 更新の式 更新ではなにも実行されません たとえば for( ; ; ) は無限ループです for 文の初期化の式と更新の式には式文という分類の式を書きます式文とはセミコロンをその後につけて文とできる式であり 代入演算子 インクリメント デクリメント演算子を用いた式がありますたとえば a++; b=5; - 3/10 -

for 文の初期化の式と更新の式では, カンマで区切り 2 つ以上の式を記述できますカンマで区切られた式は 左から右へ順番に処理されます // 複数の変数の初期化 更新をおこなう class Ext8_1 int i, j; カンマで区切り複数の式を記述できます // 2 つの変数の初期化 for(i=1,j=1; i<=5; i++,j+=2) // カンマで区切る System.out.println(i+"+"+j+"="+(i+j)); System.out.println(" 終わり "); 1+1=2 2+3=5 3+5=8 4+7=11 5+9=14 終わり - 4/10 -

for 文の初期化の式に変数の宣言を含めることもできます変数を宣言するのと同じ要領で 1 つまたは複数の変数を宣言 初期化することができます // 変数の宣言と初期化を行う class Ext8_2 // 変数の宣言と初期化 for(int i=1; i<=5; i++) System.out.println(i+" 回目を繰り返しています "); // 同一の型で複数の変数の宣言と初期化を行う for(int i=1, j=2; i+j<=5; i++, j++) System.out.println(i+"+"+j+"="+(i+j)); 初期化の式 変数の宣言と初期化ができます // 複数の型の変数の宣言と初期化を行う( エラー ) // for(int i=1, double dj=2; i+j<=5; i++, j++) // System.out.println(i+" 回目を繰り返しています "); 初期化の式 同一の型の変数の宣言と初期化ができます 異なる型の変数の宣言と初期化はできません この場合は for 文に入る前に宣言するとよいでしょう 1 回目を繰り返しています 2 回目を繰り返しています 3 回目を繰り返しています 4 回目を繰り返しています 5 回目を繰り返しています 1+2=3 2+3=5-5/10 -

変数のスコープとは その変数を参照可能なコードの上の領域のことですスコープの開始は 変数の宣言の位置ですスコープの終了は それが属するブロックの終わりです // 変数のスコープ class Ext8_3 変数 i のスコープ int i=10; // main メソッドブロックの最後までがスコープ if(i==10) int j=10; // if 文ブロックの最後までがスコープ 変数 j のスコープ System.out.println(i); // OK System.out.println(j); // OK System.out.println(i); // OK System.out.println(j); // コンパイルエラー 同じスコープ ( ネストも含む ) 内で同名の変数は宣言できません 同じスコープ内に同名の変数が宣言されていると 変数 は で定義されています というコンパイルエラーがでます for 文の初期化の式で宣言される変数のスコープは 初期化の式 ( その変数以降 ( 右側 )) 条件 更新の式 for 文のブロックです たとえば 次の for 文で変数 i のスコープは点線内部です for(int i=1; i<=5; i++) System.out.println(" 繰返し番号 "); System.out.println(i); - 6/10 -

次のように for 文を記述するとどうなるでしょうか? // for 文のよくあるミス class Ext8_4 int i=0; for 文のブロック がない場合 次の 1 文が for 文の繰り返しで実行する文と解釈されます // for 文のブロック を忘れたら? for(i=1; i<=5; i++) System.out.println(i+" 回目を繰り返しています "); System.out.println(" 次の繰り返しに進みます "); System.out.println(" 処理を終了します n"); // for 文ブロック前に ;( セミコロン ) を入れてしまったら? for(i=1; i<=5; i++); System.out.println(i+" 回目を繰り返しています "); System.out.println(" 次の繰り返しに進みます "); System.out.println(" 処理を終了します "); 単独のセミコロン 文はセミコロンでおわる処理です単独のセミコロンは処理のない空の文です 繰り返しで実行する文が空の for 文と解釈されます次に続くブロックは for 文の繰り返しに含まれず 常に実行される通常の文です 1 回目を繰り返しています 2 回目を繰り返しています 3 回目を繰り返しています 4 回目を繰り返しています 5 回目を繰り返しています 次の繰り返しに進みます 処理を終了します 6 回目を繰り返しています 次の繰り返しに進みます 処理を終了します - 7/10 -

for 文の入れ子 for 文は 1 つの文です for 文を他の for 文に入れることができ 多重の繰り返しを処理できます for( 初期化の式 ; 条件 ; 更新の式 ) for 文 または 次のように書くと多重の繰り返しが分かりやすいでしょう for( 初期化の式 1 ; 条件 1 ; 更新の式 1 ) for( 初期化の式 2 ; 条件 2 ; 更新の式 2 ) 文 多重 for 文の動作 外側の for 文が一回繰り返される毎に内側の for 文が処理されます 2~3 重の for 文の入れ子はよく使われますので慣れておくとよいでしょう ソースコード例ソースファイル名 :Sample8_3.java // for 文のネスト構造 class Sample8_3 int i, j; // 2 重の繰り返し for(i=0;i<5;i++) // 変数 i を 0 から 4 まで繰り返す for(j=0;j<3;j++) // 変数 i を繰り返す度に変数 j を 0 から 2 まで繰り返す System.out.println("i は "+i+":j は "+j); - 8/10 -

i は 0:j は 0 i は 0:j は 1 i は 0:j は 2 i は 1:j は 0 i は 1:j は 1 i は 1:j は 2 i は 2:j は 0 i は 2:j は 1 i は 2:j は 2 i は 3:j は 0 i は 3:j は 1 i は 3:j は 2 i は 4:j は 0 i は 4:j は 1 i は 4:j は 2 ソースコード例ソースファイル名 :Sample8_4.java // 九九の表 class Sample8_4 int i, j; // 九九を計算して表として出力する for(i=1; i<=9; i++) // 変数 i を 1 から 9 まで繰り返す for(j=1; j<=9; j++) // 変数 j を 1 から 9 まで繰り返す // i 段 j 列目の九九を計算 System.out.print(i*j+" t"); // 1 段毎に改行を入れる System.out.println(); - 9/10 -

1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81 今日の講義のまとめ for 文は繰返し処理を記述します for 文は 初期化の式と条件 更新の式 繰返し対象の文からなります 初期化の式は最初に一度だけ処理されます 条件が真である間 文と更新の式が繰返し処理されます 条件が偽になると for 文は終了します for 文は 前判定ループです 前判定ループとは 対象となる文を処理する前に条件が評価 判定される繰返し処理のことです 変数のスコープとは その変数を参照可能なコード上の領域のことです for 文の中に for 文を入れることで多重の繰返しを処理できます - 10/10 -