public static void main(... ) { Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-2



Similar documents
AWT setcolor, drawstring Java AWT Abstract Window Toolkit Graphics AWT import import java.awt.* ; // AWT Graphics import java.awt.graphics; // AWT Gra

AWT setcolor, drawstring Java AWT Abstract Window Toolkit Graphics AWT import import java.awt.* ; // AWT Graphics import java.awt.graphics; // AWT Gra

Local variable x y i paint public class Sample extends Applet { public void paint( Graphics gc ) { int x, y;... int i=10 ; while ( i < 100 ) {... i +=

< F2D B825082CC96E291E82E6A7464>

Safari AppletViewer Web HTML Netscape Web Web 15-1 Applet Web Applet init Web paint Web start Web HTML stop destroy update init Web paint start Web up

< F2D E E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

Java演習(2) -- 簡単なプログラム --

< F2D89BA8EE882C E6A7464>

< F2D A839382CC906A2E6A7464>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q B

PowerPoint プレゼンテーション

-1 new ( ) ; Rectangle Java2 AWT window = new Frame( "Sample" ); rectangle = new Rectangle( 100, 50 ); // // = new ( ) ; Frame window = new Frame( "Sa

KeyListener init addkeylistener addactionlistener addkeylistener addkeylistener( this ); this.addkeylistener( this ); KeyListener public void keytyped

2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q B

< F2D A838B838D96402E6A7464>

JavaプログラミングⅠ

2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q B

Java 2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q 2.

Color frontcolor; // Color Graphics gc; // Graphics Frame window; // Frame Java 8-1 new ( ) ; Rectangle Java2 AWT window = new Frame( "Sample" ); rect

try catch Exception Java try catch try { } catch ( Exception e ) { } e 16-1 try catch 0 try { int x = 0; int y = 10 / x; } catch ( Exception e ) { Sys

< F2D82518CC282CC D2E6A7464>

Chapter 20. [ ] ; [ ] = new [ ] ; Color colors [ ] = new Color[ 20 ]; // 20 Button operations [ ] = new Button[ 10 ]; // 10 colors[ 3 ] = new Color( 1

Chapter 19. init paint actionperformed init if Subroutine Function init paint ( ) { } ( ) void public void init( ) { } init void void public Copyright

< F2D B838A835882CC8CF68EAE2E6A7464>

Chapter JDK KeyListener keypressed(keyevent e ) keyreleased(keyevent e ) keytyped(keyevent e ) MouseListener mouseclicked(mouseeven

Microsoft PowerPoint ppt

2 p.2 2 Java > javac Hello0.java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.j

untitled

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

Java言語 第1回

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

< F2D834F838C A815B A CC>

Java言語 第1回

表示の更新もそういた作業のひとつに当たる スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない その理由

2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q B

Microsoft PowerPoint - prog03.ppt

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet

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

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

Microsoft PowerPoint - chap10_OOP.ppt

< F2D82B682E182F182AF82F12E6A7464>

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

JAVA入門

基本情報STEP UP演習Java対策

Microsoft PowerPoint ppt

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

JavaプログラミングⅠ

Javaの作成の前に

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

Microsoft PowerPoint ppt

Microsoft PowerPoint prog1_doc2.pptx

( ) p.1 x y y = ( x ) 1 γ γ = filtergamma.java import java.applet.*; public class filtergamma extends Applet{ Image img; Image new_img; publi

第1章 ビジュアルプログラミング入門

JavaプログラミングⅠ

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

< F2D92DE82E8914B82CC977088D32E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464>

< F2D825282CC947B909482CC A815B83682E6A>

Copyright by Tatsuo Minohara 2004 rev Xcode Oct. 2 Macintosh Java Primer Chapter 2-2

Prog1_6th

JavaプログラミングⅠ

PowerPoint プレゼンテーション

Java言語 第1回

< F2D F B834E2E6A7464>

デジタル表現論・第4回

Microsoft PowerPoint - OOP.pptx

PowerPoint プレゼンテーション

Microsoft PowerPoint prog1_doc2x.pptx

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

PowerPoint プレゼンテーション

Javaプログラムの実行手順

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

GEC-Java

IT プロジェクト

ガイダンス

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

Prog1_15th

Java 3 p.2 3 Java : boolean Graphics draw3drect fill3drect C int C OK while (1) int boolean switch case C Calendar java.util.calendar A

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

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

アプレットⅠ

r3.dvi

Color.cyan, Color.yellow, Color.pink, Color.orange, Color.white, Color.black, Color.gray, Color.darkGray, Color.lightGray ; Button barray [ ] = new Bu

JavaプログラミングⅠ

r6.dvi

Microsoft PowerPoint - lec06 [互換モード]

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

Java講座

ガイダンス

Microsoft PowerPoint - java13bb.ppt

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Microsoft PowerPoint - OOP.pptx

JAVA入門

ガイダンス

K227 Java 2

Transcription:

System.out.print( "Once upon a time, " ); System.out.println( "a rabbit lived in the forest." ); System.out.println( "His name was Melo." ); Once upon a time, a rabbit lived in the forest. His name was Melo. go to the center of the garden ; find a rabbit ; hold her ; bring her to your home ; give her a bit of lettace ; Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-1

public static void main(... ) { Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-2

public class Sample { public void main( String [ ] args ) { System.out.println( "Hello World!" ); // Hello World! Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-3

class Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-4

class Rabbit {... class extends class Rabbit extends Animal {... new ( ); Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-5

new Font( "Optima", Font.PLAIN, 12 ); // Optimaという名前のフォントを作成する new Color( 244, 33, 111 ); // RGB値が 244, 33, 111のカラーを生成する このnewを伴って現れるクラス名に括弧がついたものは メソッドの一種です ですから この書式はメソッ ド呼出しの書式になっています この種類のメソッドを コンストラクタ Constructor と呼んでいます オブジェクトを生成するための特殊なメソッドなのです 通常のメソッド呼び出しと同じように オブジェク ト生成時に与えるパラメータを丸括弧の中に記述しても構いません このパラメータは 生成されるオブジェ クトのプロパティ 特徴 を指定するために用いられます どのようなパラメータを必要とするかは クラス によって異なります 例のようにパラメータが複数あれば カンマで区切ります また パラメータが必要な い場合は 丸括弧内には何も記述しません 3 4 メソッド 3 4 1 メッセージの伝達とメソッド あるオブジェクトから別のオブジェクトに対して送られる命令のことをメッセージ Message と呼びます 図3-4 オブジェクト間でのメッセージの送受 メッセージの受け手側 Receiver のオブジェクトは 受け取ったメッセージに対応して何をすべきかという ことが予め記述されていなければならないのです これは プログラムが予め実行される前に記述されていな ければならないことと同じだと思ってください この記述がオブジェクト指向におけるプログラムなのであ る この記述のことをメソッド Method と呼んでいます 以下の疑似プログラムは メソッドを記述して みた例です Javaでは丸括弧 は メソッドであることを示します passme( salt ) { // when object receives "passme salt" message take salt in the dining ; pass salt to my client ; オブジェクトは 1つ以上の種類のメッセージを受け取ることができます もちろん そのオブジェクトには 各メッセージに対応したメソッドが用意されていなければなりません 下の例は 3つのメソッドを記述した ものです 正確には書いていません このオブジェクトは sleepshorttimeと playpianoと eatfoodを 受け取ることができます sleepshorttime ( ) {...go to bed;... zzzz...wake up; playpiano ( ) {...open the cover; touch the key elegantly.. eatfood ( ) {...take a carrot; hum hum... Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-6

図3-5 3つのメソッドを持つオブジェクト 結局 コンピュータのユーザは 受取り手であるオブジェクトに用意されているメソッドに対してメッセージ を送って 何かをコンピュータに実行させることになります これが オブジェクト指向の基本的な考え方で す 他力依存型と考えてもよいでしょう ただし プログラマはメッセージを受け取った後の処理をプログラ ムとして記述しておかなければなりません メッセージを送ったり 受け取ったりすることをメッセージの受 渡し messagepassing と呼ばれています これは 実際にはオブジェクトに記述されたメソッドを実行す ることを意味していますので メソッド呼出し method call とも呼ばれています メソッド呼出しも1つ の文になっています Javaでは メソッドを呼び出すときも メソッドであることを示すために丸括弧 を つけています rabbitmelo.sleepshort Time( ) ; rabbitmelo.eatfood( ) ; 上の例は rabbitmeloと名づけたオブジェクトに対して sleepshorttme ちょっと寝なさい というメッ セージとeatFood 食べ物を食べなさい というメッセージを送っている すなわち定義されたメソッドを呼 び出している記述です 2つのメソッド呼び出しの文から構成されています オブジェクトの名前とメソッド の名前を分けるためのドット. に注意してください これは 日本語で言えば の に該当します 上の方 の記述は rabbitmeloのsleepshorttimeメソッドを呼び出しなさい という意味になっています 呼出し側のオブジェクトは 他のオブジェクトに対してメソッドを呼び出した後は そのメソッドの実行が終 わるまで待っています そして メソッドの処理が終了した後に 処理を再開します 図3-6 メソッドの実行が終わるまで待ち 実行を再開する ここまでは 一つのメソッド呼出しだけを説明しましたが 実際には更に 呼び出されたメソッドの中で別の オブジェクトに対して要求することもあるでしょう つまり 自分で処理しないで さらに他人に一部をお願 いするということです また メソッド呼出しのときは メッセージにいろいろなデータをつけ加えることができます これらのデー タ値のことをパラメータ Parameter あるいは引数 Argument と呼びます 例えば 次のようなメッ セージを考えてみましょう Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-7

Mammy.passMeCheeses( 4 ); // 4 passmecheeses( number ) { // number... go to dining ;... System.out.println( " " ) g.drawstring( "", 50, 25 ); Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-8

setlayout( null ); public static void main( String [] args ) {... public static void main String [ ] args public void paint( Graphics g ) {... public void paint Graphics g args g Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-9

class public class public class FirstApplication { public static void main( String [ ] args ) { System.out.println("Hello, World!"); // FirstApplication // main // println Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-10

import import java.awt.* ; import java.awt.color; <html> <body> <h1></h1> <applet code="goodweb" width="300" </body> </html> height="200"></applet> <applet code="goodweb" codebase="build" archive="goodweb.jar" width ="300" height="200" > </applet> Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-11

<object width="300" height="200" > <param name = "code" value = "GoodWeb.class"> <param name = "object" value = "GoodWeb" > <param name = "archive" value = "GoodWeb.jar"> </object> (0, 0 ) + x (300, 0 ) (120, 80) + y (0, 200 ) Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-12

g.setcolor( Color.red ); g.drawstring( "Hello, Apple!", 100, 95 ); import java.awt.* ; import java.applet.* ; // java.awt // java.applet public class FirstApplet extends Applet { // Applet FirstApplet static final String message = "Hello, World"; // message private Font font = // font new Font( "serif", Font.ITALIC + // Font Font.BOLD, 32 ); public void init( ) { setlayout( null ); public void paint( Graphics g ) { g.setcolor( Color.blue ); g.setfont( font ); g.drawstring( message, 40, 80 ); // init // setlayout // paint // setcolor // setfont // drawstring Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-13

import java.awt.* ; import java.applet.* ; // java.awt // java.applet public class FirstApplet extends Applet { //Applet FirstApplet public void paint( Graphics g ) { g.setcolor( Color.blue ); g.drawstring( "Hello, World", 40, 80 ); // paint // setcolor // drawstring import java.awt.* ; import java.applet.* ; public class StatusApplet extends Applet { public void paint( Graphics gc ) { gc.drawstring( "Status Example", 100, 50 ); showstatus( "I am fine, thank you." ); Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-14

\ Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-15

Copyright by Tatsuo Minohara 2004 rev. Oct. 6 Macintosh Java Primer Chapter 3-16