Μια Γεύση από Java
Μια Γεύση από Java
About the Book
Η γλώσσα προγραμματισμού Java είναι σήμερα από τις πιο δημοφιλής. Η εκμάθηση της συχνά στηρίζεται σε βιβλία τα οποία είναι πολύ μεγάλα σε έκταση κάτι που ίσως δεν είναι ελκυστικό για μια πρώτη επαφή με τη γλώσσα. Το παρόν βιβλίο είναι ένα σύντομο εγχειρίδιο της Java το οποίο έχει σκοπό να δώσει στον αναγνώστη μια γεύση της γλώσσας, δηλαδή να περιγράψει τα πιο σημαντικά της στοιχεία, σύντομα και περιεκτικά (αρκεί ίσως ένα απόγευμα μελέτης). Το βιβλίο συστήνεται σε εκείνους που δεν έχουν καμία γνώση της γλώσσας αλλά θα ήθελαν γρήγορα να μπουν στην ουσία. Το βιβλίο περιλαμβάνει και παράδειγμα ανάπτυξης εφαρμογών Android με χρήση της Java.
Για τους φοιτητές σχετικών μαθημάτων της τριτοβάθμιας εκπαίδευσης στην πληροφορική, το παρόν βιβλίο προτείνεται ως ανάγνωσμα για τις πρώτες δύο εβδομάδες του εξαμήνου, ευελπιστώντας ότι η ανάγνωσή του θα τους βοηθήσει να «εγκλιματιστούν» πιο γρήγορα και να πάρουν μια γεύση για τα θέματα με τα οποία θα καταπιαστούν (με αναλυτικότερο τρόπο) κατά τη διάρκεια του εξαμήνου. Το βιβλίο έχει λειτουργήσει επικουρικά στις διδασκαλίες σχετικού μαθήματος στο Τμήμα Επιστήμης Υπολογιστών του Πανεπιστημίου Κρήτης από το 2009.
Το βιβλίο σε καμία περίπτωση δεν υποκαθιστά τους διαθέσιμους διαδικτυακούς πόρους για τη γλώσσα Java, ούτε τα αναλυτικά βιβλία για την εκμάθησή της.
ISBN 978-960-93-8505-3
Table of Contents
ΜΙΑ ΓΕΥΣΗ ΑΠΟ … JAVA 1
1 ΠΡΟΛΟΓΟΣ 7
1.1 ΣΚΟΠΟΣ ΚΑΙ ΡΟΛΟΣ ΤΟΥ ΒΙΒΛΙΟΥ 7
1.2 ΤΟ ΙΣΤΟΡΙΚΟ ΚΑΙ ΤΟ ΜΕΛΛΟΝ ΤΟΥ ΒΙΒΛΙΟΥ 7
1.3 ΕΥΧΑΡΙΣΤΙΕΣ 8
1.4 ΛΙΓΑ ΛΟΓΙΑ ΓΙΑ ΤΟΝ ΣΥΓΓΡΑΦΕΑ 8
2 ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ 9
3 ΣΥΓΓΡΑΦΗ, ΜΕΤΑΓΛΩΤΤΙΣΗ ΚΑΙ ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ 9
3.1 H ΒΙΒΛΙΟΘΗΚΗ ΤΗΣ JAVA (JAVA API) 10
3.2 ΤΟ IDE ECLIPSE 11
3.2.1 ΤΟ ΠΕΡΙΒΑΛΛΟΝ 11
3.2.2 ΝΕΟ ΕΡΓΟ 12
3.2.3 ΝΕΑ ΚΛΑΣΗ 13
3.2.4 ΠΡΟΓΡΑΜΜΑΤΙΖΟΝΤΑΣ 14
3.2.5 ΕΚΤΕΛΕΣΗ ΕΦΑΡΜΟΓΗΣ 16
3.2.6 ΕΙΣΑΓΩΓΗ ΕΡΓΟΥ 16
3.2.7 ΠΛΗΡΟΦΟΡΙΕΣ 17
4 ΤΑ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ JAVA 17
4.1 ΣΧΟΛΙΑ 17
4.2 ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ 18
4.3 ΔΗΛΩΣΗ ΜΕΤΑΒΛΗΤΩΝ 18
4.4 ΔΗΛΩΣΗ ΣΤΑΘΕΡΩΝ 19
4.5 ΠΙΝΑΚΕΣ 19
4.6 ΤΕΛΕΣΤΕΣ 19
5 ΡΟΗ ΠΡΟΓΡΑΜΜΑΤΟΣ 20
5.1 ΔΟΜΕΣ ΕΛΕΓΧΟΥ 20
5.1.1 IF ELSE 20
5.1.2 SWITCH 21
5.2 ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ 22
5.2.1 WHILE 22
5.2.2 DO WHILE 22
5.2.3 FOR 22 4
6 ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ 23
6.1 ΜΕΘΟΔΟΙ 24
6.2 ΚΛΗΣΗ ΜΕΘΟΔΩΝ ΚΑΙ ΠΕΡΑΣΜΑ ΠΑΡΑΜΕΤΡΩΝ 27
7 ΟΡΓΑΝΩΣΗ ΚΛΑΣΕΩΝ 29
7.1 ΠΑΚΕΤΑ 29
7.2 ΠΕΡΙΟΡΙΣΜΟΙ ΠΡΟΣΠΕΛΑΣΗΣ 30
7.3 ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (INHERITANCE) 32
7.4 ΔΙΕΠΑΦΕΣ (INTERFACES) 36
7.5 ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ 39
7.6 ΠΟΛΥΜΟΡΦΙΣΜΟΣ (POLYMORPHISM) 40
7.6.1 ΥΠΕΡΦΟΡΤΩΣΗ (OVERLOADING) 40
7.6.2 ΥΠΟΣΚΕΛΙΣΜΟΣ (OVERRIDING) 41
7.6.3 ΥΠΟΣΚΕΛΙΣΜΟΣ (OVERRIDING) ΚΑΙ ΕΠΙΣΚΙΑΣΗ (SHADOWING) 42
7.7 ΕΝΘΥΛΑΚΩΣΗ (ENCAPSULATION) 43
7.8 ΕΡΩΤΗΜΑΤΑ ΚΑΤΑΝΟΗΣΗΣ 44
8 ΣΥΜΒΟΛΟΣΕΙΡΕΣ (STRINGS) 45
9 ΕΞΑΙΡΕΣΕΙΣ (EXCEPTIONS) 46
10 ADTS (ABSTRACT DATA TYPES) 50
10.1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΑΣΙΣΜΕΝΟΣ ΣΕ ΣΥΜΒΟΛΑΙΑ (CONTRACT-BASED PROGRAMMING) 51
10.2 ΣΥΜΒΟΛΑΙΑ ΚΑΙ ΕΞΕΙΔΙΚΕΥΣΗ 52
11 ΔΙΑΧΕΙΡΙΣΗ ΣΥΛΛΟΓΩΝ ΜΕ ΤΟ JAVA COLLECTION FRAMEWORK 54
11.1 ΣΥΓΚΡΙΣΗ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ 57
12 ΑΡΧΕΙΑ (FILE) 59
13 ΠΑΡΑΜΕΤΡΙΚΟΙ ΤΥΠΟΙ (GENERICS) 60
14 ΕΜΦΩΛΕΥΜΕΝΕΣ Η ΕΣΩΤΕΡΙΚΕΣ ΚΛΑΣΕΙΣ (INNER CLASSES) 61
15 ΣΤΟΧΑΣΜΟΣ (REFLECTION) 63
16 ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ ΜΕ ΤΟ SWING 64
16.1 Η ΚΛΑΣΗ COMPONENT 65
16.2 ΥΠΟΔΟΧΕΙΣ-ΠΛΑΙΣΙΑ (JFRAMES) 66
16.3 ΣΥΣΤΑΤΙΚΑ (COMPONENTS) 67
16.4 ΔΙΑΤΑΞΗ ΣΥΣΤΑΤΙΚΩΝ (LAYOUTS) 69 5
16.5 ΤΑΜΠΛΟ/ΤΟΜΕΙΣ (JPANEL) 72
16.6 ΑΚΡΟΑΤΕΣ ΣΥΜΒΑΝΤΩΝ (ACTION LISTENERS) 72
16.7 ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS) ΤΗΣ JAVA 73
17 ΠΟΛΥΝΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 75
18 ΤΑ ΝΕΑ ΣΤΟΙΧΕΙΑ ΤΗΣ JAVA 8 77
18.1 ΔΙΕΠΑΦΕΣ 77
18.2 ΣΥΝΑΡΤΗΣΙΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 79
18.3 ΛΑΜΔΑ ΕΚΦΡΑΣΕΙΣ: ΕΙΣΑΓΩΓΗ 79
18.4 DEFAULT ΜΕΘΟΔΟΙ ΤΗΣ ΒΙΒΛΙΟΘΗΚΗΣ 81
18.4.1 ΤΑΞΙΝΟΜΗΣΗ 82
18.4.2 ΑΚΡΟΑΤΕΣ ΣΥΜΒΑΝΤΩΝ 82
18.5 ΑΝΑΦΟΡΕΣ ΣΥΝΑΡΤΗΣΕΩΝ 82
18.6 ΠΡΟΚΑΘΟΡΙΣΜΕΝΕΣ ΣΥΝΑΡΤΗΣΙΑΚΕΣ ΔΙΕΠΑΦΕΣ ΤΟΥ JAVA.UTIL.FUNCTIONS 83
18.7 ΡΟΕΣ (STREAMS) 83
18.7.1 ΠΑΡΑΛΛΗΛΙΑ 87
18.7.2 ΕΠΙΛΟΓΟΣ ΓΙΑ ΡΟΕΣ 88
19 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ANDROID 88
19.1 ΕΙΣΑΓΩΓΗ 88
19.2 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ 89
19.3 Η ΤΕΛΙΚΗ ΦΥΣΙΚΗ ΥΠΟΣΤΑΣΗ ΜΙΑΣ ΕΦΑΡΜΟΓΗΣ 91
19.4 Η ΛΟΓΙΚΗ ΔΟΜΗ ΜΙΑΣ ΕΦΑΡΜΟΓΗΣ 92
19.5 ΤΡΕΧΟΝ ΠΑΡΑΔΕΙΓΜΑ 93
19.6 ΤΟ ΑΡΧΕΙΟ ANDROIDMANIFEST.XML 94
19.7 Ο ΦΑΚΕΛΟΣ /JAVA 94
19.8 Ο ΦΑΚΕΛΟΣ /RES 95
19.9 ΤΟ ΑΡΧΕΙΟ /RES/VALUES/STRINGS.XML 96
19.10 ΤΟ ΑΡΧΕΙΟ /RES/VALUES/STYLES.XML 96
19.11 Ο ΦΑΚΕΛΟΣ /RES/DRAWABLE 97
19.12 Ο ΦΑΚΕΛΟΣ /RES/LAYOUT 98
19.13 ΤΑ ΑΡΧΕΙΑ /JAVA/*ACTIVITY.JAVA 100
20 ΑΝΤΙΚΕΙΜΕΝΟΣΤΕΦΗΣ ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ 105
20.1 ΣΚΟΠΟΣ 105
20.2 ΔΙΑΔΙΚΑΣΙΑ ΑΝΑΛΥΣΗΣ ΚΑΙ ΣΧΕΔΙΑΣΜΟΥ 105
20.3 ΔΙΑΓΡΑΜΜΑΤΙΚΗ ΓΛΩΣΣΑ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ 105
20.4 ΣΥΓΚΕΚΡΙΜΕΝΟ ΠΑΡΑΔΕΙΓΜΑ 106
20.4.1 (Ι) ΣΤΟΧΟΙ ΚΑΙ ΠΡΟΣΔΟΚΙΕΣ ΠΕΛΑΤΗ 106
20.4.2 (ΙΙ) ΔΙΑΓΡΑΜΜΑ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ (USE CASE DIAGRAM) 106
20.4.3 (ΙΙΙ) ΜΑΚΕΤΑ ΓΡΑΦΙΚΗΣ ΔΙΕΠΑΦΗΣ ΧΡΗΣΗΣ 107
20.4.4 (IV) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΟΣ 108
20.4.5 (V) ΔΙΑΓΡΑΜΜΑ ΚΛΑΣΕΩΝ 108
20.4.6 (VI) ΑΚΟΛΟΥΘΙΑΚΑ ΔΙΑΓΡΑΜΜΑΤΑ ΚΑΙ ΔΙΑΓΡΑΜΜΑΤΑ ΚΑΤΑΣΤΑΣΕΩΝ 110
20.4.7 ΤΙ ΔΕΝ ΠΕΡΙΓΡΑΨΑΜΕ 112 6
21 ΘΕΜΑΤΑ ΜΗΧΑΝΟΛΟΓΙΑΣ ΤΗΣ JAVA 112
21.1 ΕΠΙΣΗΜΕΙΩΣΕΙΣ (JAVA ANNOTATIONS) 112
21.2 ΔΟΚΙΜΕΣ (TESTING) 113
21.3 ΈΝΕΣΗ ΕΞΑΡΤΗΣΕΩΝ (DEPENDENCY INJECTION) 115
21.4 ΟΙΚΟΔΟΜΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΤΩΝ ΣΧΕΤΙΚΩΝ ΕΞΑΡΤΗΣΕΩΝ (MAVEN, GRADLE) 116
21.5 ΣΥΣΤΗΜΑΤΑ ΓΙΑ ΣΥΝΕΡΓΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ, ΕΚΔΟΣΕΙΣ ΛΟΓΙΣΜΙΚΟΥ 118
22 ΕΠΙΛΟΓΟΣ 118
23 ΤΙ ΕΙΠΑΝ ΑΛΛΟΙ ΓΙΑ ΤΟ … ΒΙΒΛΙΟ 118
The Leanpub 60-day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them