5.3.7 Ïé ðñïôüóåéò package êáé import ËïéðÝò äéáöïñýò ôçò Java áðü ôçí C

Σχετικά έγγραφα
viii Ðåñéå üìåíá Ó üëéá ÊõñéïëåêôéêÜ ÁñéèìçôéêÜ ÊõñéïëåêôéêÜ ËïãéêÜ ÊõñéïëåêôéêÜ Êõñéïëåêôéêïß áñáêôþñåò ÊõñéïëåêôéêÜ St

ìå ôï ASP.NET;... 7 Ôï IIS óôá Windows

ÓÕÍÈÇÊÇ ÁÌÅÔÁÈÅÔÏÔÇÔÁÓ ÓÕÓÔÇÌÁÔÏÓ ÔÏÉ ÙÌÁÔÙÍ ÐÁÑÁÑÔÇÌÁ Â

DOS Microsoft Windows... 65

ÓÕÍÄÕÁÓÔÉÊÇ É, ÓÅÐÔÅÌÂÑÉÏÓ ÏÌÁÄÁ ÈÅÌÁÔÙÍ B

ÓÕÍÄÕÁÓÔÉÊÇ É, ÓÅÐÔÅÌÂÑÉÏÓ ÏÌÁÄÁ ÈÅÌÁÔÙÍ Á

Ðåñéå üìåíá ìå Ìéá ÌáôéÜ

16. ÌåëÝôç ôùí óõíáñôþóåùí y=çìx, y=óõíx êáé ôùí ìåôáó çìáôéóìþí ôïõò.

Συντακτική ανάλυση. Μεταγλωττιστές. (μέρος 3ον) Νίκος Παπασπύου, Κωστής Σαγώνας

Cel animation. ÅöáñìïãÝò ðïëõìýóùí

Ó ÅÄÉÁÓÌÏÓ - ÊÁÔÁÓÊÅÕÇ ÓÔÏÌÉÙÍ & ÅÉÄÉÊÙÍ ÅÎÁÑÔÇÌÁÔÙÍ ÊËÉÌÁÔÉÓÌÏÕ V X

Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Εισαγωγή. Μεταγλωττιστές. Νίκος Παπασπύου, Κωστής Σαγώνας

ÄéáêñéôÝò êáé óõíå åßò ôõ áßåò ìåôáâëçôýò ÁóêÞóåéò

viii Ðåñéå üìåíá ÐñïâïëÞ Ðåñéãñáöþí ÉäéïôÞôùí Äéá åßñéóç Åñãùí Äéá åßñéóç Áñ åßùí Åñãùí ìå ôçí Åîåñåýíçóç Ëýóçò Åñãáóßåò ìå Ëýóåéò..

3524 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ)

Üóêçóç 15. ÕëéêÜ - åîáñôþìáôá äéêôýïõ ðåðéåóìýíïõ áýñá êáé ðíåõìáôéêýò óõóêåõýò

B ÛÈÎ EÚÁ ÏÂ Î È M ıô ÔÈ ÁÈ ÙÔÓ ŒÏÂÁ Ô ÙË ÔÈfiÙËÙ

3.1 Íá âñåèåß ôï ðåäßï ïñéóìïý ôçò óõíüñôçóçò f: 4 x. (iv) f(x, y, z) = sin x 2 + y 2 + 3z Íá âñåèïýí ôá üñéá (áí õðüñ ïõí): lim

Ìáèáßíïõìå ôéò áðïäåßîåéò

ΕΛΕΝΗ ΓΕΡΟΥΛΑΝΟΥ. Εικονογράφηση ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ ΓΙΑ ΠΑΙΔΙΑ ΝΗΠΙΑΓΩΓΕΙΟΥ ΛΗΔΑ ΒΑΡΒΑΡΟΥΣΗ ΕΚΔΟΣΕΙΣ ΠΑΠΑΔΟΠΟΥΛΟΣ

¼ñãáíá Èåñìïêñáóßáò - ÓõóêåõÝò Øõêôéêþí Ìç áíçìüôùí

ÅÍÏÔÇÔÁ 5ç ÔÁ Ó ÇÌÁÔÁ

ÌÅÑÏÓ I ÂáóéêÝò ííïéåò ÂÜóåùí ÄåäïìÝíùí 3. ÙÑÁ 1 Ôé Åßíáé ìéá ÂÜóç ÄåäïìÝíùí; 5. Éóôïñßá êáé ÅîÝëéîç ôùí Ðåñéâáëëüíôùí ÂÜóåùí ÄåäïìÝíùí 15

ÊåöÜëáéï 3 ÏÑÉÆÏÕÓÅÓ. 3.1 ÅéóáãùãÞ

ÌÅÑÏÓ 3 ΥΠΗΡΕΣΙΕΣ ΥΠΟΣΤΗΡΙΞΗΣ ΤΗΣ ΚΛΙΝΙΚΗΣ ΠΡΑΞΗΣ ÁÐÁÉÔÇÓÅÙÍ ÕÐÇÑÅÓÉÙÍ. Υπηρεσίες Ιατρικής Πληροφορικής και Τηλεϊατρικής 9 ÂÁÓÉÊÅÓ ÊÁÔÅÕÈÕÍÓÅÉÓ

Ôï Solution Explorer... 24

Τυπικές Γλώσσες. Μεταγλωττιστές. (μέρος 1ο) Νίκος Παπασπύου, Κωστής Σαγώνας

ÅÍÏÔÇÔÁ 6ç ÑÏÍÏÓ-ÄÉÁÄÏ Ç

iii 6 Creating Animations

4.5 ÁóêÞóåéò çìéêþò éóïññïðßáò ìå åðßäñáóç óôç èýóç éóïññïðßáò

ÐÉÍÁÊÁÓ ÐÅÑÉÅ ÏÌÅÍÙÍ

ιαδικασία åãêáôüóôáóçò MS SQL Server, SingularLogic Accountant, SingularLogic Accountant Ìéóèïäïóßá

å) Íá âñåßôå ôï äéüóôçìá ðïõ äéáíýåé ôï êéíçôü êáôü ôï ñïíéêü äéüóôçìá áðü ôï ðñþôï Ýùò ôï Ýâäïìï äåõôåñüëåðôï ôçò êßíçóþò ôïõ.

ÅéóáãùãÞ Äéäáêôéêïß óôü ïé ÐñïåñùôÞóåéò. Óôï êýñéï ìýñïò êüèå êåöáëáßïõ. Ïñéóìüò Éóôïñéêü óçìåßùìá ÓõìâïõëÞ. Ðñïóï Þ ñþóéìç ðëçñïöïñßá Óçìåßùóç

B ÛÈÎ EÚÁ ÏÂ Î È M ıô ÔÈ ÁÈ ÙÔÓ ŒÏÂÁ Ô ÙË ÔÈfiÙËÙ

ÊåöÜëáéï 4 ÄÉÁÍÕÓÌÁÔÁ. 4.1 ÅéóáãùãÞ (ÃåùìåôñéêÞ)

ÊåöÜëáéï 5 ÄÉÁÍÕÓÌÁÔÉÊÏÉ ÙÑÏÉ. 5.1 ÅéóáãùãÞ. 56 ÊåöÜëáéï 5. ÄÉÁÍÕÓÌÁÔÉÊÏÉ ÙÑÏÉ

Κίνδυνοι στο facebook WebQuest Description Grade Level Curriculum Keywords

ATHINA COURT. ÐïëõôåëÞ Äéáìåñßóìáôá

ÓõíåñãÜæïìáé ìå ôïõò Üëëïõò

µµ Setup : µ 2005

( ) ξî τέτοιο, + Ý åé ìßá ôïõëü éóôïí ñßæá óôï äéüóôçìá ( ) h x =,να δείξετε ότι υπάρχει ( α,β) x ΕΦΑΡΜΟΓΕΣ ΣΤΙΣ ΠΑΡΑΓΩΓΟΥΣ

3.1 H Ýííïéá ôçò óõíüñôçóçò ÐÁÑÁÄÅÉÃÌÁÔÁ - ÅÖÁÑÌÏÃÅÓ

Προτεινόμενα θέματα Πανελλαδικών εξετάσεων. Χημεία Θετικής Κατεύθυνσης ΕΛΛΗΝΟΕΚΔΟΤΙΚΗ

Ðñïêýðôïõí ôá ðáñáêüôù äéáãñüììáôá.

ÐïëëÝò åôáéñßåò ðñïóöýñïõí õðçñåóßåò

6936 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ)

ii Ðåñéå üìåíá 2.11 ÌåôáôñïðÞ ÁíÜìåóá óå Áêôßíéá êáé Ìïßñåò Õðïëïãéóìüò Óõíçìéôüíùí, Çìéôüíùí êáé ÅöáðôïìÝíùí ÐáñáãùãÞ Ôõ áßùí Áñé

Ðåñéå üìåíá. Ðñüëïãïò...13 Ðñüëïãïò ÅëëçíéêÞò êäïóçò...17

Áóõìðôùôéêïß Óõìâïëéóìïß êáé Éåñáñ ßá ÓõíáñôÞóåùí

> ÁíáãåíÝò óôüäéï (ðïëý ìåãüëç äéüñêåéá) Ôï áíáãåíýò åßíáé ôï óôüäéï ôçò áíüðôõîçò. Ç ôñß á áñ ßæåé íá ãåííéýôáé êáé ðïëý ãñþãïñá ðáßñíåé ôçí ïëïêëçñù

2.4 ñçóéìïðïéþíôáò ôïí êáíüíá áëõóßäáò íá âñåèåß ç dr

Γενικές Οδηγίες για Ορθές Γεωργικές Πρακτικές

xix StringBuffer (java.lang.stringbuffer) Wrapper java.lang.boolean java.lang.character java.lang.number...

Union of Pure and Applied Chemistry).

Estimation Theory Exercises*

ΣΕΡΙΦΟΣ ΣΕΡΙΦΟΥ ΓΑΛΑΝΗΣ

Lotus Quattro Pro... 7 Microsoft Excel... 8

ΔΙΗΜΕΡΟ ΚΙΝΗΤΟΠΟΙΗΣΕΩΝ ΤΩΝ ΔΗΜΩΝ ΤΗΣ ΧΩΡΑΣ. Αναστολή λειτουργίας των δήμων στις 12 και 13 Σεπτεμβρίου 2012

Ç íýá Ýííïéá ôïõ ýðíïõ!

Τυπικές Γλώσσες. Μεταγλωττιστές. (μέρος 2ο) Νίκος Παπασπύου, Κωστής Σαγώνας

Ðåñéå üìåíá. Ðñüëïãïò...13 Ðñüëïãïò ÅëëçíéêÞò êäïóçò...17

óôï Web CONNECT DISCONNECT êáé EXIT... 14

ÓÕÃ ÑÏÍÇ ÅËËÇÍÉÊÇ ÐÅÆÏÃÑÁÖÉÁ

Ðßíáêáò Ðåñéå ïìýíùí. ÌÅÑÏÓ I Ôá ÂáóéêÜ ôïõ C++Builder 5

1. Εισαγωγή 2. Διαπιστεύσεις: Πιστοποίηση Ε.ΚΕ.ΠΙΣ.- Πιστοποίηση ΕΛΟΤ ΕΝ ISO 9001: Σκοπός του Προγράμματος 4. Κατηγορίες υποψηφίων που

(Á 154). Amitraz.

ÌÁÈÇÌÁÔÉÊÇ ËÏÃÉÊÇ Ë1 5ï ðáêýôï áóêþóåùí

Μαθηματικά ΙΙΙ. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 16: Προσέγγιση συνήθων διαφορικών εξισώσεων Μέρος ΙΙ. Αθανάσιος Μπράτσος

245/Á/1977). 2469/1997 (ÖÅÊ 36/Á/1997). 1484/Â/ ).

ÅõñùðáúêÞ íùóç Áëïõìéíßïõ Ý åé äçìïóéåýóåé Ýíáí ìßíé - ïäçãü åðåîþãçóçò

êåöüëáéï2 ÐëçñïöïñéáêÜ ÓõóôÞìáôá 2.1 ÅéóáãùãÞ Ως óýóôçìá (information system ó Þìá 2.1) ìðïñïýìå íá èåùñþóïõìå ãåíéêü, Ýíá

9. ÁíÜðôõîç ðñïãñáììüôùí ìå ñïíéêýò ëåéôïõñãßåò.


1.1 Ïé öõóéêïß áñéèìïß - ÄéÜôáîç öõóéêþí, Óôñïããõëïðïßçóç

1ï ÊñéôÞñéï Áîéïëüãçóçò

1. Íá ëõèåß ç äéáöïñéêþ åîßóùóç (15 ìïí.) 2. Íá âñåèåß ç ãåíéêþ ëýóç ôçò äéáöïñéêþò åîßóùóçò (15 ìïí.)

ÖÅÊ 816 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ) ÏÄÇÃÉÅÓ ÐÁ ÔÇ ÓÕÌÐËÇÑÙÓÇ ÔÇÓ ÁÉÔÇÓÇÓ ÅÃÊÅÊÑÉÌÅÍÏÕ ÁÐÏÈÇÊÅÕÔÇ Ï ÇÌÁÔÙÍ 1. ÇÌÅÑÏÌÇÍÉÁ: ÁíáãñÜöåô

ËåéôïõñãéêÜ ÓõóôÞìáôá

ΘΕΜΑ: Τροποποίηση κατηγοριών στα εγκεκριµένα ενιαία τιµολόγια εργασιών για έργα οδοποιϊας.

ÐëÞñçò C++ Walter Savitch. 4ç êäïóç. ÓõíåñãÜôçò Kenrick Mock University of Alaska, Anchorage. University of California, San Diego

B i o f l o n. Ãéá åöáñìïãýò ìåôáöïñüò çìéêþí

Óõíå Þ êëüóìáôá & Áöáéñåôéêüò Åõêëåßäåéïò áëãüñéèìïò

Ó åäßáóç ìå Ç/Õ - AutoCAD

ÅñãáóôÞñéï 5. ÄïìÝò ÄåäïìÝíùí. 5.1 Óôü ïé. 5.2 Áðáñáßôçôï Õëéêü. 5.3 Ðñïåôïéìáóßá ôïõ Ç/Õ

ÏìÜäá Å: ëëåò ÓõíáñôÞóåéò

ÁñéèìçôéêÞ ÁíÜëõóç É - ÓÅÌÖÅ Åñãáóßá 2 ìåóåò êáé åðáíáëçðôéêýò ìýèïäïé

ÔÁ ÐÅÑÉÅ ÏÌÅÍÁ ÅÍ ÓÕÍÔÏÌÉÁ

ÕÄÑÏËÇØÉÅÓ ÔÕÐÏÕ Á2 - Á4 ÌÅ ÁÍÔÉÐÁÃÅÔÉÊÇ ÐÑÏÓÔÁÓÉÁ

Σημασιολογική ανάλυση

Το νέο Maxi-Cosi Pebble. Η τελευταία λέξη στην ασφάλεια και την άνεση.

ΠΑΡΟΣ ΑΓΚΑΙΡΙΑΣ ΟΙΚΙΣΜΟΣ: ΠΑΡΑΔΟΣΙΑΚΟΣ ÏÉÊÉÓÌÏÓ. 2) Για τουριστικές εγκαταστάσεις και για εγκαταστάσεις οργανισμών κοινής ωφελείας:

Artwork Package GK Issue 2.0

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

ÓÔÁÔÉÊÏÓ ÇËÅÊÔÑÉÓÌÏÓ Ðåñéå üìåíá

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

Øçöéïðïßçóç Þ ïõ - Ðñüôõðá áðïèþêåõóçò Ôï ðñüôõðï MIDI áñôïãñáöéêýò åéêüíåò ÂÜèïò ñþìáôïò ÄéáíõóìáôéêÝò åéêüíåò...

1988: Oracle Financials/Oracle CASE... 8

ΙΣΤΙΟΠΛΟΪΚΟΣ ΑΓΩΝΑΣ : ΑΣΠΡΟΝΗΣΟΣ Ο ΗΓΙΕΣ ΠΛΟΥ

: Ï ïäçãüò áõôüò åîçãåß ôïí ôñüðï áíôéêáôüóôáóçò êáé áíáâüèìéóçò ôçò ìíþìçò óôïí õðïëïãéóôþ.

Transcript:

12 Ðåñéå üìåíá ÊåöÜëáéï 1...21 ÅéóáãùãÞ óôéò Ãëþóóåò Ðñïãñáììáôéóìïý...21 1.1 Ç Ãëþóóá Ðñïãñáììáôéóìïý óôç äéáäéêáóßá ÁíÜðôõîçò ÓõóôçìÜôùí Ëïãéóìéêïý.21 1.1.1 Ìç áíßêåõóç Ëïãéóìéêïý... 23 1.1.2 ÌïíôÝëï Êýêëïõ æùþò Ëïãéóìéêïý - Ìåèïäïëïãßá... 24 1.1.3 ÉóôïñéêÞ áíáäñïìþ óôç äéáäéêáóßá áíüðôõîçò ëïãéóìéêïý... 25 1.1.4 Ç äéáäéêáóßá áíüðôõîçò ëïãéóìéêïý ùò äéáäéêáóßá ðáñáãùãþò ìïíôýëùí... 26 1.1.5 Ç äéåñãáóßá ùò âáóéêü äïìéêü óôïé åßï óôç äéáäéêáóßá áíüðôõîçò ëïãéóìéêïý.. 27 1.2 ÌïñöÝò ðñïãñáììáôéóìïý... 28 1.3 Éóôïñßá ôùí ãëùóóþí ðñïãñáììáôéóìïý...31 1.4 Áðü ôç C óôç Java... 33 1.4.1 Éóôïñßá ôçò C... 33 1.4.2 Ãéáôß C;... 36 1.4.3 Ãéáôß Java;... 37 1.4.4 Éóôïñßá ôçò Java... 38 ÊåöÜëáéï 2...43 ÂáóéêÝò Ýííïéåò ôçò Áíôéêåéìåíïóôñåöïýò ÐñïóÝããéóçò...43 2.1 Áíôéêåßìåíï - ÊëÜóç - Óôéãìéüôõðï... 44 2.1.1 Áíôéêåßìåíï... 44 2.1.2 ÊëÜóç êáé Óôéãìéüôõðï... 44 2.1.3 Ó Ýóåéò ìåôáîý ôùí êëüóåùí... 45 2.1.4 ÊÜèå êëüóç Ý åé Ýíáí áíáãíùñéóôþ... 47 2.2 Ôï Óýóôçìá óôçí ÁÐ... 47 2.2.1 Ôï óýóôçìá ùò óõíüèñïéóç áíôéêåéìýíùí... 47 2.2.2 Ôá áíôéêåßìåíá åðéêïéíùíïýí ìåôáîý ôïõò ìå ìçíýìáôá... 48 2.2.3 Ôá åðéìýñïõò áíôéêåßìåíá ôïõ óõóôþìáôïò óõíåñãüæïíôáé ãéá ôçí ðáñï Þ ôùí åîõðçñåôþóåþí ôïõ... 49 2.2.4... Ôá åîùôåñéêü áíôéêåßìåíá Ý ïõí ðñüóâáóç ìüíï óå ïñéóìýíá áíôéêåßìåíá ôïõ óõóôþìáôüò ìáò... 50 2.3 Äçìéïõñãßá - ÊáôáóôñïöÞ ÁíôéêåéìÝíïõ... 51 2.4 ÁíôéêåéìåíïóôñåöÞò ÐñïóÝããéóç ÁíÜðôõîçò ÓõóôçìÜôùí Ëïãéóìéêïý... 52

ÊåöÜëáéï 3...57 Äéáäéêáóßá ÁíÜðôõîçò Java ðñïãñüììáôïò...57 3.1 ÅéóáãùãÞ... 58 3.2 Äéáäéêáóßá áíüðôõîçò áõôüíïìçò åöáñìïãþò... 58 3.2.1 ÓõããñáöÞ ðçãáßïõ êþäéêá... 58 3.2.2 Ìåôáãëþôôéóç... 59 3.2.3 ÅêôÝëåóç... 59 3.3 Ï Java äéåñìçíåõôþò... 60 3.4 Äéáäéêáóßá áíüðôõîçò Applet... 62 3.5 ÅðåîÞãçóç åíüò áðëïý Ápplet... 65 ÊåöÜëáéï 4...71 ÊëÜóç - Áíôéêåßìåíï...71 4.1 Ãéáôß ÊëÜóç êáé Óôéãìéüôõðï;... 72 4.2 Ç ÊëÜóç óôç Java... 74 4.2.1 ÄÞëùóç ÊëÜóçò... 74 4.2.2 Äçìéïõñãßá óôéãìéüôõðïõ... 75 4.2.3 ÐÝñáóìá ìçíõìüôùí... 76 4.2.4 ÐñïóðÝëáóç óôá ÄåäïìÝíá ÁíôéêåéìÝíïõ... 78 4.2.5 ÅíèõëÜêùóç... 78 4.3 Äçìéïõñãïß áíôéêåéìýíùí... 79 4.3.1 Ìç áíéóìüò äçìéïõñãßáò óôéãìéüôõðïõ... 79 4.3.2 Ïñéóìüò Äçìéïõñãïý... 81 4.3.3 Ðïëëáðëïß Äçìéïõñãïß... 82 4.3.4 Õðåñöüñôùóç ìåèüäùí... 83 4.3.5 ÁðëïðïéçìÝíç óõããñáöþ äçìéïõñãþí... 84 4.4 ÌåôáâëçôÝò êáé ÌÝèïäïé êëüóçò... 85 4.4.1 ÌåôáâëçôÝò ÊëÜóçò... 86 4.4.2 ÓôáèåñÜ ÊëÜóçò... 87 4.4.3 ÌÝèïäïé ÊëÜóçò... 88 ÊåöÜëáéï 5... 111 Ç Java ùò åðýêôáóç ôçò C... 111 5.1 Ôýðïé ÄåäïìÝíùí... 112 5.1.1 O ôýðïò Boolean... 113 5.1.2 Ï ôýðïò Äåßêôç... 113 5.1.3 Ôýðïé áíáöïñüò... 113 5.1.4 Ôýðïò Ðßíáêá... 115 5.1.5 ÁëöáñéèìçôéêÜ... 118 5.2 ÔåëåóôÝò... 118 5.3 ÐñïôÜóåéò åëýã ïõ ñïþò... 121 5.3.1 ÐñïôÜóåéò if/else, while êáé do/while... 121 5.3.2 H ðñüôáóç switch... 122 5.3.3 Ç ðñüôáóç for... 122 5.3.4 Ïé ðñïôüóåéò break êáé continue... 123 5.3.5 Ç ðñüôáóç goto... 125 5.3.6 Ç ðñüôáóç synchronized... 126 13

14 5.3.7 Ïé ðñïôüóåéò package êáé import... 127 5.4 ËïéðÝò äéáöïñýò ôçò Java áðü ôçí C... 128 ÊåöÜëáéï 6... 131 Ç ÂáóéêÞ ÂéâëéïèÞêç ôçò Java... 131 6.1 ÃåíéêÜ... 132 6.2 ÅðåîÞãçóç ôçò System.out.println... 132 6.3 Ôñüðïé ñþóçò êëüóçò ôçò âáóéêþò âéâëéïèþêçò... 136 6.3.1 ÄÞëùóç ìåôáâëçôþò óôéãìéüôõðïõ... 136 6.3.2 ÄÞëùóç ìåôáâëçôþò êëüóçò... 137 6.3.3 ÄÞëùóç ôïðéêþò ìåôáâëçôþò óôï óþìá ìåèüäïõ... 137 6.3.4 ÄÞëùóç ôýðïõ ôõðéêïý ïñßóìáôïò ìåèüäïõ... 137 6.3.5 ÄÞëùóç ôýðïõ åðéóôñåöüìåíçò ôéìþò... 138 6.3.6 ñçóéìïðïßçóç õðçñåóßáò ðïõ ðñïóöýñåé ç êëüóç... 138 6.3.7 Äçìéïõñãßá óôéãìéüôõðïõ... 140 6.3.8 ñçóéìïðïßçóç õðçñåóßáò ðïõ ðñïóöýñåé óôéãìéüôõðï ôçò êëüóçò... 140 6.3.9 Äçìéïõñãßá íýáò êëüóçò ðïõ åßíáé åîåéäßêåõóç êëüóçò ôçò âáóéêþò âéâëéïèþêçò141 6.4 Ôá áëöáñéèìçôéêü óôç Java... 151 6.4.1 ÃåíéêÜ... 151 6.4.2 Ç êëüóç String... 151 6.4.3 Ç êëüóç StringBuffer... 157 ÊåöÜëáéï 7... 163 Ç êëüóç ùò äïìéêü óôïé åßï ôïõ ðñïãñüììáôïò... 163 7.1 Ïé êëüóåéò äåí åßíáé áíåîüñôçôåò ìåôáîý ôïõò... 164 7.1.1 Ó Ýóåéò áíôéêåéìýíùí... 164 7.1.2 Óõó åôßóåéò ìåôáîý êëüóåùí... 167 7.2 ÐñïóäéïñéóôÝò ïñáôüôçôáò... 169 7.3 Êáôçãïñßåò êëüóåùí... 172 7.3.1 ÊëÜóåéò äçëùìýíåò óå åìâýëåéá ðáêýôïõ... 172 7.3.2 íèåôåò êëüóåéò... 172 ÊåöÜëáéï 8... 179 Êëçñïíïìéêüôçôá... 179 8.1 ÁðëÞ Êëçñïíïìéêüôçôá... 180 8.1.1 ÃåíéêÜ... 180 8.1.2 ÐñïóèÞêç íýáò êëüóçò... 182 8.2 ÐïëëáðëÞ Êëçñïíïìéêüôçôá... 184 8.3 Ðïëõìïñöéóìüò... 185 8.4 H Êëçñïíïìéêüôçôá óôçí Java... 188 8.4.1 ÃåíéêÜ... 188 8.4.2 ÁöçñçìÝíåò êëüóåéò... 189 8.4.3 ÊÜèå êëüóç Ý åé ìéá ðñüãïíï êëüóç... 191 8.4.4 Ïé äçìéïõñãïß óôçí êëçñïíïìéêüôçôá... 192 8.4.5 Åðéêáëõðôüìåíåò ìåôáâëçôýò... 193 8.4.6 ÕðåñêÜëõøç ìåèüäùí... 194 8.4.7 Interfaces... 195

ÊåöÜëáéï 9... 205 åéñéóìüò ÅîáéñÝóåùí... 205 9.1 Ç ííïéá ôïõ åéñéóìïý åîáéñåóåþí... 207 9.2 åéñéóìüò åîáéñýóåùí óôç Java... 208 9.2.1 ÂáóéêÝò Ýííïéåò... 208 9.2.2 Ç êáôáóêåõþ try/catch/finally... 211 9.2.3ÐñïóèÝôïíôáò åéñéóìü åîáéñýóåùí... 213 9.2.4 ÄÞëùóç ôýðùí åîáßñåóçò... 214 9.2.5 ãåñóç åîáßñåóçò... 216 ÊåöÜëáéï 10... 221 Ôáõôü ñïíïò Ðñïãñáììáôéóìüò... 221 10.1 ÂáóéêÝò Ýííïéåò ôáõôü ñïíïõ ðñïãñáììáôéóìïý... 224 10.1.1 ÓõíèÞêåò áíôáãùíéóìïý... 224 10.1.2 Êñßóéìïé ôïìåßò (critical sections)... 225 10.1.3 ÁöáéñåôéêÞ èåþñçóç... 226 10.1.4 Ôñüðïé óõã ñïíéóìïý äéåñãáóéþí... 228 10.1.5 Óçìáöüñïé... 228 10.1.6 Ôï ðñüâëçìá ôïõ Ðáñáãùãïý ÊáôáíáëùôÞ... 236 10.1.7 ÅëåãêôÝò... 239 10.2 ÂáóéêÝò êáôáóêåõýò ôçò Java ãéá õðïóôþñéîç ôáõôü ñïíïõ ðñïãñáììáôéóìïý...241 10.2.1. Ç êëüóç Thread... 241 10.3 Ôï ðñüâëçìá ôïõ Ðáñáãùãïý ÊáôáíáëùôÞ óôç Java... 254 10.4 Óõã ñïíéóìüò íçìüôùí... 258 10.4.1 Ç ðñüôáóç synchronized... 258 10.4.2 Ïé ìýèïäïé wait êáé notify... 259 10.4.3 Ôï ðñüâëçìá ôïõ Ðáñáãùãïý ÊáôáíáëùôÞ... 260 10.5 Ôï ðñüâëçìá ôïõ äåßðíïõ ôùí óõíäáéôõìüíùí öéëïóüöùí... 263 10.5.1 ÐñïóÝããéóç ìå óçìáöüñïõò... 265 10.5.2 ÁðïöõãÞ ôïõ áäéåîüäïõ... 268 10.5.3 ÐñïóÝããéóç ìå åëåãêôýò... 270 10.5.4 Áêüìç ìéá ðñïóðüèåéá ìå óçìáöüñïõò... 273 10.5.5 Õëïðïßçóç óå Java... 275 ÊåöÜëáéï 11... 285 Áëëçëåðßäñáóç ìå ôïí ñþóôç -Ôï ðáêýôï AWT... 285 11.1 Ìçíýìáôá ðïõ áíôáëëüóóïíôáé ìåôáîý ôùí áíôéêåéìýíùí ðïõ áðáñôßæïõí ôï óýóôçìá... 286 11.1.1. Óôéãìéüôõðï (áðïóôïëýáò), óôéãìéüôõðï (ðáñáëþðôçò).... 286 11.1.2. ÊëÜóç (áðïóôïëýáò), óôéãìéüôõðï (ðáñáëþðôçò).... 287 11.1.3. Óôéãìéüôõðï (áðïóôïëýáò), êëüóç (ðáñáëþðôçò).... 288 11.1.4. ÊëÜóç (áðïóôïëýáò), êëüóç (ðáñáëþðôçò)... 290 11.2. Ìçíýìáôá ðïõ áíôáëëüóóïíôáé ìåôáîý áíôéêåéìýíùí ôçò åöáñìïãþò & ôïõ ñþóôç.292 11.3 ñçóéìïðïéþíôáò ôï ðáêýôï awt... 294 11.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 303 11.4.1 Äñáóôçñéüôçôá 2 ÅíäåéêôéêÞ ëýóç... 303 11.4.2 Äñáóôçñéüôçôá 3.1 ÅíäåéêôéêÞ áðüíôçóç... 303 15

16 11.4.3 Äñáóôçñéüôçôá 3.2 ÅíäåéêôéêÞ áðüíôçóç... 304 11.4.4 Äñáóôçñéüôçôá 3.3 ÅíäåéêôéêÞ áðüíôçóç... 305 11.4.5 Äñáóôçñéüôçôá 3.5 ÅíäåéêôéêÞ áðüíôçóç... 307 ÐÁÑÁÑÔÇÌÁ ÊÅÖÁËÁÉÏÕ... 309 11.5 ÊëÜóåéò ôçò âáóéêþò âéâëéïèþêçò... 309 11.5.1. Ç ÊëÜóç rame... 309 11.5.2. Ç ÊëÜóç Button... 310 11.5.3. Ç ÊëÜóç WindowAdapter... 311 11.5.4. Ç ÊëÜóç Text ield... 312 11.5.5. Ç ÊëÜóç ActionEvent... 313 11.5.6. To Interaface ActionListener... 314 ÊåöÜëáéï 12... 315 Äéáäéêáóßá ÁíÜðôõîçò ÐñïãñÜììáôïò... 315 12.1 óêçóç 1 - [áíáãíþñéóç áíôéêåéìýíùí-äéüãñáììá êëüóåùí]... 316 12.1.1. ÐåñéãñáöÞ... 316 12.1.2. Óôü ïò... 317 12.1.3. Ïäçãßåò... 319 12.1.4. Ìåèïäïëïãßá åêôýëåóçò... 319 12.1.5. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 321 12.2. óêçóç 2 - [Ç ìýèïäïò main]... 325 12.2.1. ÐåñéãñáöÞ... 325 12.2.2. Ç óôïßâá (stack)... 325 12.2.3. Ìåèïäïëïãßá åêôýëåóçò... 326 12.2.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 327 12.3 óêçóç 3... 339 12.3.1 ÐåñéãñáöÞ... 339 12.3.2 Ëýóç... 339 12.4. óêçóç 4 - [Êëçñïíïìéêüôçôá - Ðïëõìïñöéóìüò]... 341 12.4.1. ÐåñéãñáöÞ... 341 12.4.2. Äéáäéêáóßá áíüðôõîçò... 342 12.4.3. ÅíäåéêôéêÞ áðüíôçóç... 342 12.5 óêçóç 5 - [class responsibilities - test behavior]... 346 12.5.1. ÐåñéãñáöÞ... 346 12.5.2. Óôü ïò... 346 12.5.3. Ìåèïäïëïãßá åêôýëåóçò... 346 12.5.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 348 12.6. óêçóç 6 - [Using GUIs]... 356 12.6.1. ÐåñéãñáöÞ... 356 12.6.2. Óôü ïò... 357 12.6.3. Ìåèïäïëïãßá åêôýëåóçò... 358 12.6.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 360 12.7 óêçóç 7... 368 12.7.1 ÐåñéãñáöÞ... 368 12.8 óêçóç 8... 370 12.8.1 ÐåñéãñáöÞ... 370 12.9 óêçóç 9 - [Åvent Handling]... 372

12.9.1. ÐåñéãñáöÞ... 372 12.9.2. Óôü ïò... 372 12.9.3. Ìåèïäïëïãßá åêôýëåóçò... 372 12.9.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 375 12.10 óêçóç 10 - [increase reusability]... 391 12.10.1. ÐåñéãñáöÞ... 391 12.10.2. Óôü ïò... 391 12.10.3. Ìåèïäïëïãßá åêôýëåóçò... 391 12.10.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 392 12.11 óêçóç 11 - [increase flexibility, avoid switch statemet]... 395 12.11.1. ÐåñéãñáöÞ... 395 12.11.2. Óôü ïò... 395 12.11.3. Ìåèïäïëïãßá åêôýëåóçò... 395 12.11.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 407 12.12 óêçóç 12 - [Hands on GUI development-stack status]... 414 12.12.1. ÐåñéãñáöÞ... 414 12.12.2. Óôü ïò... 414 12.12.3. Ìåèïäïëïãßá åêôýëåóçò... 414 12.12.4. ÅíäåéêôéêÝò áðáíôþóåéò ôùí äñáóôçñéïôþôùí ôçò Üóêçóçò... 416 12.13 óêçóç 13... 417 12.14 óêçóç 14... 418 12.14.1 ÐåñéãñáöÞ... 418 12.15 óêçóç 15... 419 12.16 óêçóç 16 - [Åxception handling]... 420 12.16.1 ÐåñéãñáöÞ... 420 12.17 óêçóç 17 - [Exception handling óôçí Áñéèìïìç áíþ]... 421 12.18 óêçóç 18 - [Applet]... 422 12.18.1. ÐåñéãñáöÞ... 422 12.18.2. Äéáäéêáóßá áíüðôõîçò... 422 12.18.3. ÅíäåéêôéêÞ áðüíôçóç... 423 12.18.4. Ðçãáßïò êþäéêáò áðëïý applet... 424 12.19 óêçóç 19... 425 12.20 óêçóç Íï 20 Networking óå Java... 427 12.20.1 ÐåñéãñáöÞ... 427 12.20.2 Óôü ïé... 427 12.20.3 Ðåñéïñéóìïß ó åäéáóìïý... 427 12.20.4 Ïäçãßåò... 428 12.20.5 ÁíÜðôõîç ôïõ äéáêïìéóôþ... 434 12.20.6 ñþóç ôùí socket... 440 12.20.7 ÁíÜðôõîç ôïõ ðåëüôç... 447 ÃÅÍÉÊÅÓ ÁÓÊÇÓÅÉÓ... 459 ÐáñÜñôçìá Á... 465 ÊëÜóåéò ôçò âáóéêþò âéâëéïèþêçò ôçò Java... 465 1.1 ÊëÜóç Double... 465 1.2 ÊëÜóç System... 468 17

18 1.3 ÊëÜóç PrintStream... 471 1.4 ÊëÜóç Stack... 474 1.5 ÊëÜóç String... 475 1.6 ÊëÜóç StringBuffer... 482 1.7 ÊëÜóç Text ield... 487 1.8 ÊëÜóç Thread... 490 ÐáñÜñôçìá Â... 495 ÐáêÝôá ôçò âáóéêþò âéâëéïèþêçò ôçò Java (Java Platform Packages)... 495 ÐáñÜñôçìá Ã... 501 Ïäçãßåò ñþóçò ôïõ BlueJ... 501 1. ÅÉÓÁÃÙÃÇ... 505 1.1 Ðñüëïãïò... 505 1.2 Áíôéêåßìåíï êáé áêñïáôþñéï... 505 2. ÏÄÇÃÉÅÓ ÅÃÊÁÔÁÓÔÁÓÇÓ... 505 2.1 ÃåíéêÜ... 505 2.2 Ðñïáðáéôïýìåíá ðñïãñüììáôá... 505 2.3 Ðþò èá áðïêôþóåôå ôï BlueJ... 505 2.4 SDK, JDK êáé JRE... 506 2.5 ÅãêáôÜóôáóç... 506 3. ÑÇÓÇ ÔÏÕ BLUEJ... 507 3.1 Îåêéíþíôáò ôï BlueJ... 507 3.2 íïéãìá åíüò BlueJ project... 507 4. TÁ ÂÁÓÉÊÁ EDIT / COMPILE / EXECUTE... 508 4.1 Äçìéïõñãßá óôéãìéïôýðùí... 508 4.2 ÅêôÝëåóç (EXECUTION)... 511 4.3 Ôñïðïðïßçóç (EDITING) ìéáò ÊëÜóçò... 513 4.4 Ìåôáãëþôôéóç (Compilation)... 514 4.5 ÂïÞèåéá ãéá ôá ëüèç ôïõ COMPILER... 515 5. ÐÑÏ ÙÑÙÍÔÁÓ ËÉÃÏ ÐÁÑÁÐÅÑÁ...... 515 5.1 Åðéèåþñçóç (Inspection)... 519 5.2 Óýíèåóç (Composition)... 519 6. ÄÇÌÉÏÕÑÃÉÁ ÍÅÏÕ PROJECT... 520 6.1 Äçìéïõñãßá êáôáëüãïõ ãéá ôï project... 520 6.2 Äçìéïõñãßá êëüóåùí... 520 6.3 Äçìéïõñãßá åîáñôþóåùí (Dependencies)... 521 6.4 ÄéáãñáöÞ óôïé åßùí... 521 7. ÄÉÏÑÈÙÓÇ ËÁÈÙÍ (DeBUGGING)... 522 7.1 ÔïðïèÝôçóç óçìåßùí äéáêïðþò... 522 7.2 ÂÞìá ðñïò âþìá óôïí ðçãáßï êþäéêá... 524 7.3 Åðéèåùñþíôáò (Inspecting) ìåôáâëçôýò... 525 7.4 Ïé ëåéôïõñãßåò Halt & Terminate... 526 8. ÄÇÌÉÏÕÑÃÉÁ ÁÕÔÏÍÏÌÇÓ ÅÖÁÑÌÏÃÇÓ... 527 9. ÄÇÌÉÏÕÑÃÉÁ APPLETS... 528 9.1 ÅêôÝëåóç åíüò Applet... 528 9.2 Äçìéïõñãßá åíüò Applet... 529

9.3 ÄïêéìÜæïíôáò Ýíá Applet... 529 10. ÁËËÅÓ ËÅÉÔÏÕÑÃÉÅÓ... 530 10.1 íïéãìá åíüò project ðïõ äåí áíþêåé óôï BlueJ ìå ôï BlueJ... 530 10.2 ÐñïóèÞêç êëüóçò ó Ýíá project... 530 10.3 ÊëÞóç ôçò main êáé Üëëùí static ìåèüäùí... 530 10.4 Äïõëåýïíôáò ìå âéâëéïèþêåò... 531 ÐÁÑÁÑÔÇÌÁ Ä... 533 Äçìéïõñãßá åîáßñåóçò... 533 ÐÁÑÁÑÔÇÌÁ E... 537 Åßóïäïò äåäïìýíùí óôçí Java... 537 ÐÁÑÁÑÔÇÌÁ ÓÔ... 541 ÂáóéêÝò Ýííïéåò ãëùóóþí ðñïãñáììáôéóìïý... 541 1.Áöáéñåôéêüôçôá óôéò äéåñãáóßåò - ÓõíáñôÞóåéò.... 541 2. ÁíáðáñÜóôáóç ÄåäïìÝíùí- ÌåôáâëçôÝò, ÓôáèåñÝò, Ôýðïé ÄåäïìÝíùí... 547 3.ÁíáðáñÜóôáóç âáóéêþí äéåñãáóéþí ÔåëåóôÝò... 549 4. ÐñïôÜóåéò åëýã ïõ ñïþò... 550 ÃëùóóÜñé Áããëéêþí ¼ñùí... 561 ÃëùóóÜñé Åëëçíéêþí ¼ñùí... 567 ÅõñåôÞñéï... 573 19