情報工学演習Ⅰ Java入門の入門 104 slides.

Slides:



Advertisements
Similar presentations
山元進.  for 文  while 文  do ~ while 文  文のネスト  break 文  continue 文.
Advertisements

プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
4章 制御の流れ-3.
プログラミング基礎I(再) 山元進.
プログラミング基礎I(再) 山元進.
基礎プログラミングおよび演習 第9回
プログラミング基礎I(再) 山元進.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔.
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
JAVA入門② 変数と型 式と演算子 制御文.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
プログラミング言語入門 手続き型言語としてのJava
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
JAVA入門.
情報処理Ⅱ 第2回 2007年10月15日(月).
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
プログラミング論 II 2008年10月30日 文字列
アルゴリズムとプログラミング (Algorithms and Programming)
プログラムはどこに保存され,どこで実行されるのか?
プログラミング演習I 2003年5月7日(第4回) 木村巌.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
プログラムはどこに保存され,どこで実行されるのか?
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
情報処理Ⅱ 第2回:2003年10月14日(火).
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
アルゴリズムとプログラミング (Algorithms and Programming)
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
情報処理Ⅱ 第3回 2007年10月22日(月).
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
情報処理Ⅱ 第2回 2005年10月14日(金).
情報処理Ⅱ 第2回 2006年10月13日(金).
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
情報処理Ⅱ 2006年11月24日(金).
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
情報処理Ⅱ 2005年10月28日(金).
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
情報処理Ⅱ 第2回 2004年10月12日(火).
第3回簡単なデータの入出力.
情報処理Ⅱ 2005年11月25日(金).
情報処理Ⅱ 小テスト 2005年2月1日(火).
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
C言語講座 四則演算  if ,  switch 制御文.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
Presentation transcript:

情報工学演習Ⅰ Java入門の入門 104 slides

表現系工学研究室の担当する内容 (ソフトウェア工学と人工知能の基礎) 認知システム論 演習Ⅰ 実験Ⅰ AIプログラミング Java入門の入門 オブジェクト指向 プログラミングⅠ ニューラルネット(1)(2) 探 索 論 理 論 理 ヒューマン・サイバネティクス 実験Ⅱ ニューラルネット 機械学習

内容 Javaの文法や扱うデータについて: C言語との共通点を確認する. C言語との相違点を学ぶ. (オブジェクト指向の内容は含まない.) 参考文献 改訂 新Java言語入門,林 晴比古,ソフトバンクパブリッシング(2004)

1 Javaの周辺 ・Javaとはどのような言語か ・Javaはどのような環境で動作するのか ・Java仮想マシンとは何か

Java言語とは Sun Microsystems社で開発されたプログラミング言語 プラットフォーム独立 CPUやOSが異なっていてもOK.移植が不要 ネットワークに1つあれば,どのプラットフォームからもダウンロードできる Write Once, Run Anywhere

Java仮想マシン (JVM: Java Virtual Machine) 仮想的なCPU.その機械語をバイトコードという. Javaコンパイラは,ソースプログラムをバイトコードにコンパイルする. 各プラットフォーム用のJVMでバイトコードを実行する. JVMは,インタプリタでバイトコードを解釈実行したり,ネイティブコンパイラで機械語に翻訳して実行する.

Javaで作成できるプログラム アプリケーション アプレット(Applet) サーブレット(Servlet) コンソール型アプリケーション ウィンドウ型アプリケーション アプレット(Applet) ホームページに埋め込まれて動作する サーブレット(Servlet) サーバーの上で動作する

Javaクラスライブラリ Javaプログラムはクラスという単位で構成される.

パッケージ 関連したクラスがパッケージと呼ばれる単位でまとめられている. 主要なJavaパッケージ パッケージ名 説明 java.applet アプレット作成 java.awt GUI java.io 入出力 java.lang Java言語の基本機能 java.math 算術演算 java.net ネットワーク処理 java.util ユーティリティ機能

Java開発キット JDK (Java Development Kit) Eclipse Sun Microsystems社のフリーソフト バージョン 1.0→1.1→1.2→1.3→1.4→5.0 J2SE = Java2 Standard Edition J2EE = Java2 Enterprise Edition J2ME = Java2 Micro Edition J2SE 5.0 (=Java2 Standard Edition 5.0) Eclipse IBM商品がオープンソース化したもの

・Javaプログラムの基本スタイル ・コンパイルと実行の方法 2 最初のアプリケーション ・Javaプログラムの基本スタイル ・コンパイルと実行の方法

基本プログラム例(1) ファイル名は Jsmp1.java のように .java を付ける. 大文字と小文字は区別される. public class Jsmp1{ public static void main(String args[]) { System.out.println("My first java."); } 2004.05.11 ここから

基本プログラム例(2) Jsmp1.java クラス メソッド public class Jsmp1{ クラス名とファイル名は同じ public class Jsmp1{ public static void main(String args[]) { System.out.println("My first java."); } クラス メソッド プログラムはmainメソッド からスタートする

基本プログラム例(3) System.out.println("My first java."); 1つの命令(文)最後に”;”が付く 画面に出力しろという命令 出力する内容(引数という)

プログラムのコンパイル手順 コマンドプロンプトを起動し,カレントディレクトリに移動する。 cd ........ プログラムをコンパイルする。 javac ファイル名 (例: javac Jsmp1.java) (成功すると クラス名.class というファイルが作られる) プログラムを実行する。 java クラス名 (例: java Jsmp1)       (ここは,ファイル名ではないことに注意!) 2004.04.27 ここまで

3 最初のアプレット 省略

4 最初のウィンドウ型アプリケーション 省略

・コメント ・字下げ ・名前の付け方 ・文字列の出力 ・変数宣言と数値出力 ・繰り返し文と条件文の雰囲気 5 Javaの基礎知識 ・コメント ・字下げ ・名前の付け方 ・文字列の出力 ・変数宣言と数値出力 ・繰り返し文と条件文の雰囲気

基本スタイル public class クラス名{ public static void main(String args[]) { (いろいろな記述) }

コメントを入れる(1) /* ファイル名 Cmnt.java 開発者 ○○ ○○ 作成日 2006.10.18 */ 開発者 ○○ ○○ 作成日 2006.10.18 */ public /* このようにもコメントを入れられます */ class Cmnt{ public static void main(String args[]) {  //mainの記述 System.out.println(“My first java.”); //文字出力 }

コメントを入れる(2) 用例1 /* a = 10; b = 20; c = 30; */ デバッグ作業への利用

字下げで見やすくする public class Smp1b { public static void main (String args[]) { System.out.println("My first java."); System.out.println("My second java."); }

名前のつけかた 1文字目に使用できる文字: 英字大文字(A~Z),英字小文字(a~z) 下線( _ ),ドル($) $はユーザは処理系用 2文字目以降に使用できる文字:  1文字目で使用できる文字  数字(0~9) 予約語(Javaが文法上使用するキーワード)は使用不可 大文字と小文字は区別される 全角文字(2バイト文字)はOK.

名前の慣例(1) 変数名とメソッド名には小文字を使う: int dt; public void sample1() 名前が複数の語で構成される場合,それぞれの語の先頭を大文字にするか,区切りにアンダーバー( _ )を入れる:   public void getData() public void get_data()

名前の慣例(2) クラス名は先頭を大文字にする: public class Greeting public class TextSort 記号定数はすべて大文字にする。複数の語で構成されるときには,必要ならアンダーバー( _ )で区切る: public static final int SIZE = 1000; public static final int MAX_DATA = 2000;

文字列を出力する public class Jsmp4{ public static void main(String args[]) { System.out.print("AAAAA"); System.out.print("BBBBB\nCCCCC\n"); System.out.println("DDDDD"); System.out.println("EEEEE\nFFFFF\n\nGGGGG"); }

変数と代入 数字,文字等 変数への値の代入 a = 3; 変数 a

数値出力 自動的に 文字列に 変換される 文字列の結合 public class Jsmp5 { public static void main (String args[]) { int a, b, sum; a = 100; //変数aに100を代入 b = 200; //変数bに200を代入 sum = a + b; //変数sumにa+b (=300)を代入 System.out.print("a="); //文字列だけ System.out.println(a); //数値だけ System.out.println("b=" + b); //文字列と数値 System.out.println("a+b=" + sum); //結果 System.out.println("a+b=" + (a+b)); //直接計算 } 自動的に 文字列に 変換される 文字列の結合

繰り返し処理 public class Jsmp6 { public static void main (String args[]) { int i, sum; for(i=1; i<=5; i++) System.out.println("i = " + i); sum = 0; for(i=1; i<=5; i++) { sum = sum + i; System.out.println("sum = " + sum); } 繰り返される部分 繰り返される部分

条件処理 public class JSmp7 { public static void main (String args[]) { int i; for(i=1; i<=5; i++) { System.out.println("i = " + i); if (i < 3) System.out.println(" 3未満です"); else System.out.println(" 3以上です"); }

条件判定式 if (a == b) ー もしaとbが等しいなら if (a != b) ー もしaとbが異なるなら

よくあるエラー '{'と'}'の対応が取れていない '('と')'の対応が取れていない "(二重引用符号)の対応が取れていない /* と */ の対応が取れていない 文末の';'を忘れている 大文字と小文字の違いがある メインクラス名とファイル名が不一致である

・基本データ型 ・String型 ・参照型 ・定数 ・型変換(キャスト) 6 変数と定数 ・基本データ型 ・String型 ・参照型 ・定数 ・型変換(キャスト)

8つの基本データ型 (1) 論理 文字 整数 boolean true(真)またはfalse(偽) char \u0000 ~ \uFFFF 説明 表現範囲 boolean 1ビット真偽値 true(真)またはfalse(偽) char 16ビットUnicode文字 \u0000 ~ \uFFFF byte 8ビット符号付き整数 -128 ~ 127 short 16ビット符号付き整数 -32768 ~ 32767 int 32ビット符号付き整数 -2147483648 ~ 2147483647 文字 整数 2004.06.15 ここまで 2004.06.15 ここから

8つの基本データ型 (2) 実数 データ型 説明 表現範囲 long 64ビット符号付き整数 -9223372036854775808 ~ 9223372036854775807 float 32ビット浮動小数点数 単精度の浮動小数点数 double 64ビット浮動小数点数 倍精度の浮動小数点数 実数

変数宣言と初期化 int a; double b,c; int d = 10; int e, f = 20, g; 変数宣言 変数宣言と 初期化を同時に記述 混ざっていても可

データの代入 int dt1 = 100; int dt2, dt3, dt4; dt2 = 200; dt3 = dt2;

C言語はint型を用いて 論理値を表現している boolean型(1) 「真」か「偽」かという論理値の表現 true  = 真 false  = 偽 C言語はint型を用いて 論理値を表現している

boolean型(2) boolean b; // boolean型の宣言 b = true; // trueを設定 b = false; // falseを設定 if (b == true) // bがtrueなら if (b == false) // bがfalseなら if (b) // (b==true)と同じ if (!b) // (b==false)と同じ b = 0; // Javaではエラー

char型 文字(文字コード)を保持できる変数 Javaの内部の文字コードは"Unicode" (1文字16ビット) char ch1, ch2; ch1 =‘A’; //半角文字を設定 ch2 =‘亜’; //全角文字を設定

整数型 byte bdt; // 8ビット short sdt; //16ビット int idt; //32ビット long ldt; //64ビット bdt = 127; sdt = 32760; idt = 1234567890; ldt = 1234567890123456789L;

浮動小数点型 float fdt; //32ビット 単精度実数 double ddt; //64ビット 倍精度実数 fdt = 123.456F; ddt = 123.456789012345;

String型 (文字列) String型は「基本データ型」ではなく「クラス」 String ss; String gg = "aaaa"; ss = "bbbb"; ss = ss + "cccc" ss = "dddd" + "eeee";

参照型(1) 基本データ型以外のデータとして,クラスと配列がある. クラスと配列を扱う変数の型を参照型という. 参照とは,アドレスあるいはポインタのこと. C言語のように,&や*を用いてポインタを扱うことはしない.

参照型(2) 配列名 a を宣言し, int a[ ]; int型10個分の領域確保 a = new int[10]; a a[0] あるいは int a[ ] = new int[10]; a[9]

参照型(3) String s = "abcde"; s "abcde"

論理定数 bdt = true; // 論理定数 bdt = false; // 論理定数

数値定数(1) idt = 022; // 先頭が"0"だと8進数 idt = 22; // 10進数の22 idt = 0x12AB; // 先頭が"0x"だと16進数

数値定数(2) ldt = 123456789012L; // 末尾がLまたはlだとlong型 fdt = 111.222F; // 末尾がFまたはfだとfloat型 ddt = 123.45678; // 小数点表現の浮動小数点数double型 ddt = 5.67e4; // 指数表現の浮動小数点数double型  5.67×104の意味 

文字定数と文字列定数 char ch; ch = 'A'; 文字定数 ch = '亜'; 文字定数 String ss; ss = "abcde"; 文字列定数

主なエスケープ文字 エスケープ文字 意味 \t タブ \\ \自身 \' シングルクォート 「’」 \" ダブルクォート 「"」 \n 改行 シングルクォート 「’」 \" ダブルクォート 「"」 \n 改行 \ooo 3桁の8進数 \uhhhh 4桁の16進数

エスケープ文字の使用例 String”ABC” ABC DEF System.out.println(”String\”ABC\””); と表示される System.out.println(”ABC\nDEF”); ABC DEF と表示される

final で設定した変数(定数)は、以後変更できない 1000が何を意味するのか判りにくい if (dt == 1000) ↓ final int MAX_DATA = 1000; …… if (dt == MAX_DATA) final で設定した変数(定数)は、以後変更できない

型変換(キャスト) int i ; double d; i = 123; d = i; //表現能力の高い方への代入はOK.dは123.0 d = 789.125; i = d; //表現能力の低い方への代入はエラー i = (int) d; //こうして型変換すればOK.iは789

・算術演算子 ・関係演算子 ・論理演算子 ・代入演算子 ・文字列の等価演算と連結演算 7 よく使われる演算子 ・算術演算子 ・関係演算子 ・論理演算子 ・代入演算子 ・文字列の等価演算と連結演算

おもな演算子の種類 演算子名 内 容 算術演算子 +やーなど四則演算を行う 関係演算子 2つの値の大小関係を判断する 論理演算子 内  容 算術演算子 +やーなど四則演算を行う 関係演算子 2つの値の大小関係を判断する 論理演算子 「かつ(AND)」や「または(OR)」などの論理演算を行う 代入演算子 計算結果を変数に代入する

算術演算子 + - * × / ÷ % mod Javaの演算子 数学の演算子 意味 使用例 結果 加算 12+4 16 減算 12-4 8 乗算 12*4 48 / ÷ 除算 12/4 3 % mod 余り 12%4

整数と浮動小数点数の混合計算 double ddt; ddt = 10 / 4; ddt = 10.0 / 4.0;

演算の優先順位 a = 10 + 20 * 30;       答えは? 610 * / % が + - より先に処理される ( ) が最優先

演算子には優先順位がある a = (10 + 20) * 30; a = 100 / 20 / 5; a = 100 / (20 / 5);

関係演算子と等価演算子 2つの値の大小関係を, true(真) false(偽) で表す。 例えば 1 < 3 → true  2つの値の大小関係を, true(真) false(偽) で表す。  例えば 1 < 3 → true 1 >=3 → false

関係演算子と等価演算子一覧 < <= ≦ > >= ≧ == = != ≠ 関係演算子 数学の演算子 意味 使用例 結果 < ~より小さい 1 < 2 true <= ≦ ~以下 1 <= 2 > ~より大きい 1 > 2 false >= ≧ ~以上 1 >= 2 == = 等しい 1 == 2 != ≠ 等しくない 1 != 2

論理演算子 (A && B;AかつB) A && B A false true B

論理演算子 (A || B;AまたはB) A || B A false true B

論理演算子 (!A;Aではない) !A A false true

代入演算子 a = 1234; a = a + 10; a = b = c = 10; ー a は 1234 ー a は 1244

複合代入 a += 10; a -= 10; += -= *= /= %= ー a = a + 10 と同じ += -= *= /= %= a += 10; a -= 10; ー a = a + 10 と同じ aに10を 足し込む ー a = a - 10 と同じ

++ -- インクリメント/デクリメント演算子(1) ++a; または a++; --a; または a--; 意味 使用例 ++ 1加算 ++a; または a++; -- 1減算 --a; または a--; ++a; または a++; は a = a + 1; と同じ. 2004.06.22 ここまで --a; または a--; は a = a - 1; と同じ.

先加算: a = ++b; b = b + 1; a = b; と同じ 後加算: a = b++; a = b; b = b + 1; インクリメント/デクリメント演算子(2) 先加算: a = ++b; b = b + 1; a = b; と同じ 後加算: a = b++; a = b; b = b + 1; と同じ 2004.06.22 ここまで

文字列の等価演算 s1 "abcde" s2 "abcde" String s1 = “abcde”, s2 = “abcde”; この2つの文字列の内容が同じかどうか調べたい. If( s1 == s2)   とするのは危険である. アドレスの比較 値(内容)の比較 s1 "abcde" If( s1.equals(s2) ) とするのが良い. s2 "abcde"

文字列連結演算子(1) String ss; ss = "aa" + "bb"; ー ssは"aabb" 文字列は +演算子で連結することができる. String ss; ss = "aa" + "bb"; ー ssは"aabb" ss = "aa" + 10; ー ssは"aa10" ss = 20 + "bb"; ー ssは"20bb" ss = 20 + 10; ー エラー

文字列結合演算子(2) String ss; ss = "" + 10; ー ssは"10" ss = "cc" + 10 + 20; ー ssは"cc1020" ss = "cc" + (10 + 20); ー ssは"cc30"

文字列結合演算子(3) int a = 100; b = 200; System.out.println("a=" + a); --出力は a=100 System.out.println("a+b=" + (a+b)); --出力は a+b=300 System.out.println("a+b=" + a + b); --出力は a+b=100200

・分岐(if,switch) ・反復(for,while,do-while) ・脱出・継続(break,continue) 8 制御文を使う ・分岐(if,switch) ・反復(for,while,do-while) ・脱出・継続(break,continue)

分岐(if)の例(イメージ) 条件(お金は十分か?) YES 真 NO 偽 購入手続き 門前払い 分岐した後, 合流する

if文の書式 if (条件) { 文1 } else { 文2

単文の例 if (b > 10) - bが10より大なら b = 20; - これを実行 else - さもなければ

複文の例 if (a == 2){ - aが2なら x = 1; y = 2; } else { - さもなければ x = 3;

elseの省略 if (b > 10) b = 20; Elseは 無くても良い (何もしない)

else ifによる多方向分岐 if (条件1) { 文1 } else if (条件2) { 文2 : else if (条件n) { 文n else { 文 条件によって たくさん分岐させるときに用いる

else ifによる多方向分岐例 if (a > 1000) dt = 4; else if (a > 500) dt = 3; { } 中括弧は 無くても良い (文が1つの場合)

else ifによる多方向分岐例 (さらにコンパクトな書き方) if (a > 1000) dt = 4; else if (a > 500) dt = 3; else if (a > 100) dt = 2; else dt = 1;

switch文の一般形式(1) switch(式) { case 定数式1: 文1 break; case 定数式2: 文2 …… default: 文 } 式 case 定数式1 case 定数式2 default 文1 文2 文

どれにもあてはまらなかった場合に実行される switch文の一般形式(2) 整数でなくてはいけない! switch(式) { case 定数式1: 文1 break; case 定数式2: 文2 …… default: 文 } セミコロンではないので要注意 ここでswitch文から抜け出る これがないと次の文まで実行されてしまう どれにもあてはまらなかった場合に実行される

いくつ文を並べてもよい case 3: a = 100; sum = sum + b; myfunc(); break; 複数の文だからといって { } を用いる必要はない case 3: a = 100; sum = sum + b; myfunc(); break;

switch(式)の式には 整数か文字を結果とする式を書く int a; double f; char c = 'Y'; switch ( a+10 ) switch ( f ) switch ( c ) OK エラー OK

繰り返し処理のイメージ 条件を満たしているか? 仕事 NO YES 仕事 条件を満たしているか? YES NO

for文の書式 for (初期化; 継続条件; 再設定) { 文 } 用例 for (i=1; i<=10; i++) { セミコロン ; が無いことに注意

for文の決まり文句 for (i= 1 ; i <= 10; i++) から まで

for (初期化; 継続条件; 再設定) { 文 } 初期化 偽 継続条件 真 文 再設定

for文の中で宣言した変数は、for文の中だけでしか使えない for (int i=1; i<=10; i++) { 文 } System.out.printn(i); for文の中で宣言した変数は、for文の中だけでしか使えない エラーが出る

for文内での変数宣言(2) for (int i=1,a=2; i<=10; i++, a--){ 文 } 複数の変数を宣言できる 複数の文を書くこともできる

for文による無限ループ for (;;) { 文…… } ※特殊な用法    - ループが無限に繰り返される

while文の書式 while (継続条件) { 文 } 用例 while (i<=10) { forよりずっと単純 終了条件ではないことに注意

while (継続条件) { 文 } 偽 継続条件 真 文

最初に一度は必ず文が実行される点が異なる do-while文の書式 do { 文 } while (継続条件); 用例 } while (i<=10); 最初に一度は必ず文が実行される点が異なる 2004.07.06 ここまで

do { 文 } while (継続条件); 文 真 継続条件 偽

break文で脱出する ラベルなしbreak文はswitch文またはfor,while,doなどのループから脱出するために用いる swtich文以外で用いるbreak文は,if文と併用する

break文のイメージ 繰り返し文(forなど){   命令;   break; } ・・・ この2つの命令は飛ばして 繰り返しを止める

ネスト構造=入れ子構造 for (…){ …… if(…) { for (…) { break; }

continue文で継続する continueはfor, while, do-whileの中だけで使用できる

continueのイメージ 繰り返し文(forなど){   命令;   continue; } この2つの命令は飛ばして 次の処理に移る

Java入門クリアまでのみちすじ(1) 9 配列を用いる 10 コンソール入出力 11 メソッドの作りかた 12 クラスの基本  9 配列を用いる 10 コンソール入出力 11 メソッドの作りかた 12 クラスの基本 13 クラスの継承 14 インタフェースを実装する 15 パッケージにまとめる 情報工学実験Ⅰ オブジェクト指向プログラミング(1)

Javaクリアまでのみちすじ(2) 16 スレッドを使う 17 例外処理をする 18 ファイル入出力 19 標準のメソッドを使う 16 スレッドを使う 17 例外処理をする 18 ファイル入出力 19 標準のメソッドを使う 20 アプレットの作成 21 ウィンドウ部品を用いる 22 ウィンドウ型アプリケーションの作成 情報工学実験Ⅰ オブジェクト指向プログラミング(2)