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

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

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

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

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

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

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

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

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

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

Certified Java Programmer (CJP)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

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

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

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

ΚΕΦΑΛΑΙΑ attributes parameters

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

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

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

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

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

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

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

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

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

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

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

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

Περιεχόµενα. I Βασικές Γνώσεις 1

Προγραμματισμός Ι (ΗΥ120)

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

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

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

Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5. Περιεχόμενα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

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

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

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

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

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

ημιουργία Γραφικού Περιβάλλοντος

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

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

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

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

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

ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

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

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

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ KeyCERT EXPERT: ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ. Έκδοση 2.0

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

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

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

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

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

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

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

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

4 C Θεωρία και Πράξη. 6.8 Συναρτήσεις και στατικές μεταβλητές Αναδρομικές συναρτήσεις 119

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Διαδικασίες και συναρτήσεις. 22 Νοε 2008 Ανάπτυξη εφαρμογών/ Υποπρογράμματα 1

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ / 9 Υποστασιοποίηση μεθόδων σε μια κλάση 143 Οργάνωση κλάσεων 146 Δήλωση αντικειμένων και χρήση των μεθόδων τους 149 Απόκρυψη δεδομένων 151 Δημιουργία μεθόδων κατασκευής 154 Εκτίμηση των κλάσεων ως δεδομένων 157 Μην το κάνετε 161 Σημαντικοί όροι 161 Περίληψη κεφαλαίου 163 Ερωτήσεις επανάληψης 163 Ασκήσεις 165 4 Περισσότερες έννοιες αντικειμένων 171 Κατανόηση των ενοτήτων και των πεδίων εφαρμογής 172 Υπερφόρτωση μεθόδων 179 Αυτόματος προβιβασμός τύπων σε κλήσεις μεθόδων 180 Αποφυγή ασάφειας 184 Δημιουργία και κλήση μεθόδων κατασκευής με παραμέτρους 185 Υπερφόρτωση μεθόδων κατασκευής 186 Χρήση της αναφοράς this 190 Χρήση της αναφοράς this έτσι ώστε οι υπερφορτωμένες μέθοδοι κατασκευής να γίνουν πιο αποδοτικές 192 Χρήση στατικών πεδίων 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 μέσα σε άλλες εντολές 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

10 / JAVA ΤΜ Χρήση προθεματικής αντί επιθεματικής αύξησης 298 Μια τελευταία παρατήρηση για τη βελτιωμένη απόδοση των βρόχων 299 Μην το κάνετε 302 Σημαντικοί όροι 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 Χειρισμός πινάκων με αντικείμενα String 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 11 Προχωρημένες έννοιες κληρονομικότητας 461 Δημιουργία και χρήση αφηρημένων κλάσεων 462 Χρήση δυναμικής σύνδεσης μεθόδου 470 Χρήση μιας υπερκλάσης ως τύπο παραμέτρου μεθόδου 472 Δημιουργία πινάκων με αντικείμενα υποκλάσεων 473 Χρήση της κλάσης Object και των μεθόδων της 476 Χρήση της μεθόδου tostring() 477 Χρήση της μεθόδου equals() 480 Παράκαμψη της equals() 483 Χρήση της κληρονομικότητας για να επιτύχετε καλό σχεδιασμό λογισμικού 485 Δημιουργία και χρήση διεπαφών 486 Δημιουργία διεπαφών για την αποθήκευση σχετιζόμενων σταθερών 490 Δημιουργία και χρήση πακέτων 494 Μην το κάνετε 498 Σημαντικοί όροι 499 Περίληψη κεφαλαίου 499 Ερωτήσεις επανάληψης 500 Ασκήσεις 502 12 Χειρισμός εξαιρέσεων 509 Κατανόηση των εξαιρέσεων 510 Δοκιμή κώδικα και σύλληψη εξαιρέσεων 514 Χρήση της ενότητας try για να κάνετε τα προγράμματά σας «ανθεκτικά σε ανόητα σφάλματα» 518 Δήλωση και αρχικοποίηση μεταβλητών σε ενότητες try catch 520 Θα πετάξετε και θα συλλάβετε πολλαπλές εξαιρέσεις 523 Χρήση της ενότητας finally 528 Πλεονεκτήματα του χειρισμού εξαιρέσεων 530 Προσδιορισμός των εξαιρέσεων που μπορεί να πετάξει μια μέθοδος 532 Παρακολούθηση των εξαιρέσεων διαμέσου της στοίβας κλήσεων 536 Δημιουργία των δικών σας κλάσεις exception 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 Χρήση της κλάσης JFrame 625 Προσαρμογή της εμφάνισης μιας JFrame 628 Χρήση της κλάσης JLabel 631 Αλλαγή της γραμματοσειράς JLabel 632 Χρήση διαχειριστή διάταξης 634 Επέκταση της κλάσης JFrame 637 Προσθήκη χαρακτηριστικών JTextField, JButton και παραθύρων βοήθειας σε μία JFrame 639 Προσθήκη χαρακτηριστικών JTextFields 639 Προσθήκη κουμπιών JButton 641 Χρήση των παραθύρων βοήθειας 643 Γνωριμία με τον οδηγούμενο από γεγονότα προγραμματισμό 645 Προετοιμασία της κλάσης σας ώστε να δέχεται μηνύματα γεγονότων 646 Ενημέρωση της κλάσης σας ώστε να αναμένει γεγονότα 646 Ενημέρωση της κλάσης σας για το πώς θα ανταποκρίνεται σε γεγονότα 646

12 / JAVA ΤΜ Ένα οδηγούμενο από γεγονότα πρόγραμμα 647 Χρήση πηγών πολλαπλών γεγονότων 649 Χρήση της μεθόδου setenabled() 650 Κατανόηση των ακροατών γεγονότων Swing 653 Χρήση των κλάσεων JCheckBox, ButtonGroup και JComboBox 655 Η κλάση JCheckBox 656 Η κλάση ButtonGroup 659 Η κλάση JComboBox 660 Μην το κάνετε 666 Σημαντικοί όροι 666 Περίληψη κεφαλαίου 667 Ερωτήσεις επανάληψης 668 Ασκήσεις 670 15 Προηγμένα θέματα GUI 673 Χρήση παραθύρων περιεχομένου 674 Χρήση χρώματος 676 Περισσότερες πληροφορίες για τους διαχειριστές διάταξης 678 Χρήση του BorderLayout 679 Χρήση του FlowLayout 681 Χρήση του GridLayout 683 Χρήση του CardLayout 684 Χρήση εξελιγμένων διαχειριστών διάταξης 686 Χρήση στοιχείων JPanel για περισσότερες επιλογές διάταξης 692 Δημιουργία στοιχείων JScrollPanes 698 Καλύτερη κατανόηση των γεγονότων και του χειρισμού γεγονότων 701 Παράδειγμα χειρισμού γεγονότος: KeyListener 702 Χρήση μεθόδων της κλάσης AWTEvent 705 Κατανόηση των συντεταγμένων χ και ψ 706 Χειρισμός γεγονότων σχετιζόμενων με το ποντίκι 707 Χρήση μενού 711 Χρήση εξειδικευμένων στοιχείων μενού 714 Χρήση της addseparator() 716 Χρήση της setmnemonic() 716 Μην το κάνετε 720 Σημαντικοί όροι 721 Περίληψη κεφαλαίου 722 Ερωτήσεις επανάληψης 722 Ασκήσεις 724 16 Γραφικά 729 Εκμάθηση των μεθόδων σύνθεσης 730 Σχεδιασμός συμβολοσειρών 733 Εκ νέου απεικόνιση 735 Ορισμός μίας γραμματοσειράς 736 Χρήση της Color 737 Σχεδιασμός γραμμών και σχημάτων 741 Σχεδιασμός γραμμών 741 Σχεδιασμός ορθογωνίων γεμισμένων και μη γεμισμένων 741 Σχεδιασμός καθαρών (δηλαδή «άδειων») ορθογωνίων 741 Σχεδιασμός καμπυλωτών ορθογωνίων 742 Σχεδιασμός σκιασμένων ορθογωνίων 744 Σχεδιασμός οβάλ σχημάτων 745 Σχεδιασμός τόξων 745 Δημιουργία πολυγώνων 746 Αντιγραφή μίας περιοχής 748 Χρήση της μεθόδου paint() με κλάσεις JFrame 748 Εμβάθυνση στις γραμματοσειρές 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

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