1 / 104

情報工学演習 Ⅰ

情報工学演習 Ⅰ. Java 入門の入門. 104 slides. 表現系工学研究室の担当する内容 ( ソフトウェア工学 と 人工知能 の基礎). 演習 Ⅰ. 実験 Ⅰ. 認知システム論. Java 入門の入門. AI プログラミング. オブジェクト指向 プログラミング Ⅰ. ニューラルネット (1)(2). 探 索. 論 理. 論 理. ヒューマン・サイバネティクス. 実験 Ⅱ. ニューラルネット. 機械学習. 内容. Java の 文法 や扱う データ について: C言語との 共通点 を確認する. C言語との 相違点 を学ぶ..

zoey
Download Presentation

情報工学演習 Ⅰ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 1 Javaの周辺 ・Javaとはどのような言語か ・Javaはどのような環境で動作するのか ・Java仮想マシンとは何か ・Java開発キットとはどのようなものか

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

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

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

  8. Javaクラスライブラリ • Javaプログラムはクラスという単位で構成される. • 利用価値の高いクラス群がJavaクラスライブラリとして提供されている. • 既存のクラスを流用(継承)して,そこに機能を追加して,新しいクラスにできる.これがJavaプログラミングのスタイル.

  9. パッケージ 主要なJavaパッケージ • 関連したクラスがパッケージと呼ばれる単位でまとめられている.

  10. Java開発キット • JDK (Java Development Kit) • 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商品がオープンソース化したもの

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

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

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

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

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

  16. 3 最初のアプレット 省略

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

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

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

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

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

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

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

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

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

  26. 文字列を出力する 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"); } }

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

  28. 数値出力 自動的に 文字列に 変換される 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)); //直接計算 } } 文字列の結合

  29. 繰り返し処理 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); } } } 繰り返される部分 繰り返される部分

  30. 条件処理 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以上です"); } } }

  31. 条件判定式 if (a == b) ー もしaとbが等しいなら if (a != b) ー もしaとbが異なるなら if (a < b) ー もしaがbより小さいなら if (a > b) ー もしaがbより大きいなら if (a <= b) ー もしaがb以下なら if (a >= b) ー もしaがb以上なら

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

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

  34. 8つの基本データ型 (1) 論理 文字 整数

  35. 8つの基本データ型 (2) 実数

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

  37. データの代入 int dt1 = 100; int dt2, dt3, dt4; dt2 = 200; dt3 = dt2; dt4 = dt1 + dt2 + 300; dt1 = dt2 = dt3 = 500; //一度に代入

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

  39. 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ではエラー

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

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

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

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

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

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

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

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

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

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

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

More Related