Microsoft PowerPoint - prog03.ppt

Similar documents
Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

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

Microsoft PowerPoint - prog08.ppt

Microsoft PowerPoint - prog08.ppt

PowerPoint プレゼンテーション

ガイダンス

JavaプログラミングⅠ

Microsoft PowerPoint - prog03.ppt

Java言語 第1回

Prog1_6th

Microsoft PowerPoint - chap10_OOP.ppt

PowerPoint プレゼンテーション

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

プログラミング入門1

PowerPoint プレゼンテーション

Java講座

Microsoft PowerPoint ppt

Microsoft PowerPoint - prog07.ppt

PowerPoint プレゼンテーション

プログラミングA

JavaプログラミングⅠ

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

Javaの作成の前に

デジタル表現論・第4回

メソッドのまとめ

Javaプログラムの実行手順

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

スライド 1

PowerPoint プレゼンテーション

デジタル表現論・第6回

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

Microsoft PowerPoint - prog08.ppt

JavaプログラミングⅠ

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

プログラミング入門1

Prog2_9th

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

プログラミング実習I

Microsoft PowerPoint - lec06 [互換モード]

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

メソッドのまとめ

JavaプログラミングⅠ

JavaプログラミングⅠ

Microsoft PowerPoint - prog04.ppt

JavaプログラミングⅠ

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

JAVA入門

Microsoft Word - java a.doc

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

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

プログラミング入門1

JavaプログラミングⅠ

ガイダンス

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

Microsoft PowerPoint pptx

Microsoft PowerPoint - java13bb.ppt

プログラミング入門1

Prog1_10th

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Prog1_15th

JavaプログラミングⅠ

基本情報STEP UP演習Java対策

プログラミング入門1

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

ガイダンス

JavaプログラミングⅠ

情報処理Ⅰ

Microsoft Word - problem3.doc

Microsoft PowerPoint - prog11.ppt

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

GEC-Java

Prog1_2nd

プログラミング入門1

Prog2_12th

情報技術 Java の特徴 Java は現在 事務処理計算用プログラミング言語として開発された COBOL に取って代わり C 言語や C++ と並んで 現在最も使われているプログラミング言語の一つである Java は Write Once, Run Anywhere( プログラムを一度作成したらど

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

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

ガイダンス

情報実習Ⅱ

Microsoft PowerPoint - prog06.ppt

Microsoft PowerPoint - prog12.ppt

JavaプログラミングⅠ

プログラミング入門1

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint ppt

Microsoft PowerPoint - prog13.ppt

Prog1_3rd

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

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

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

Microsoft PowerPoint - prog13.ppt

PowerPoint プレゼンテーション

JavaプログラミングⅠ

Microsoft PowerPoint - 計算機言語 第7回.ppt

文字列操作と正規表現

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

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ

JavaプログラミングⅠ

Transcription:

プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1

今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33

今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です 本日の内容 前回の課題の解答 オブジェクト指向プログラミング ( その1) 画面への文字の出力 3/33

前回の課題の解答 4/33

前回の課題 その 1: 講義資料の pdf ファイルにあった Sample02a.java をコンパイル 実行しなさい 実行結果 何故 そのような値が出力されたか を報告しなさい 5/33

解説実行結果 public class Sample02a{ public static void main(string[] args){ int[] t1 t1 = new int[10]; int[] t2 t2 = {0,1,2,3,4,5,6,7,8,9}; t1[1]=1; コンソールに System.out.println(t1[0]); 0 System.out.println(t1[1]); 1 System.out.println(t2[3]); 3 } と表示される } 6/33

解説実行結果 public class Sample02a{ public static void main(string[] args){ int[] t1 t1 = new int[10]; 1を代入 int[] t2 t2 = {0,1,2,3,4,5,6,7,8,9}; したので t1[1]=1; 1が出力 System.out.println(t1[0]); される System.out.println(t1[1]); System.out.println(t2[3]); } } 整数型の配列は 0 に初期化されるので 0 が出力される t2 宣言時に値を代入しているので 3 が出力される 7/33

前回の課題 その 2:t2 の配列の要素をすべて画面に出力するプログラムを書きなさい ここで while, for, do~while のうち 何れかを用いること 8/33

解説 for 文を使った場合 public class Sample02a{ public static void main(string[] args){ int[] t1 t1 = new int[10]; for 文で int[] t2 t2 = {0,1,2,3,4,5,6,7,8,9}; 使う為に int i; 配列のサイズは i; 変数 iを 10なので 0から for(i=0;i<=9;i++){ 宣言 9まで繰り返す System.out.println println(t2[i]); } t2[i] の値を出力 } } while や do~while を使った場合の例は webに挙がっています 9/33

オブジェクト指向プログラミング ( 基本編 ) 10/33

オブジェクト指向プログラミング C 言語は 関数を駆使して記述する言語だった 基本的に 全部の命令は関数 Java は オブジェクトを駆使して記述する言語 すべてオブジェクト 関数的に利用できるモノもあるけど クラス インスタンス メソッド 次のページから解説 理解するのは 結構 面倒です 11/33

オブジェクトって何? 直感編 概念とか設計図の世界 缶中身 =?? 何も言われないと空である できること 中身を出す 中身を入れる 缶 A 缶 B 実物 ( オブジェクト ) の世界 中身 = オレンジ色の液体 できること 中身を出す 中身を入れる 中身 = 水色の液体 できること 中身を出す 中身を入れる 12/33

オブジェクトって何? 直感と Java 編 Java だとインスタンスと呼ぶ 概念とか設計図の世界 変数 缶中身 =?? クラス コンストラクタ 何も言われないと空である できること 中身を出す 中身を入れる メソッド 缶 A 缶 B 実物 ( オブジェクト ) の世界 インスタンス 中身 = オレンジ色の液体 できること 中身を出す 中身を入れる 中身 = 水色の液体 できること 中身を出す 中身を入れる インスタンス 13/33

オブジェクトって何? Java 編 Java だとインスタンスと呼ぶ 概念とか設計図の世界 変数 Test コンストラクタ int contents; contests=0; Data1 実物 ( オブジェクト ) の世界 contents = 10; メソッド pushcontents(); popcontests(); クラス メソッド pushcontents(); popcontests(); メソッド Data2 インスタンス contents = 20; メソッド pushcontents(); popcontests(); インスタンス 14/33

オブジェクト指向プログラミング インスタンス間でデータをやりとりする それぞれのインスタンスが処理を行う インスタンス A 関数のように使えるクラス main インスタンス C インスタンス B 15/33

例 : ここから先は 覚える事が一杯です 頑張って勉強しましょう 16/33

Java のプログラムの構造 プログラムは 1 つ以上のクラスを持ちます クラスは 変数とコンストラクタ メソッドを伴っています それぞれ 省略可能です メソッド main を持つクラスが 必ず必要です プログラムのファイル名と main を持つクラス名は 一致している必要があります 慣習として クラス名は大文字から メソッド名は小文字から初めます プログラムクラス変数の宣言コンストラクタメソッドクラス変数の宣言コンストラクタメソッド 17/33

サンプル例 1 Hello.java の場合 : public class Hello { main を持っているクラス名が Hello なので ファイル名は Hello.java クラスが持っている変数は無し コンストラクタも無し } public static void void main(string[] args) { System.out.println("Hello, world!"); } メソッドは main だけ 18/33

やりたいこと 1. クラスを書く 2. インスタンスを生成する 3. 実際に使ってみる 19/33

修飾子について 1. クラスを書く 2. インスタンスを生成する 3. 実際に使ってみる 修飾子というのが これから出てきます それぞれの変数やメソッドを どこから利用できるかを指定します public : すべてのクラスのメソッドからアクセス可能 private: 同じクラスのメソッドからのみアクセス可能省略したら 同じパッケージ内でpublicになる Data1 public な変数 private な変数 public なメソッド private なメソッド Data3 20/33

クラスの書き方 1. クラスを書く 2. インスタンスを生成する 3. 実際に使ってみる 必要なら修飾子を書く ( クラスの修飾子については次回以降 ) class Test Test { int test01; class と書く class 名を書く 変数やメソッドをクラスのメンバと言います 変数を宣言する } コンストラクタを書くが 今回はなし 次回以降に詳細 public void push(int test03){ } System.out.println(test01 + test03); メソッドを書く 書き方は後のスライド 21/33

変数の宣言の書き方 1. クラスを書く 2. インスタンスを生成する 3. 実際に使ってみる 修飾子と static 以外は C 言語の書き方に似ています 型を書く 変数名を書く 必要なら static と書く 説明は次回以降 int inttest01; static int inttest02; public int int test04; 修飾子を書く 22/33

メソッドの書き方 1. クラスを書く 2. インスタンスを生成する 3. 実際に使ってみる 修飾子以外は C 言語の関数の書き方に似ています 修飾子を書く必要ならstaticと書く 返値の型を書くメソッド名を書く引数を書く public void void push(int test03){ } System.out.println(test01 + test03); メソッドの中でのみ使用する変数の定義を書く 返値が有る場合は C と同様 return で返す 23/33

1. クラスを書く インスタンスの生成その 1 2. インスタンスを生成する 3. 実際に使ってみる 宣言と生成を行う必要がある 宣言の仕方 : クラス名インスタンス名 ; 生成の仕方 : インスタンス名 = new クラス名 (); 例えば クラス Test のインスタンス dt を生成するなら Test dt; dt = new Test(); とする 24/33

インスタンスの生成その 2 宣言と生成を 1 行で書くこともできる クラス名インスタンス名 = new クラス名 (); たとえば クラス Test のインスタンス dt を生成するなら Test dt = new Test(); 1. クラスを書く 2. インスタンスを生成する 3. 実際に使ってみる

使い方 1. クラスを書く 2. インスタンスを生成する 3. 実際に使ってみる インスタンスのメンバにアクセスするには インスタンス名.. メンバ名 とする たとえば クラス Test に整数型の変数 test01 という変数があって クラス Test のインスタンス dt を生成した場合 dt.test01 としてアクセスできる

サンプルプログラム class Test{ multiple(); int inttest01=2; public void void multiple(int test03){ System.out.println(test01 * test03); クラスTestの } インスタンスdtを生成 } dt test01=2; public class Sample03a{ public static void void main(string[] args){ Test Test dt dt = new new Test(); dt.multiple(100); dt.test01=5; dt test01=5; dt.multiple(100); } multiple(); } クラス Test の詳細 Test test01=2; multiple(); メソッドを 引数 100 を渡して実行 インスタンス dt の変数 test01 に代入

標準出力への出力 28/33

println メソッドと print メソッド 標準出力に文字を出力するメソッド System.out.print() 出力した後 改行しない System.out.println() 出力した後 改行する 改行する しないの違いがあるだけで 他は一緒 29/33

基本的な使い方その 1 文字列 Test Data を表示する例 : System.out.println("Test Data"); int 型の変数 t の値を表示する例 : System.out.println(t); そのまま 変数名を書けば OK 値 100 を表示する例 : System.out.println(100); "" で文字を囲む C 言語と違う C の場合 printf("%u n",t); そのまま書くと "100" と解釈して出力してくれる 30/33

基本的な使い方その 2 文字列 Test Data と整数型の変数 t の値を表示する例 : System.out.println("Test Data " + t); 出力結果 (t=10 の場合 ): Test Data 10 t+10 の値を表示する例 : + 記号で連結できる System.out.println(t + 10); 出力結果 (t=10 の場合 ): 20 + は演算と解釈される 31/33

色んな例 文字列と変数と値が + で並んでいる例 : System.out.println("Test Data " + t + 10); 出力結果 (t=10 の場合 ): Test Data 10 10 文字列と変数と値が + で並んでいる例 : 2 つの + は どちらも連結と解釈される System.out.println("Test Data " + (t (t + 10)); 出力結果 (t=10 の場合 ): Test Data 20 連結 括弧おかげで 演算として解釈 32/33

サンプルプログラム : ファイル名は public class Sample03b{ Sample03.java public static void main(string[] args){ int t=10; System.out.println("Test Data"); System.out.println(t); System.out.println(t+10); System.out.println("Test Data" + t); System.out.println("Test Data " + t + 10); System.out.println("Test Data " + (t (t + 10)); } } 33/33

誤植のおもひで 21ページ目上から2 行目 : 誤 : 必要ならstaticと書く 正 : 削除 34/33