Περιεχόμενα. Πρόλογος 15

Σχετικά έγγραφα
Περιεχόμενα. Πρόλογος 15

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

Γενικά (για τις γραπτές εξετάσεις)

Περιεχόµενα. Πρόλογος...15

Περιεχόμενα. Πρόλογος... 21

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Αντικειμενοστρεφής Προγραμματισμός

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

3. Εκφράσεις και έλεγχος ροής

Επανάληψη για τις Τελικές εξετάσεις

Περιεχόμενα. Πρόλογος... 17

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Certified Java Programmer (CJP)

3 Αλληλεπίδραση Αντικειμένων

Java Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7

Τίτλος Πακέτου Certified Computer Expert-ACTA

Διαγράμματα Κλάσεων στη Σχεδίαση

Περιεχόμενα. Περιεχόμενα

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Χαρίδημος Κονδυλάκης Εισαγωγή

Αντικειµενοστραφής Προγραµµατισµός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

Περιεχόμενα. Λίγα λόγια για αυτή την έκδοση... 23

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Οντοκεντρικός Προγραμματισμός

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

Ανάπτυξη και Σχεδίαση Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Γλώσσες Προγραμματισμού

Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Εισαγωγή στον Προγ/μό Η/Υ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Ανάπτυξη και Σχεδίαση Λογισμικού

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

ΚΕΦΑΛΑΙΑ attributes parameters

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

Περιεχόμενα ΜΕΡΟΣ 1. Πρόλογος... xiii. 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 23

Βασικά Στοιχεία της Java

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΕΠΠ Ερωτήσεις θεωρίας

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12

Στοιχειώδης προγραμματισμός σε C++

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Δοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

Κλάσεις και Αντικείµενα

Από τη UML στον Κώδικα. Μέρος Α

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στον Προγραμματισμό

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Βιοϊατρική τεχνολογία

Computing. Νοέμβριος Έκδοση 1.0

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΕΤΑΡΤΗ 20 ΙΟΥΝΙΟΥ 2018

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Επεξεργασία κειμένου: Word 2003

Βασικά Στοιχεία της Java

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού C++

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Οδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος

Transcript:

Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Εκμάθηση ορολογίας προγραμματισμού 26 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς 29 Διαδικαστικός προγραμματισμός 29 Αντικειμενοστραφής προγραμματισμός 29 Κλάσεις, αντικείμενα και ενθυλάκωση 30 Κληρονομικότητα και πολυμορφισμός 32 Δυνατότητες της γλώσσας προγραμματισμού Java 33 Τύποι προγραμμάτων Java 34 Ανάλυση εφαρμογής Java που παράγει έξοδο κονσόλας 35 Η εντολή που εμφανίζει την έξοδο 35 Ανάλυση της κλάσης First 36 Στυλ εσοχών 39 Επεξήγηση της μεθόδουmain() 39 Αποθήκευση κλάσης Java 41 Μεταγλώττιση κλάσης Java και διόρθωση συντακτικών σφαλμάτων 43 Μεταγλώττιση κλάσης Java 43 Διόρθωση συντακτικών σφαλμάτων 44 Εκτέλεση εφαρμογής Java και διόρθωση λογικών σφαλμάτων 48 Εκτέλεση εφαρμογής Java 48 Τροποποίηση μεταγλωττισμένης κλάσης της Java 48 Διόρθωση λογικών σφαλμάτων 49 Προσθήκη σχολίων σε μια κλάση Java 50 Δημιουργία εφαρμογής Java που παράγει έξοδο GUI 53 Εύρεση βοήθειας 55 Μην το κάνετε 56 Σημαντικοί όροι 57 Περίληψη κεφαλαίου 61 Ερωτήσεις Επανάληψης 61 Ασκήσεις 63 2 Χρήση δεδομένων 67 Δήλωση και χρήση σταθερών και μεταβλητών 68 Δήλωση μεταβλητών 69 Δήλωση κατονομασμένων επώνυμων σταθερών 70 Το πεδίο εφαρμογής μεταβλητών και σταθερών 71 Συνένωση συμβολοσειρών με μεταβλητές και σταθερές 72 Παγίδα: Να ξεχνάς ότι μια μεταβλητή διατηρεί περιέχει μόνο μία τιμή κάθε φορά 74 Ακέραιοι τύποι δεδομένων 77 Χρήση του τύπου δεδομένων boolean 81 Τύποι δεδομένων κινητής υποδιαστολής 82 Χρήση του τύπου δεδομένων char 84 Χρήση της κλάσης Scanner για αποδοχή εισόδου από το πληκτρολόγιο 88 Παγίδα: Το να χρησιμοποιείς τη nextline() μετά από μία από τις άλλες μεθόδους εισόδου της Scanner 90 Χρήση της κλάσης JOptionPane για αποδοχή εισόδου GUI 95 Χρήση πλαισίων διαλόγου για είσοδο 95 Χρήση παραθύρων διαλόγου επιβεβαίωσης 98 Εκτέλεση αριθμητικών πράξεων 100 Προσεταιριστικότητα και προτεραιότητα 101 Αποδοτική σύνταξη αριθμητικών εντολών 102 Παγίδα: Να μην καταλαβαίνεις την έλλειψη ακρίβειας σε αριθμούς κινητής υποδιαστολής 102 Μετατροπή τύπων 106 Αυτόματη μετατροπή τύπων 106 Ρητές μετατροπές τύπων 107 Μην το κάνετε 110 Σημαντικοί όροι 111 Περίληψη κεφαλαίου 114 Ερωτήσεις Επανάληψης 114 Ασκήσεις 116 3 Χρήση μεθόδων, κλάσεων και αντικειμένων 119 Κλήση και τοποθέτηση μεθόδων 120 Κατασκευή μεθόδων 122 Προδιαγραφείς πρόσβασης 123 Τύπος επιστροφής 124 Όνομα μεθόδου 124 Παρενθέσεις 124 Προσθήκη παραμέτρων σε μεθόδους 127 Δημιουργία μεθόδου που δέχεται μία μόνο παράμετρο 128 Δημιουργία μεθόδου που απαιτεί πολλαπλές παραμέτρους 131 Δημιουργία μεθόδων που επιστρέφουν τιμές 133 Αλυσιδωτή σύνδεση κλήσεων μεθόδων 135 Κλάσεις και αντικείμενα 139 Δημιουργία κλάσης 141 Δημιουργία στιγμιότυπων μεθόδων σε μια κλάση 143 Οργάνωση κλάσεων 146 Δήλωση αντικειμένων και χρήση των μεθόδων τους 149

ΠΕΡΙΕΧΟΜΕΝΑ / 9 Απόκρυψη δεδομένων 151 Εισαγωγή στη χρήση μεθόδων κατασκευής 154 Οι κλάσεις είναι τύποι δεδομένων 157 Μην το κάνετε 161 Σημαντικοί όροι 161 Περίληψη κεφαλαίου 163 Ερωτήσεις Επανάληψης 163 Ασκήσεις 165 4 Περισσότερες έννοιες αντικειμένων 171 Οι ενότητες και τα πεδία εφαρμογής 172 Υπερφόρτωση μεθόδου 179 Αυτόματος προβιβασμός τύπων σε κλήσεις μεθόδων 180 Απροσδιοριστία 184 Δημιουργία και κλήση μεθόδων κατασκευής με παραμέτρους 185 Υπερφόρτωση μεθόδων κατασκευής 186 Αναφορά this 190 Χρήση της αναφοράς this έτσι ώστε οι υπερφορτωμένες μέθοδοι κατασκευής να γίνουν πιο αποδοτικές 192 Χρήση πεδίων static 195 Χρήση σταθερών πεδίων 197 Χρήση αυτόματα εισαγόμενων, έτοιμων σταθερών και μεθόδων 201 Η κλάση Math 202 Εισαγωγή κλάσεων που δεν εισάγονται αυτόματα 203 Χρήση της κλάσης LocalDate 205 Σύνθεση και ένθεση κλάσεων 209 Σύνθεση 209 Ένθετες κλάσεις 211 Μην το κάνετε 213 Σημαντικοί όροι 213 Περίληψη κεφαλαίου 215 Ερωτήσεις Επανάληψης 215 Ασκήσεις 217 5 Λήψη αποφάσεων 223 Σχεδιασμός της λογικής πίσω από τη λήψη αποφάσεων 224 Οι εντολές if και if else 225 Η εντολή if 226 Παγίδα: Να τοποθετείς σε λάθος σημείο το ερωτηματικό σε εντολές if 226 Παγίδα: Να χρησιμοποιείς τον τελεστή ανάθεσης αντί του τελεστή ελέγχου ισότητας 227 Παγίδα: Να προσπαθείς να συγκρίνεις αντικείμενα χρησιμοποιώντας τους σχεσιακούς τελεστές 228 Η εντολή if else 228 Χρήση πολλαπλών εντολών σε όρους if και if else 231 Ένθεση εντολών if και if else 235 Χρήση λογικών τελεστών AND και OR 237 Ο τελεστής AND 237 Ο τελεστής OR 238 Εκτίμηση τύπου βραχυκυκλώματος 239 Λήψη σαφών και αποδοτικών αποφάσεων 242 Πραγματοποίηση σαφών ελέγχων διαστήματος 242 Πραγματοποίηση αποδοτικών ελέγχων διαστήματος 244 Κατάλληλη χρήση των && και 245 Χρήση της εντολής switch 246 Χρήση του τελεστή συνθήκης και του τελεστή NOT 252 Χρήση του τελεστή NOT 252 Προτεραιότητα τελεστών 253 Προσθήκη αποφάσεων και μεθόδων κατασκευής σε μεθόδους στιγμιότυπων 255 Μην το κάνετε 259 Σημαντικοί όροι 259 Περίληψη κεφαλαίου 260 Ερωτήσεις Επανάληψης 261 Ασκήσεις 263 6 Βρόχοι 269 Η δομή των βρόχων 270 Δημιουργία βρόχων while 270 Σύνταξη καθορισμένου βρόχου while 271 Παγίδα: Να αποτυγχάνεις να αλλάξεις τη μεταβλητή ελέγχου βρόχου στο σώμα του βρόχου 273 Παγίδα: Να δημιουργείς ακούσια ένα βρόχο με κενό σώμα 274 Αλλαγή της μεταβλητής ελέγχου ενός καθορισμένου βρόχου 274 Δημιουργία απροσδιόριστου βρόχου while 275 Επικύρωση δεδομένων 276 Χρήση σύντομων αριθμητικών τελεστών 279 Δημιουργία βρόχου for 283 Μη συμβατικοί βρόχοι for 284 Πώς και πότε θα χρησιμοποιείτε ένα βρόχο do while 288 Ένθετοι βρόχοι 291 Βελτίωση απόδοσης βρόχων 294 Αποφυγή περιττών πράξεων 295 Εξέταση της σειράς αποτίμησης των τελεστών βραχυκυκλώματος 295 Σύγκριση με το μηδέν 296 Εφαρμογή συγχώνευσης βρόχων 298 Χρήση προθεματικής αντί επιθεματικής αύξησης 298 Μια τελευταία παρατήρηση για τη βελτίωση απόδοσης των βρόχων 299 Μην το κάνετε 302

10 / JAVA Σημαντικοί όροι 302 Περίληψη κεφαλαίου 303 Ερωτήσεις Επανάληψης 304 Ασκήσεις 306 7 Χαρακτήρες, συμβολοσειρές και το StringBuilder 311 Κατανόηση των προβλημάτων σε δεδομένα συμβολοσειρών 312 Χρήση μεθόδων της Character 313 Δήλωση και σύγκριση αντικειμένων String 316 Σύγκριση τιμών String 316 Κενές και null συμβολοσειρές 320 Χρήση άλλων μεθόδων String 321 Μετατροπή αντικειμένων String σε αριθμούς 325 Οι κλάσεις StringBuilder και StringBuffer 329 Μην το κάνετε 335 Σημαντικοί όροι 335 Περίληψη κεφαλαίου 335 Ερωτήσεις Επανάληψης 336 Ασκήσεις 338 8 Πίνακες 343 Δήλωση πινάκων 344 Αρχικοποίηση πίνακα 348 Χρήση δεικτών μεταβλητών με πίνακα 350 Χρήση του αναβαθμισμένου βρόχου for 352 Χρήση μέρους ενός πίνακα 352 Δήλωση και χρήση πινάκων που περιέχουν αντικείμενα 355 Χρήση του αναβαθμισμένου βρόχου for με αντικείμενα 356 Χειρισμός πινάκων Strings 356 Αναζήτηση στοιχείου σε πίνακα και χρήση παράλληλων πινάκων 361 Χρήση παράλληλων πινάκων 362 Αναζήτηση σε πίνακα για αντιστοίχιση διαστήματος 364 Πέρασμα και επιστροφή πινάκων από μεθόδους 368 Επιστροφή πίνακα από μέθοδο 370 Μην το κάνετε 372 Σημαντικοί όροι 372 Περίληψη κεφαλαίου 373 Ερωτήσεις Επανάληψης 374 Ασκήσεις 376 9 Προχωρημένες έννοιες πινάκων 381 Ταξινόμηση στοιχείων πίνακα χρησιμοποιώντας τον αλγόριθμο ταξινόμησης με φυσαλίδες 382 Χρήση του αλγόριθμου ταξινόμησης με φυσαλίδες 382 Βελτίωσης της αποδοτικότητας της ταξινόμησης με φυσαλίδες 384 Ταξινόμηση πινάκων αντικειμένων 385 Ταξινόμηση των στοιχείων ενός πίνακα χρησιμοποιώντας τον αλγόριθμο ταξινόμησης με εισαγωγή 389 Χρήση δισδιάστατων και πολυδιάστατων πινάκων 392 Μεταβίβαση δισδιάστατου πίνακα σε μέθοδο 394 Χρήση του πεδίου length με δισδιάστατο πίνακα 395 Μη ομοιόμορφοι πίνακες 396 Χρήση άλλων πολυδιάστατων πινάκων 396 Χρήση της κλάσης Arrays 399 Χρήση της κλάσης ArrayList 404 Δημιουργία απαριθμήσεων 408 Μην το κάνετε 414 Σημαντικοί όροι 414 Περίληψη κεφαλαίου 415 Ερωτήσεις Επανάληψης 415 Ασκήσεις 417 10 Εισαγωγή στην κληρονομικότητα 423 Μαθαίνοντας για την έννοια της κληρονομικότητας 424 Σχεδιάζοντας την κληρονομικότητα με διαγράμματα χρησιμοποιώντας τη UML 424 Ορολογία κληρονομικότητας 426 Επεκτείνοντας κλάσεις 427 Παρακάμπτοντας μεθόδους υπερκλάσεων 432 Χρησιμοποιώντας την ετικέτα @Override 434 Καλώντας μεθόδους κατασκευής κατά την κληρονομικότητα 436 Χρησιμοποιώντας μεθόδους κατασκευής Υπερκλάσεων που Απαιτούν Παραμέτρους 437 Αποκτώντας πρόσβαση σε μεθόδους υπερκλάσεων 441 Συγκρίνοντας τα this και super 443 Χρησιμοποιώντας απόκρυψη πληροφορίας 443 Μέθοδοι που δεν μπορείτε να παρακάμψετε 446 Μια υποκλάση δεν μπορεί να παρακάμψει μεθόδους static της υπερκλάσης της 446 Μια υποκλάση δεν μπορεί να παρακάμψει μεθόδους final της υπερκλάσης της 449 Μια υποκλάση δεν μπορεί να παρακάμψει μεθόδους σε μια final υπερκλάση 451 Μην το κάνετε 452 Σημαντικοί όροι 452 Περίληψη κεφαλαίου 453 Ερωτήσεις Επανάληψης 454 Ασκήσεις 455 11 Προχωρημένες έννοιες κληρονομικότητας 461 Δημιουργώντας και χρησιμοποιώντας αφηρημένες κλάσεις 462

ΠΕΡΙΕΧΟΜΕΝΑ / 11 Χρησιμοποιώντας δυναμική σύνδεση μεθόδου 470 Χρησιμοποιώντας μια υπερκλάση ως τύπο παραμέτρου μεθόδου 472 Δημιουργώντας πίνακες αντικειμένων υποκλάσεων 473 Χρησιμοποιώντας την κλάση Object και τις μεθόδους της 476 Χρησιμοποιώντας τη μέθοδο tostring() 477 Χρησιμοποιώντας τη μέθοδο equals() 480 Χρησιμοποιώντας κληρονομικότητα για να επιτύχετε καλό σχεδιασμό λογισμικού 485 Δημιουργώντας και χρησιμοποιώντας διεπαφές 486 Δημιουργώντας διεπαφές για την αποθήκευση σχετιζόμενων σταθερών 490 Δημιουργώντας και χρησιμοποιώντας πακέτα 494 Μην το κάνετε 498 Σημαντικοί όροι 499 Περίληψη κεφαλαίου 499 Ερωτήσεις Επανάληψης 500 Ασκήσεις 502 12 Χειρισμός εξαιρέσεων 509 Μαθαίνοντας για τις εξαιρέσεις 510 Δοκιμάζοντας κώδικα και συλλαμβάνοντας εξαιρέσεις 514 Χρησιμοποιώντας μια ενότητα try για να κάνετε τα προγράμματά σας «ανθεκτικά σε ανόητα σφάλματα» 518 Δηλώνοντας και αρχικοποιώντας μεταβλητές σε ενότητες try catch 520 Πετώντας και Συλλαμβάνοντας Πολλαπλές Εξαιρέσεις 523 Χρησιμοποιώντας την ενότητα finally 528 Κατανοώντας τα πλεονεκτήματα του χειρισμού εξαιρέσεων 530 Καθορίζοντας τις εξαιρέσεις που μπορεί να πετάξει μια μέθοδος 532 Παρακολουθώντας εξαιρέσεις μέσω της στοίβας κλήσεων 536 Δημιουργώντας τις δικές σας κλάσεις εξαιρέσεων 540 Χρησιμοποιώντας ισχυρισμούς 543 Προβάλλοντας το εικονικό πληκτρολόγιο 556 Μην το κάνετε 559 Σημαντικοί όροι 559 Περίληψη κεφαλαίου 560 Ερωτήσεις Επανάληψης 561 Ασκήσεις 563 13 Είσοδος και έξοδος σε αρχεία 567 Κατανοώντας τα αρχεία υπολογιστών 568 Χρησιμοποιώντας τις κλάσεις Path και Files 569 Δημιουργώντας ένα Path 570 Ανακτώντας πληροφορία σχετικά με ένα μονοπάτι 571 Μετατρέποντας ένα σχετικό μονοπάτι σε ένα απόλυτο 572 Ελέγχοντας την προσβασιμότητα σε αρχεία 573 Διαγράφοντας ένα μονοπάτι 574 Καθορίζοντας χαρακτηριστικά αρχείων 575 Οργάνωση αρχείων, κανάλια και προσωρινές μνήμες 578 Χρησιμοποιώντας τις κλάσεις IO της Java 581 Γράφοντας σε ένα αρχείο 583 Διαβάζοντας από ένα Αρχείο 585 Δημιουργώντας και χρησιμοποιώντας σειριακά αρχεία δεδομένων 587 Μαθαίνοντας σχετικά με αρχεία τυχαίας προσπέλασης 592 Γράφοντας εγγραφές σε ένα αρχείο τυχαίας προσπέλασης 596 Διαβάζοντας εγγραφές από ένα αρχείο τυχαίας προσπέλασης 602 Προσπελαύνοντας ένα αρχείο τυχαίας προσπέλασης σειριακά 602 Προσπελαύνοντας ένα αρχείο τυχαίας προσπέλασης τυχαία 603 Μην το κάνετε 615 Σημαντικοί όροι 615 Περίληψη κεφαλαίου 617 Ερωτήσεις Επανάληψης 617 Ασκήσεις 619 14 Εισαγωγή στα Στοιχεία Swing 623 Κατανοώντας τα στοιχεία Swing 624 Xρησιμοποιώντας την κλάση JFrame 625 Προσαρμόζοντας την εμφάνιση μιας JFrame 628 Χρησιμοποιώντας την κλάση JLabel 631 Αλλάζοντας τη γραμματοσειρά JLabel 632 Χρησιμοποιώντας ένα Διαχειριστή Διάταξης (Layout Manager) 634 Επεκτείνοντας την κλάση JFrame 637 Προσθέτοντας JTextFields, JButtons και Παράθυρα βοήθειας σε μία JFrame 639 Προσθέτοντας JTextFields 639 Προσθέτοντας κουμπιά JButton 641 Χρησιμοποιώντας τα Παράθυρα Βοήθειας (Tool Tips) 643 Μαθαίνοντας για τον Οδηγούμενο από Γεγονότα Προγραμματισμό 645 Προετοιμάζοντας την Κλάση σας να δέχεται Μηνύματα Γεγονότων 646 Ενημερώνοντας την κλάση σας ώστε να αναμένει Γεγονότα 646 Ενημερώνοντας την κλάση σας για το πώς θα ανταποκρίνεται σε Γεγονότα 646 Ένα οδηγούμενο από Γεγονότα Πρόγραμμα 647 Χρησιμοποιώντας Πηγές Πολλαπλών Γεγονότων 649

12 / JAVA Χρησιμοποιώντας τη Μέθοδο setenabled() 650 Κατανοώντας τους Ακροατές Γεγονότων Swing 653 Χρησιμοποιώντας τις Κλάσεις JCheckBox, ButtonGroup και JComboBox 656 Η κλάση JCheckBox 656 Η κλάση ButtonGroup 659 Η κλάση JComboBox 660 Μην το κάνετε 666 Σημαντικοί όροι 666 Περίληψη κεφαλαίου 667 Ερωτήσεις Επανάληψης 668 Ασκήσεις 670 15 Προηγμένα θέματα GUI 673 Κατανοώντας το Παράθυρο Περιεχομένου 674 Χρησιμοποιώντας Χρώμα 676 Μαθαίνοντας Περισσότερα Για Τους Διαχειριστές Διάταξης 678 Χρησιμοποιώντας τον BorderLayout 679 Χρησιμοποιώντας τον FlowLayout 681 Χρησιμοποιώντας τον GridLayout 683 Xρησιμοποιώντας τον CardLayout 684 Χρησιμοποιώντας Εξελιγμένους Διαχειριστές Διάταξης 686 Χρησιμοποιώντας την Κλάση JPanel 692 Δημιουργώντας JScrollPanes 698 Μία κοντινότερη ματιά στα Γεγονότα και το Χειρισμό Γεγονότων 701 Ένα Παράδειγμα Χειρισμού Γεγονότος: KeyListener 702 Xρησιμοποιώντας Μεθόδους της Κλάσης AWTEvent 705 Κατανοώντας τις Συντεταγμένες χ- και ψ- 706 Χειρισμός γεγονότων που σχετίζονται με το ποντίκι 707 Χρησιμοποιώντας Μενού 711 Xρησιμοποιώντας Εξειδικευμένα Στοιχεία Μενού 714 Χρησιμοποιώντας την addseparator() 716 Χρησιμοποιώντας την setmnemonic() 716 Μην το κάνετε 720 Σημαντικοί όροι 721 Περίληψη κεφαλαίου 722 Ερωτήσεις Επανάληψης 722 Ασκήσεις 724 16 Γραφικά 729 Μαθαίνοντας για τις μεθόδους σύνθεσης 730 Σχεδιάζοντας συμβολοσειρές 733 Εκ νέου Απεικόνιση 735 Ορίζοντας μία γραμματοσειρά 736 Χρησιμοποιώντας την Color 737 Σχεδιάζοντας Γραμμές και Σχήματα 741 Σχεδιάζοντας Γραμμές 741 Σχεδιάζοντας Ορθογώνια Γεμισμένα και μη Γεμισμένα 741 Σχεδιάζοντας Καθαρά (δηλαδή «άδεια») Ορθογώνια 741 Σχεδιάζοντας Kαμπυλωτά Ορθογώνια 742 Σχεδιάζοντας Σκιασμένα Ορθογώνια 744 Σχεδιάζοντας Οβάλ 745 Σχεδιάζοντας τόξα 745 Δημιουργώντας Πολύγωνα 746 Αντιγράφοντας μία Περιοχή 748 Χρησιμοποιώντας τη μέθοδο paint() με JFrames 748 Mαθαίνοντας περισσότερα για τις γραμματοσειρές 754 Ανακαλύπτοντας στατιστικά της οθόνης 756 Ανακαλύπτοντας Στατιστικά των Γραμματοσειρών 757 Σχεδιάζοντας με Γραφικά Java 2D 761 Καθορίζοντας τα Χαρακτηριστικά Σύνθεσης 761 Ορίζοντας μία μολυβιά σχεδίασης 763 Δημιουργώντας Αντικείμενα για Σχεδίαση 764 Μην το κάνετε 771 Σημαντικοί όροι 771 Περίληψη κεφαλαίου 772 Ερωτήσεις Επανάληψης 772 Ασκήσεις 774 ΠΑΡΑΡΤΗΜΑ Α Δουλεύοντας με την πλατφόρμα Java 779 Μαθαίνοντας για το Java SE Development Kit 780 Ρυθμίζοντας τα Windows ώστε να λειτουργούν με JDK 780 Βρίσκοντας την Γραμμή Εντολών (Command Prompt) 781 Ανατομία της γραμμής εντολών 781 Αλλάζοντας καταλόγους 781 Ορίζοντας τις μεταβλητές class και classpath 782 Αλλάζοντας το όνομα ενός αρχείου 782 Μεταγλωττίζοντας και Εκτελώντας ένα Πρόγραμμα Java 783 Σημαντικοί όροι 783 ΠΑΡΑΡΤΗΜΑ Β Αναπαράσταση δεδομένων 785 Κατανοώντας τα συστήματα αρίθμησης 786 Αναπαριστώντας αριθμητικές τιμές 787 Αναπαριστώντας Τιμές Χαρακτήρων 788 Σημαντικοί όροι 789 ΠΑΡΑΡΤΗΜΑ Γ Μορφοποίηση εξόδου 791 Στρογγυλοποιώντας Αριθμούς 792 Χρησιμοποιώντας τη μέθοδο printf() 793 Ορίζοντας έναν Αριθμό Δεκαδικών Θέσεων για Προβολή με χρήση της printf() 796

ΠΕΡΙΕΧΟΜΕΝΑ / 13 Ορίζοντας ένα Μέγεθος Πεδίου με την printf() 796 Χρησιμοποιώντας τον Προαιρετικό Δείκτη Παραμέτρου με την printf() 798 Χρησιμοποιώντας την κλάση DecimalFormat Class 798 Σημαντικοί όροι 799 ΠΑΡΑΡΤΗΜΑ Δ Παράγοντας τυχαίους αριθμούς 801 Κατανοώντας τους τυχαίους αριθμούς που παράγονται από υπολογιστή 802 Χρησιμοποιώντας τη μέθοδο Math.random() 802 Χρησιμοποιώντας την κλάση Random 804 Σημαντικοί όροι 806 ΠΑΡΑΡΤΗΜΑ Δ Javadoc 807 Η λειτουργία δημιουργίας αυτόματης τεκμηρίωσης Javadoc 808 Τύποι Σχολίων της Javadoc 808 Δημιουργώντας τεκμηρίωση Javadoc 810 Ορίζοντας την Ορατότητα της Τεκμηρίωσης Java 812 Σημαντικοί όροι 813 Γλωσσάρι 815