JAVA 8 Ο ΗΓΟΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΤΡΙΤΗ ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος
|
|
- Γῆ Βιτάλης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 JAVA 8 Ο ΗΓΟΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ ΤΡΙΤΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής Τηλ.: Αθήνα,
2 Τίτλος Πρωτοτύπου: JAVA SE 8 for Programmers Third Edition ISBN-13: ISBN-10: Copyright 2014 Pearson Education, Inc. Upper Saddle River, New Jersey Αποκλειστικότητα για την Ελληνική Γλώσσα Εκδόσεις: Μόσχος Γκιούρδας Ζωοδόχου Πηγής Τηλ.: Αθήνα, ISBN: Επιμέλεια κειμένων: Μιχαήλ Μεταξάς Desktop Publishing: Κ. Καλαϊτζής, τηλ.: Εκτύπωση: ΜΗΤΡΟΠΟΛΙΣ Γραφικές Τέχνες Α.Ε., τηλ.: Βιβλιοδεσία: ΣΤΑΜΟΥ Γραφικές Τέχνες Εκδόσεις Αναδημοσίευση του βιβλίου σε οποιαδήποτε μορ φή, ολόκληρου ή μέ ρους, καθώς και των περιεχομένων προ γραμ μά των, δεν επιτρέπεται χωρίς την έγγραφη εξου σιο δό τη ση του εκδότη.
3 Στον Brian Goetz, Τον αρχιτέκτονα της γλώσσας Java της Oracle και Επικεφαλής προδιαγραφών για το Έργο Λάμδα της Java SE 8: Η καθοδήγησή σου μας βοήθησε να φτιάξουμε ένα καλύτερο βιβλίο. Σ ευχαριστούμε που επέμενες να το κάνουμε σωστά. Paul και Harvey Deitel
4 Περιεχόμενα Εισαγωγή Πρόλογος Πριν Ξεκινήσετε xxiii xxv xxxvii 1 Εισαγωγή στη Java και οκιμή μιας Εφαρμογής Java Εισαγωγή Έννοιες Τεχνολογιών Αντικειμένων Το Αυτοκίνητο σαν Αντικείμενο Μέθοδοι και κλάσεις ημιουργία Στιγμιότυπων Επαναχρησιμοποίηση Μηνύματα και Κλήσεις Μεθόδων Χαρακτηριστικά και Μεταβλητές Στιγμιότυπων Ενθυλάκωση και Απόκρυψη πληροφοριών Κληρονομικότητα ιεπαφές Αντικειμενοστραφής Ανάλυση και Σχεδίαση (OOAD) Η UML (Unified Modeling Language) Λογισμικό ανοιχτού κώδικα Java Ένα Τυπικό Περιβάλλον Ανάπτυξης Java οκιμή μιας Εφαρμογής Java Τεχνολογίες λογισμικού Μείνετε Ενημερωμένοι με τις Τεχνολογίες Πληροφορικής 18 2 Εισαγωγή στις Εφαρμογές Java: Είσοδος/Έξοδος και Τελεστές Εισαγωγή Το Πρώτο σας Πρόγραμμα στην Java: Εμφάνιση μιας Γραμμής Κειμένου Τροποποίηση του Πρώτου σας Προγράμματος Java Εμφάνιση Κειμένου με την printf 28
5 viii ΠΕΡΙΕΧΟΜΕΝΑ 2.5 Ακόμα Μία Εφαρμογή: Πρόσθεση Ακεραίων Αριθμητικές Πράξεις Λήψη Αποφάσεων: Τελεστές Ισότητας και Σχεσιακοί Τελεστές Ανακεφαλαίωση 37 3 Εισαγωγή στις Κλάσεις, τα Αντικείμενα, τις Μεθόδους και τις Ακολουθίες Χαρακτήρων Εισαγωγή Μεταβλητές Στιγμιότυπων, Μέθοδοι set και Μέθοδοι get Η Κλάση Account με μια Μεταβλητή Στιγμιότυπου, μια Μέθοδο set και μια Μέθοδο get Η Κλάση AccountTest που ημιουργεί και Χρησιμοποιεί ένα Αντικείμενο της κλάσης Account Μεταγλώττιση και Εκτέλεση Εφαρμογής με Πολλαπλές Κλάσεις ιάγραμμα UML Κλάσης Account με Μεταβλητή Στιγμιότυπου και Μεθόδους set και get Πρόσθετες Σημειώσεις για την Κλάση AccountTest Σχεδιαση Λογισμικού με private Μεταβλητές Στιγμιότυπων και public Μεθόδους set και get Βασικοί Τύποι εναντίον Τύπων Αναφοράς Η Κλάση Account: Αρχικοποίηση Αντικειμένων με Μεθόδους Κατασκευής ήλωση Μεθόδου Κατασκευής Account για Προσαρμοσμένη Αρχικοποίηση Αντικειμένου Η Κλάση AccountTest: Αρχικοποίηση Αντικειμένων Account Όταν ημιουργούνται Η Κλάση Account με Υπόλοιπο Αριθμοί Κινητής Υποδιαστολής Η Κλάση Account με Μεταβλητή Στιγμιότυπου balance Τύπου double Η Κλάση AccountTest για Χρήση της Κλάσης Account Ανακεφαλαίωση 58 4 Προτάσεις Ελέγχου: Μέρος 1 Τελεστές Εκχώρησης, ++, Εισαγωγή ομές ελέγχου Πρόταση Μίας Επιλογής if Πρόταση ιπλής Επιλογής if else Κλάση Student: Ένθετες Προτάσεις if else Πρόταση Επανάληψης while Επανάληψη Ελεγχόμενη από Μετρητή Επανάληψη Ελεγχόμενη από Τιμή Φρουρό Ένθετες Προτάσεις Ελέγχου Σύνθετοι Τελεστές Εκχώρησης Τελεστές Αύξησης και Μείωσης Βασικοί Τύποι Ανακεφαλαίωση 85
6 ΠΕΡΙΕΧΟΜΕΝΑ ix 5 Προτάσεις Ελέγχου: Μέρος 2 Λογικοί Τελεστές Εισαγωγή Τα Βασικά Σημεία της Ελεγχόμενης από Μετρητή Επανάληψης Πρόταση Επανάληψης for Παραδείγματα Χρήσης της Πρότασης for Πρόταση Επανάληψης do while Πρόταση Πολλαπλών Επιλογών switch Μελέτη Περίπτωσης κλάσης AutoPolicy: Ακολουθίες χαρακτήρων σε Προτάσεις switch Προτάσεις break και continue Λογικοί Τελεστές Ανακεφαλαίωση Μέθοδοι: Μια Βαθύτερη ιερεύνηση Εισαγωγή Λειτουργικές Μονάδες Προγραμμάτων της Java Μέθοδοι static, Πεδία static και η Κλάση Math ήλωση Μεθόδων με Πολλές Παραμέτρους Σημειώσεις για την ήλωση και Χρήση των Μεθόδων Προβιβασμός και Αλλαγή Τύπου Ορισμάτων Πακέτα Java API Μελέτη Περίπτωσης: Ασφαλής Γεννήτρια Τυχαίων Αριθμών Μελέτη Περίπτωσης: Ένα Τυχερό Παιχνίδι Εισαγωγή στις Απαριθμήσεις Εμβέλεια των ηλώσεων Υπερφόρτωση Μεθόδων Ανακεφαλαίωση Πίνακες και Λίστες Πινάκων Εισαγωγή Πίνακες ήλωση και ημιουργία Πινάκων Παραδείγματα Χρήσης Πινάκων ημιουργία και Αρχικοποίηση Πίνακα Χρήση Τιμών Αρχικοποίησης Πίνακα Υπολογισμός των Τιμών για Αποθήκευση σε Πίνακα Άθροιση των Στοιχείων ενός Πίνακα Χρήση ιαγραμμάτων Ράβδου για Εμφάνιση εδομένων Πίνακα με Γραφικό Τρόπο Χρήση των Στοιχείων ενός Πίνακα ως Μετρητές Χρήση Πινάκων για Ανάλυση Αποτελεσμάτων ημοσκόπησης Χειρισμός Εξαιρέσεων: Επεξεργασία της Λάθος Απάντησης Η Πρόταση try Εκτέλεση του Μπλοκ catch Μέθοδος tostring της Παραμέτρου Εξαιρέσεων 158
7 x ΠΕΡΙΕΧΟΜΕΝΑ 7.6 Μελέτη Περίπτωσης: Προσομοίωση Ανακατέματος και Μοιράσματος Τράπουλας Ενισχυμένη Πρόταση for Πέρασμα Πινάκων σε Μεθόδους Πέρασμα Μέσω Τιμής και Πέρασμα Μέσω Αναφοράς Μελέτη Περίπτωσης: Η Κλάση GradeBook με έναν Πίνακα για Αποθήκευση Βαθμών Πολυδιάστατοι Πίνακες Μελέτη Περίπτωσης: Η Κλάση GradeBook με ισδιάστατο Πίνακα Λίστες Ορισμάτων Μεταβλητού Μήκους Χρήση Ορισμάτων Γραμμής Εντολών Η Κλάση Arrays Εισαγωγή στις Συλλογές και στην Κλάση ArrayList Ανακεφαλαίωση Κλάσεις και Αντικείμενα: Μια Βαθύτερη ιερεύνηση Εισαγωγή Μελέτη Περίπτωσης Κλάσης Time Έλεγχος Πρόσβασης σε Μέλη Αναφορά στα Μέλη του Τρέχοντος Αντικειμένου με την Αναφορά this Μελέτη Περίπτωσης Κλάσης Time: Υπερφορτωμένες Μέθοδοι Κατασκευής Προεπιλεγμένες Μέθοδοι Κατασκευής και Μέθοδοι Κατασκευής Χωρίς Ορίσματα Σημειώσεις για τις Μεθόδους Set και Get Σύνθεση Απαριθμήσεις Αποκομιδή Απορριμμάτων Μέλη Κλάσης static static Εισαγωγή Μεταβλητές Στιγμιοτύπου final Μελέτη Περίπτωσης Κλάσης Time: ημιουργία Πακέτων Πρόσβαση Πακέτου Χρήση της Bigdecimal για Ακριβείς Νομισματικούς Υπολογισμούς Ανακεφαλαίωση Αντικειμενοστραφής Προγραμματισμός: Κληρονομικότητα Εισαγωγή Υπερκλάσεις και Υποκλάσεις protected Μέλη Σχέση Ανάμεσα σε Υπερκλάσεις και Υποκλάσεις ημιουργία και Χρήση μιας Κλάσης CommissionEmployee ημιουργία και Χρήση μιας Κλάσης BasePlusCommissionEmployee ημιουργία Ιεραρχίας Κληρονομικότητας CommissionEmployee-BasePlusCommissionEmployee Ιεραρχία Κληρονομικότητας CommissionEmployee-BasePlus- CommissionEmployee με Χρήση protected Μεταβλητών Στιγμιοτύπου Ιεραρχία Κληρονομικότητας CommissionEmployee-BasePlusCommission- Employee Χρησιμοποιώντας private Μεταβλητές Στιγμιοτύπου 256
8 ΠΕΡΙΕΧΟΜΕΝΑ xi 9.5 Μέθοδοι Κατασκευής σε Υποκλάσεις Η Κλάση Object Ανακεφαλαίωση Αντικειμενοστραφής Προγραμματισμός: Πολυμορφισμός Εισαγωγή Παραδείγματα Πολυμορφισμού Παρουσίαση Πολυμορφικής Συμπεριφοράς Αφαιρετικές Κλάσεις και Μέθοδοι Μελέτη Περίπτωσης: Σύστημα Μισθοδοσίας με Χρήση Πολυμορφισμού Αφαιρετική Υπερκλάση Employee Στερεά Υποκλάση SalariedEmployee Στερεά Υποκλάση HourlyEmployee Στερεά Υποκλάση CommissionEmployee Έμμεση Στερεά Υποκλάση BasePlusCommissionEmployee Πολυμορφική Επεξεργασία, Τελεστής instanceof και Υποβιβασμός Τύπου Επιτρεπτές Εκχωρήσεις Μεταξύ Μεταβλητών Υπερκλάσεων και Υποκλάσεων Μέθοδοι και Κλάσεις final Μια Βαθύτερη Εξήγηση Θεμάτων με Καλούσες Μεθόδους από Μεθόδους Κατασκευής ημιουργία και Χρήση ιεπαφών Ανάπτυξη μιας Ιεραρχίας Payable ιεπαφή Payable Κλάση Invoice Τροποποίηση της Κλάσης Employee για Υλοποίηση της διεπαφής Payable Τροποποίηση της Κλάσης SalariedEmployee για Χρήση στην Ιεραρχία Payable Χρήση της διεπαφής Payable για Πολυμορφική Επεξεργασία των Invoice και Employee Συνήθεις ιεπαφές του Java API Ενισχύσεις της ιεπαφής Java SE default Μέθοδοι ιεπαφής static Μέθοδοι ιεπαφής Λειτουργικές ιεπαφές Ανακεφαλαίωση Χειρισμός Εξαιρέσεων Εισαγωγή Παράδειγμα: ιαίρεση διά του Μηδενός Χωρίς Χειρισμό Εξαιρέσεων Παράδειγμα: Χειρισμός Εξαιρέσεων ArithmeticException και InputMismatchException Πότε να Χρησιμοποιείτε Χειρισμό Εξαιρέσεων Ιεραρχία Εξαιρέσεων της Java Μπλοκ finally Ξετύλιγμα Στοίβας και Λήψη Πληροφοριών από ένα Αντικείμενο Εξαίρεσης 322
9 xii ΠΕΡΙΕΧΟΜΕΝΑ 11.8 Αλυσιδωτές Εξαιρέσεις ήλωση Νέων Τύπων Εξαιρέσεων Προ-υποθέσεις και Μετά-υποθέσεις ιαβεβαιώσεις try με Πόρους: Αυτόματη Απελευθέρωση Πόρων Ανακεφαλαίωση Στοιχεία Γραφικού Περιβάλλοντος Swing: Μέρος Εισαγωγή Η Εμφάνιση Nimbus της Java Απλή Είσοδος/Έξοδος Βασισμένη σε GUI με το JOptionPane Επισκόπηση των Στοιχείων Swing Εμφάνιση Κειμένου και Εικόνων σε Ένα Παράθυρο Πεδία Κειμένου και Εισαγωγή στον Χειρισμό Συμβάντων με Ένθετες Κλάσεις Συνήθεις Τύποι Συμβάντων GUI και ιεπαφές Ακρόασης Συμβάντων Πώς Λειτουργεί ο Χειρισμός Συμβάντων JButton Κουμπιά Που ιατηρούν την Κατάσταση JCheckBox JRadioButton JcomboBox και Χρήση μιας Ανώνυμης Εσωτερικής Κλάσης για τον Χειρισμό Συμβάντων JList Λίστες Πολλαπλών Επιλογών Χειρισμός Συμβάντων Ποντικιού Κλάσεις Προσαρμογής Υποκλάση JPanel για Σχεδίαση με το Ποντίκι Χειρισμός Συμβάντων Πληκτρολογίου Εισαγωγή στους ιαχειριστές ιατάξεων FlowLayout BorderLayout GridLayout Χρήση Πάνελ για ιαχείριση πιο Περίπλοκων ιατάξεων JTextArea Ανακεφαλαίωση Γραφικά και Java 2D Εισαγωγή Πλαίσια Γραφικών και Αντικείμενα Γραφικών Έλεγχος Χρωμάτων Χειρισμός Γραμματοσειρών Σχεδίαση Γραμμών, Ορθογωνίων και Ελλείψεων Σχεδίαση Τόξων Σχεδίαση Πολυγώνων και Πολύγραμμων Java 2D API 428
10 ΠΕΡΙΕΧΟΜΕΝΑ xiii 13.9 Ανακεφαλαίωση Συμβολοσειρές, Χαρακτήρες και Κανονικές Εκφράσεις Εισαγωγή Τα Βασικά των Χαρακτήρων και των Συμβολοσειρών Η Κλάση String Μέθοδοι Κατασκευής String String Μέθοδοι length, charat και getchars Σύγκριση Συμβολοσειρών Εντοπισμός Χαρακτήρων και Υποσυμβολοσειρών σε Συμβολοσειρές Εξαγωγή Υποσυμβολοσειρών από Συμβολοσειρές Συνένωση Συμβολοσειρών ιάφορες Μέθοδοι String String Μέθοδος valueof Η Κλάση StringBuilder Μέθοδοι Κατασκευής StringBuilder StringBuilder Μέθοδοι length, capacity, setlength και ensurecapacity StringBuilder Μέθοδοι charat, setcharat, getchars και reverse StringBuilder Μέθοδοι append Μέθοδοι Εισαγωγής και ιαγραφής της StringBuilder Η Κλάση Character Μετατροπή Συμβολοσειρών σε ιακριτικά Κανονικές Εκφράσεις, Κλάση Pattern και Κλάση Matcher Ανακεφαλαίωση Αρχεία, Ροές και Σειριακή Επεξεργασία Αντικειμένων Εισαγωγή Αρχεία και Ροές Χρήση Κλάσεων και ιεπαφών NIO για Λήψη Πληροφοριών Αρχείων και Καταλόγων Αρχεία Κειμένου Σειριακής Προσπέλασης ημιουργία Αρχείου Κειμένου Σειριακής Προσπέλασης Ανάγνωση εδομένων από Αρχείο Κειμένου Σειριακής Προσπέλασης Μελέτη Περίπτωσης: Πρόγραμμα Ελέγχου Πιστώσεων Ενημέρωση Αρχείων Σειριακής Προσπέλασης Σειριακή Επεξεργασία Αντικειμένων ημιουργία Αρχείου Σειριακής Προσπέλασης Χρησιμοποιώντας Σειριοποίηση Αντικειμένου Ανάγνωση και Αποσειριοποίηση εδομένων από Αρχείο Σειριακής Πρόσβασης Άνοιγμα Αρχείων με την JFileChooser (Προαιρετικό) Πρόσθετες Κλάσεις java.io ιεπαφές και Κλάσεις για Είσοδο και Έξοδο Βασισμένη σε byte ιεπαφές και Κλάσεις για Είσοδο και Έξοδος Βασισμένη σε Χαρακτήρες Ανακεφαλαίωση 506
11 xiv ΠΕΡΙΕΧΟΜΕΝΑ 16 Γενικές Συλλογές Εισαγωγή Επισκόπηση Συλλογών Κλάσεις Τύπου Περιβλήματος Αυτόματη Πλαισίωση και Αυτόματη Αποπλαισίωση Η ιεπαφή Collection και η Κλάση Collections Λίστες ArrayList και Iterator LinkedList Μέθοδοι Συλλογών Μέθοδος sort Μέθοδος shuffle Μέθοδοι reverse, fill, copy, max και min Μέθοδος binarysearch Μέθοδοι addall, frequency και disjoint Η Κλάση Stack του Πακέτου java.util Οι Κλάσεις PriorityQueue και η ιεπαφή Queue Σύνολα Χάρτες Κλάση Properties Συγχρονισμένες Συλλογές Μη Τροποποιήσιμες Συλλογές Αφαιρετικές Υλοποιήσεις Ανακεφαλαίωση Λάμδα και Ροές της Java SE Εισαγωγή Επισκόπηση Τεχνολογιών Λειτουργικού Προγραμματισμού Λειτουργικές ιεπαφές Εκφράσεις Λάμδα Ροές IntStream Ενέργειες ημιουργία ενός IntStream και Εμφάνιση των Τιμών του με την Τερματική Ενέργεια foreach Τερματικές ενέργειες count, min, max, sum και average Τερματική Ενέργεια reduce Ενδιάμεσες Ενέργειες: Φιλτράρισμα και Ταξινόμηση Τιμών IntStream Ενδιάμεση Ενέργεια: Αντιστοίχιση ημιουργία Ροών από int με τις IntStream Μεθόδους range και rangeclosed Stream<Integer> Χειρισμοί ημιουργία Stream<Integer> Ταξινόμηση Stream και Συλλογή των Αποτελεσμάτων Φιλτράρισμα Stream και Ταξινόμηση των Αποτελεσμάτων για Μεταγενέστερη Χρήση 563
12 ΠΕΡΙΕΧΟΜΕΝΑ xv Φιλτράρισμα και Ταξινόμηση Stream και Συλλογή των Αποτελεσμάτων Ταξινόμηση Αποτελεσμάτων που Συλλέχθηκαν Προηγουμένως Stream<String> Χειρισμοί Αντιστοίχιση String με Κεφαλαία Γράμματα Χρησιμοποιώντας μια Αναφορά Μεθόδου Φιλτράρισμα String Όταν Ταξινομούνται σε Αύξουσα Σειρά Χωρίς ιάκριση Πεζών-Κεφαλαίων Φιλτράρισμα String Όταν Ταξινομούνται σε Φθίνουσα Σειρά Χωρίς ιάκριση Πεζών-Κεφαλαίων Stream<Employee>Χειρισμοί ημιουργία και Εμφάνιση List<Employee> Φιλτράρισμα Employee Κατά Μισθούς σε Καθορισμένο ιάστημα Ταξινόμηση Employee Κατά Πολλαπλά Πεδία Αντιστοίχιση Employee σε Μοναδικά String Επωνύμων Ομαδοποίηση Employee Κατά Τμήμα Μέτρηση του Αριθμού Employee σε Κάθε Τμήμα Υπολογισμός Αθροίσματος και Μέσου Όρου Μισθών Employee ημιουργία Stream<String> από Αρχείο Παραγωγή Ροών Τυχαίων Τιμών Χειριστές Συμβάντων Λάμδα Πρόσθετες Σημειώσεις για τις ιεπαφές της Java SE Πόροι για τη Java SE 8 και τον Λειτουργικό Προγραμματισμό Ανακεφαλαίωση Γενικεύσεις Εισαγωγή Κίνητρα για Χρήση Γενικών Μεθόδων Γενικές Μέθοδοι: Υλοποίηση και Μετάφραση κατά την Μεταγλώττιση Πρόσθετα Θέματα Μετάφρασης Κατά την Μεταγλώττιση: Μέθοδοι που Χρησιμοποιούν μια Παράμετρο Τύπου ως Τύπο Επιστροφής Υπερφόρτωση Γενικών Μεθόδων Γενικές Κλάσεις Ακατέργαστοι Τύποι Χαρακτήρες-Μπαλαντέρ σε Μεθόδους που έχονται Παραμέτρους Τύπων Ανακεφαλαίωση Στοιχεία Γραφικού Περιβάλλοντος Swing: Μέρος Εισαγωγή JSlider Τα Παράθυρα στη Java Χρήση Μενού με Πλαίσια JPopupMenu Προσαρμόσιμη Εμφάνιση και Αίσθηση JDesktopPane και JInternalFrame JTabbedPane 636
13 xvi ΠΕΡΙΕΧΟΜΕΝΑ 19.9 ιαχειριστής ιατάξεων BoxLayout ιαχειριστής ιατάξεων GridBagLayer Ανακεφαλαίωση Ταυτοχρονισμός Εισαγωγή Καταστάσεις Νημάτων και Κύκλος Ζωής Η Νέα και η Εκτελέσιμη Κατάσταση Η Κατάσταση Αναμονής Η Κατάσταση Χρονομετρημένης Αναμονής Η Κατάσταση Αποκλεισμού Η Κατάσταση Τερματισμού Ο Τρόπος που Βλέπει το Λειτουργικό Σύστημα την Κατάσταση Runnable Προτεραιότητες Νημάτων και Χρονοπρογραμματισμός Νημάτων Αόριστη Αναβολή και Αδιέξοδο ημιουργία και Εκτέλεση Νημάτων με το Πλαίσιο Executor Συγχρονισμός Νημάτων Αμετάβλητα εδομένα Παρακολουθητές Μη Συγχρονισμένη Κοινή Χρήση εδομένων Συγχρονισμένη Κοινή Χρήση εδομένων Κάνοντας τις Λειτουργίες Ατομικές Σχέση Παραγωγού/Καταναλωτή Χωρίς Συγχρονισμό Σχέση Παραγωγού/Καταναλωτή: ArrayBlockingQueue (Προχωρημένο) Σχέση Παραγωγού/Καταναλωτή με synchronized, wait, notify και notifyall (Προχωρημένο) Σχέση Παραγωγού/Καταναλωτή: Buffer με Όρια (Προχωρημένο) Σχέση Παραγωγού/Καταναλωτή: Οι ιεπαφές Lock και Condition Ταυτόχρονες Συλλογές Ταυτοχρονισμός με GUI: SwingWorker Εκτέλεση Υπολογισμών σε ένα Νήμα Εργάτη: Αριθμοί Fibonacci Επεξεργασία Ενδιάμεσων Αποτελεσμάτων με την SwingWorker Χρονομετρήσεις sort/parallelsort με το API Date/Time της Java SE Java SE 8: Σειριακές εναντίον Παράλληλων Ροών (Προχωρημένο) ιεπαφές Callable και Future (Προχωρημένο) Πλαίσιο Fork/Join Ανακεφαλαίωση Προσπέλαση Βάσεων εδομένων με το JDBC Εισαγωγή Σχεσιακές Βάσεις εδομένων Η Βάση εδομένων books SQL Βασικό Ερώτημα SELECT 739
14 ΠΕΡΙΕΧΟΜΕΝΑ xvii Φράση WHERE Φράση ORDER BY Συγχώνευση εδομένων από Πολλούς Πίνακες: INNER JOIN Πρόταση INSERT Πρόταση UPDATE Πρόταση DELETE Εγκατάσταση Βάσης εδομένων Java DB ημιουργία των Βάσεων εδομένων του Κεφαλαίου στα Windows ημιουργία των Βάσεων εδομένων του Κεφαλαίου σε Mac OS X ημιουργία των Βάσεων εδομένων του Κεφαλαίου σε Linux Χειρισμός Βάσεων εδομένων με το JDBC Σύνδεση και Υποβολή Ερωτημάτων σε μία Βάση εδομένων Υποβολή Ερωτημάτων στην Βάση εδομένων books ιεπαφή RowSet PreparedStatement Αποθηκευμένες ιαδικασίες Επεξεργασία Συναλλαγών Ανακεφαλαίωση Οι GUI του JavaFX Εισαγωγή JavaFX Scene Builder και το NetBeans IDE ομή Παραθύρου Εφαρμογής JavaFX Εφαρμογή Welcome Εμφάνιση Κειμένου και Εικόνας ημιουργία του Έργου της Εφαρμογής Παράθυρο Projects του NetBeans Προβολή των Περιεχομένων του Έργου Προσθήκη Εικόνας στο Έργο Άνοιγμα του JavaFX Scene Builder από το NetBeans Αλλαγή σε Container ιάταξης VBox ιαμόρφωση του Container ιάταξης VBox Προσθήκη και ιαμόρφωση ενός Label Προσθήκη και ιαμόρφωση ενός ImageView Εκτέλεση της Εφαρμογής Welcome Εφαρμογή Tip Calculator Εισαγωγή στο Χειρισμό Συμβάντων οκιμή της Εφαρμογής Tip Calculator Επισκόπηση τεχνολογιών Κατασκευή της GUI της Εφαρμογής Κλάση TipCalculator Κλάση TipCalculatorController Ανακεφαλαίωση Μελέτη Περίπτωσης ΑΤΜ, Μέρος 1: Αντικειμενοστραφής Σχεδίαση με την UML Εισαγωγή Μελέτης Περίπτωσης Εξέταση του Εγγράφου Προδιαγραφών 816
15 xviii ΠΕΡΙΕΧΟΜΕΝΑ 23.3 Προσδιορισμός των Κλάσεων σε ένα Έγγραφο Προδιαγραφών Προσδιορισμός Ιδιοτήτων Κλάσεων Προσδιορισμός Καταστάσεων και ραστηριοτήτων Αντικειμένων Προσδιορισμός Λειτουργιών Κλάσεων Υποδεικνύοντας την Συνεργασία Μεταξύ Αντικειμένων Ανακεφαλαίωση Μελέτη Περίπτωσης ΑΤΜ, Μέρος 2: Υλοποίηση μιας Αντικειμενοστραφούς Σχεδίασης Εισαγωγή Ξεκινώντας τον Προγραμματισμό των Κλάσεων του Συστήματος ATM Ενσωμάτωση Κληρονομικότητας και Πολυμορφισμού στο Σύστημα ATM Υλοποίηση της Μελέτης Περίπτωσης του ΑΤΜ Η Κλάση ATM Η Κλάση Screen Η Κλάση Keypad Η Κλάση CashDispenser Η Κλάση DepositSlot Η Κλάση Account Η Κλάση BankDatabase Η Κλάση Transaction Η Κλάση BalanceInquiry Η Κλάση Withdrawal Η Κλάση Deposit Η Κλάση ATMCaseStudy Ανακεφαλαίωση 893 A ιάγραμμα Προτεραιότητας Τελεστών 895 B Σύνολο Χαρακτήρων ASCII 897 Γ Λέξεις-κλειδιά και εσμευμένες Λέξεις 898 Βασικοί Τύποι 899 E Χρήση του Debugger 900 E.1 Εισαγωγή 901 E.2 Σημεία ιακοπής και οι Εντολές run, stop, cont και print 901 E.3 Οι Εντολές print και set 905
16 ΠΕΡΙΕΧΟΜΕΝΑ xix E.4 Έλεγχος της Εκτέλεσης Χρησιμοποιώντας τις Εντολές step, step up και next 907 E.5 Η Εντολή watch 909 E.6 Η Εντολή clear 912 E.7 Ανακεφαλαίωση 914 ΣΤ Χρήση της Τεκμηρίωσης του Java API 915 ΣΤ.1 Εισαγωγή 915 ΣΤ.2 Πλοήγηση στο Java API 916 Ζ ημιουργία Τεκμηρίωσης με το javadoc 924 Ζ.1 Εισαγωγή 924 Ζ.2 Σχόλια Τεκμηρίωσης 924 Ζ.3 Τεκμηρίωση Πηγαίου Κώδικα Java 925 Ζ.4 javadoc 932 Ζ.5 Αρχεία που Παράγονται με το javadoc 933 H Unicode 937 H.1 Εισαγωγή 937 H.2 Μορφές Μετασχηματισμού Unicode 938 H.3 Χαρακτήρες και Σύμβολα 939 H.4 Πλεονεκτήματα/Μειονεκτήματα του Unicode 940 H.5 Χρήση του Unicode 940 H.6 Περιοχές Χαρακτήρων 942 Θ Μορφοποιημένη Έξοδος 944 Θ.1 Εισαγωγή 945 Θ.2 Ροές 945 Θ.3 Μορφοποίηση Εξόδου με την printf 945 Θ.4 Εμφάνιση Ακεραίων 946 Θ.5 Εμφάνιση Αριθμών Κινητής Υποδιαστολής 947 Θ.6 Εμφάνιση Συμβολοσειρών και Χαρακτήρων 949 Θ.7 Εμφάνιση Ημερομηνιών και Ωρών 950 Θ.8 Άλλοι Χαρακτήρες Μετατροπής 952 Θ.9 Εμφάνιση με Πλάτη Πεδίων και Ακρίβειες 954 Θ.10 Χρήση Σημαιών στην Συμβολοσειρά Μορφοποίησης της printf 956 Θ.11 Εμφάνιση με είκτες Ορισμάτων 960 Θ.12 Εμφάνιση Κυριολεκτικών και Ακολουθιών ιαφυγής 960 Θ.13 Μορφοποίηση Εξόδου με την Κλάση Formatter 961 Θ.14 Ανακεφαλαίωση 962
17 xx ΠΕΡΙΕΧΟΜΕΝΑ Ι Αριθμητικά Συστήματα 963 Ι.1 Εισαγωγή 964 Ι.2 Συντομογραφία υαδικών Αριθμών ως Οκταδικούς και εκαεξαδικούς Αριθμούς 967 Ι.3 Μετατροπή Οκταδικών και εκαεξαδικών Αριθμών σε υαδικούς Αριθμούς 968 Ι.4 Μετατροπή υαδικών, Οκταδικών ή εκαεξαδικών σε εκαδικούς 968 Ι.5 Μετατροπή εκαδικών σε υαδικούς, Οκταδικούς ή εκαεξαδικούς 969 Ι.6 Αρνητικοί υαδικοί Αριθμοί: Η Παράσταση Συμπληρώματος του ΙΑ Χειρισμός Bit 973 ΙΑ.1 Εισαγωγή 973 ΙΑ.2 Χειρισμός Bit και οι Τελεστές Bitwise 973 ΙΑ.3 Κλάση BitSet 983 ΙΒ Προτάσεις break και continue με Ετικέτες 987 ΙΒ.1 Εισαγωγή 987 ΙΒ.2 Πρόταση break με Ετικέτες 987 ΙΒ.3 Πρόταση continue με Ετικέτες 988 ΙΓ UML 2: Πρόσθετοι Τύποι ιαγραμμάτων 990 ΙΓ.1 Εισαγωγή 990 ΙΓ.2 Πρόσθετοι Τύποι ιαγραμμάτων 990 Ι Μοτίβα Σχεδίασης 992 Ι.1 Εισαγωγή 992 Ι.2 ημιουργικά, ομικά και Συμπεριφορικά Μοτίβα Σχεδίασης 993 Ι.2.1 ημιουργία Μοτίβα Σχεδίασης 994 Ι.2.2 ομικά Μοτίβα Σχεδίασης 996 Ι.2.3 Συμπεριφορικά Μοτίβα Σχεδίασης 997 Ι.2.4 Συμπέρασμα 998 Ι.3 Μοτίβα Σχεδίασης στα Πακέτα java.awt και javax.swing 998 Ι.3.1 ημιουργία Μοτίβα Σχεδίασης 999 Ι.3.2 ομικά Μοτίβα Σχεδίασης 999 Ι.3.3 Συμπεριφορικά Μοτίβα Σχεδίασης 1001 Ι.3.4 Συμπέρασμα 1005 Ι.4 Μοτίβα Σχεδίασης Ταυτοχρονισμού 1005 Ι.5 Μοτίβα Σχεδίασης στα Πακέτα java.io και java.net 1006 Ι.5.1 ημιουργικά Μοτίβα Σχεδίασης 1006 Ι.5.2 ομικά Μοτίβα Σχεδίασης 1006 Ι.5.3 Αρχιτεκτονικά Μοτίβα 1008 Ι.5.4 Συμπέρασμα 1010
18 ΠΕΡΙΕΧΟΜΕΝΑ xxi Ι.6 Μοτίβα Σχεδίασης στο Πακέτο java.util 1010 Ι.6.1 ημιουργικά Μοτίβα Σχεδίασης 1010 Ι.6.2 Συμπεριφορικά Μοτίβα Σχεδίασης 1010 Ι.7 Ανακεφαλαίωση 1011 Ευρετήριο 1013
19
20 Εισαγωγή Αγκάλιασα τη Java ακόμα και πριν την κυκλοφορία της έκδοσης 1.0 το 1995 και από τότε είμαι προγραμματιστής, συγγραφέας, ομιλητής, δάσκαλος της Java και πρεσβευτής της τεχνολογίας Java της Oracle. Σ αυτήν τη διαδρομή, είχα το προνόμιο να έχω συνοδοιπόρο και συνεργάτη τον Paul Deitel και συχνά να χρησιμοποιώ και να προτείνω τα βιβλία του για τη Java. Στις πολλές εκδόσεις τους, αυτά τα βιβλία έχουν αποδειχθεί σπουδαία βοηθήματα για το πανεπιστήμιο και την εργασία που εγώ και άλλοι προτιμάμε για να διδάσκουμε τη γλώσσα προγραμματισμού Java. Ένα απ' τα χαρακτηριστικά που καθιστά αυτό το βιβλίο έναν σπουδαίο πόρο είναι η αναλυτική και διεξοδική κάλυψη των εννοιών της Java. Ακόμα ένα χρήσιμο χαρακτηριστικό είναι ο χειρισμός της θεωρίας και της πράξης για την αποτελεσματική ανάπτυξη λογισμικού. Θα ήθελα να τονίσω μερικά από τα χαρακτηριστικά αυτής της νέας έκδοσης για την οποία δεν κρύβω τον ενθουσιασμό μου: Ένα φιλόδοξο νέο κεφάλαιο για τις εκφράσεις λάμδα και τις ροές της Java. Αυτό το κεφάλαιο αποτελεί μια εισαγωγή στον λειτουργικό προγραμματισμό και παρουσιάζει τις εκφράσεις λάμδα της Java και τη χρήση των ροών για την εκτέλεση εργασιών λειτουργικού προγραμματισμού σε συλλογές. Αν και ο ταυτοχρονισμός αντιμετωπίζεται απ' την πρώτη έκδοση του βιβλίου, αποκτά όλο και μεγαλύτερη σημασία εξαιτίας των αρχιτεκτονικών πολλαπλών επιπέδων. Υπάρχουν παραδείγματα για το συγχρονισμό, τα οποία χρησιμοποιούν τις νέες κλάσεις του API ημερομηνίας/ ώρας της Java SE 8, στο κεφάλαιο για τον ταυτοχρονισμό, που δείχνουν τις βελτιώσεις που επιτυγχάνονται στις επιδόσεις λόγω των πολλαπλών πυρήνων σε σχέση με τα συστήματα ενός πυρήνα. Το JavaFX είναι η τεχνολογία GUI/γραφικών/πολυμέσων της Java του μέλλοντος, γι αυτό είναι ωραίο να βλέπουμε το JavaFX να παρουσιάζεται με τον εκπαιδευτικό τρόπο ενεργού κώδικα της Deitel. Ας συγχαρούμε όλοι μαζί τον Paul και τον Harvey Deitel για την τελευταία έκδοση αυτού του θαυμάσιου πόρου για προγραμματιστές λογισμικού! James L. Weaver Πρεσβευτής Τεχνολογίας της Java Oracle Corporation
21 Πρόλογος Καλώς ήρθατε στη Java και στο βιβλίο Java SE 8 Οδηγός για Προγραμματιστές! Αυτό το βιβλίο παρουσιάζει τεχνολογίες αιχμής για προγραμματιστές λογισμικού. Εστιάζουμε στις βέλτιστες πρακτικές σχεδιασμού λογισμικού. Το κέντρο του βιβλίου είναι το σήμα κατατεθέν της Deitel, η προσέγγιση ενεργού κώδικα αντί να χρησιμοποιούμε αποσπάσματα κώδικα, παρουσιάζουμε τις έννοιες στο πλαίσιο ολόκληρων λειτουργικών προγραμμάτων, που εκτελούνται στις τελευταίες εκδόσεις των Windows, του Linux και του OS X. Κάθε ολοκληρωμένο παράδειγμα κώδικα συνοδεύεται από δείγματα εκτέλεσης. Όλος ο πηγαίος κώδικας διατίθεται στη σελίδα: Κρατήστε επαφή με τους συγγραφείς Ενώ διαβάζετε το βιβλίο, αν έχετε ερωτήσεις, στείλτε μας ένα στη διεύθυνση deitel@deitel.com και θα απαντήσουμε όσο το δυνατόν ταχύτερα. Για ενημερώσεις γι αυτό το βιβλίο, επισκεφτείτε τη σελίδα εγγραφείτε στο ενημερωτικό φυλλάδιο Deitel Buzz Online στη σελίδα και συμμετέχετε στις κοινότητες κοινωνικής δικτύωσης της Deitel: Facebook ( Twitter (@deitel) Google+ ( YouTube ( LinkedIn ( Αρθρωτή Οργάνωση Το βιβλίο είναι κατάλληλο για προγραμματιστές, που έχουν κάποιες γνώσεις στον προγραμματισμό με γλώσσες υψηλού επιπέδου και παρουσιάζεται με μια αρθρωτή οργάνωση: Εισαγωγή Κεφάλαιο 1, Εισαγωγή στη Java και οκιμή μιας Εφαρμογής Java Κεφάλαιο 2, Εισαγωγή στις Εφαρμογές Java: Είσοδος/Έξοδος και Τελεστές Κεφάλαιο 3, Εισαγωγή στις Κλάσεις, τα Αντικείμενα, τις Μεθόδους και τις Ακολουθίες Χαρακτήρων
22 xxvi ΠΡΟΛΟΓΟΣ Πρόσθετα Θεμελιώδη Στοιχεία Προγραμματισμού Κεφάλαιο 4, Προτάσεις Ελέγχου: Μέρος 1 Τελεστές Εκχώρησης, ++, - Κεφάλαιο 5, Προτάσεις Ελέγχου: Μέρος 2 Λογικοί Τελεστές Κεφάλαιο 6, Μέθοδοι: Μια Βαθύτερη ιερεύνηση Κεφάλαιο 7, Πίνακες και Λίστες Πινάκων Κεφάλαιο 14, Συμβολοσειρές, Χαρακτήρες και Κανονικές Εκφράσεις Κεφάλαιο 15, Αρχεία, Ροές και Σειριακή Επεξεργασία Αντικειμένων Αντικειμενοστραφής Προγραμματισμός Κεφάλαιο 8, Κλάσεις και Αντικείμενα: Μια Βαθύτερη ιερεύνηση Κεφάλαιο 9, Αντικειμενοστραφής Προγραμματισμός: Κληρονομικότητα Κεφάλαιο 10, Αντικειμενοστραφής Προγραμματισμός: Πολυμορφισμός και ιεπαφές Κεφάλαιο 11, Χειρισμός Εξαιρέσεων: Μια Βαθύτερη Ματιά Γραφικές ιεπαφές Χρήστη Swing και JavaFX Γραφικά 2D στη Java Κεφάλαιο 12, Στοιχεία Γραφικού Περιβάλλοντος Swing: Μέρος 1 Κεφάλαιο 13, Γραφικά και Java 2D Κεφάλαιο 19, Στοιχεία Γραφικού Περιβάλλοντος Swing: Μέρος 2 Κεφάλαιο 22, Οι GUI του JavaFX Γενικές Συλλογές, Λάμδα και Ροές Κεφάλαιο 16, Γενικές Συλλογές Κεφάλαιο 17, Λάμδα και Ροές της Java SE 8 Κεφάλαιο 18, Γενικές Κλάσεις και Μέθοδοι Ταυτοχρονισμός/Βάση εδομένων Κεφάλαιο 20, Ταυτοχρονισμός Κεφάλαιο 21, Προσπέλαση Βάσεων εδομένων με το JDBC Αντικειμενοστραφής Σχεδίαση Κεφάλαιο 23, Μελέτη Περίπτωσης ΑΤΜ, Μέρος 1: Αντικειμενοστραφής Σχεδίαση με την UML Κεφάλαιο 24, Μελέτη Περίπτωσης ΑΤΜ, Μέρος 2: Υλοποίηση μιας Αντικειμενοστραφούς Σχεδίασης Νέες και Ενημερωμένες Λειτουργίες Σ αυτήν την ενότητα θα περιγράψουμε περιγράφουμε τις αλλαγές που έχουμε κάνει σ' αυτήν την έκδοση: Ευκολία στη χρήση με τις Java SE 7 ή Java SE 8. Η έκδοση του βιβλίου συμπίπτει με την κυκλοφορία της Java SE 8. Για να καλύψουμε τις ανάγκες του πολυποίκιλου κοινού μας, σχεδιάσαμε το βιβλίο για επαγγελματίες, που ενδιαφέρονται για τη Java SE 7, τη Java SE 8 ένα συνδυασμό τους. Οι δυνατότητες της Java SE 8 (Εικ. 4.1) καλύπτονται στο Κεφάλαιο 17 και σε ενότητες σε όλο το βιβλίο, που μπορείτε να παρακάμψετε εύκολα αν δεν σας ενδιαφέρουν.
23 ΠΡΟΛΟΓΟΣ xxvii υνατότητες της Java SE 8 Εκφράσεις λάμδα Βελτιώσεις συναγωγής τύπων Παράλληλη ταξινόμηση πινάκων Μαζικές ενέργειες σε δεδομένα για συλλογές Java filter, map και reduce Βελτιώσεις στη βιβλιοθήκη για υποστήριξη των λάμδα (π.χ. java.util.stream, java.util. function) API ώρας και ημερομηνίας (java.time) Βελτιώσεις στο API για ταυτοχρονισμό στη Java Μέθοδοι static και default σε διεπαφές Λειτουργικές διεπαφές διεπαφές που ορίζουν μόνο μία μέθοδο abstract και μπορούν να περιλαμβάνουν μεθόδους static και default Βελτιώσεις του JavaFX Εικ. 4.1 Οι δυνατότητες της Java SE 8 που θα μελετήσουμε. Λάμδα, ροές και διεπαφές της Java SE 8 με μεθόδους default και static. Οι πιο σημαντικές νέες δυνατότητες στη Java SE 8 είναι τα λάμδα και συμπληρωματικές τεχνολογίες. Στο Κεφάλαιο 17, θα δείτε ότι ο λειτουργικός προγραμματισμός με τα λάμδα και τις ροές μπορεί να σας βοηθήσει να γράφετε προγράμματα πιο γρήγορα, πιο περιεκτικά, πιο απλά, με λιγότερα λάθη και τα οποία θα μπορείτε να παραλληλίσετε πιο εύκολα (ώστε να εκμεταλλευτείτε τα συστήματα πολλαπλών πυρήνων για βελτιώσεις στις επιδόσεις) από προγράμματα που γράφονται με παλαιότερες τεχνικές (Εικ. 4.2). Θα δείτε ότι ο λειτουργικός προγραμματισμός συμπληρώνει τον αντικειμενοστραφή προγραμματισμό. Θέματα πριν τη Java SE 8 Αντίστοιχες συζητήσεις και παραδείγματα στη Java SE 8 Κεφάλαιο 7, Πίνακες και λίστες πινάκων Κεφάλαιο 10, Αντικειμενοστραφής προγραμματισμός: Πολυμορφισμός και διεπαφές Κεφάλαιο 12 και 19, Στοιχεία GUI του Swing: Μέρη 1 και 2 Κεφάλαιο 14, Συμβολοσειρές, χαρακτήρες και κανονικές εκφράσεις Οι Ενότητες παρουσιάζουν βασικές δυνατότητες λάμδα και ροών οι οποίες επεξεργάζονται πίνακες μίας διάστασης. Η Ενότητα παρουσιάζει τις νέες δυνατότητες διεπαφών της Java SE 8 (default μέθοδοι, static μέθοδοι και η έννοια των λειτουργικών διεπαφών) που υποστηρίζουν τον λειτουργικό προγραμματισμό με λάμδα και ροές. Η Ενότητα 17.9 δείχνει πώς να χρησιμοποιείτε ένα λάμδα για να υλοποιείτε μια λειτουργική διεπαφή ακροατών συμβάντων του Swing. Η Ενότητα 17.5 δείχνει πώς να χρησιμοποιείτε λάμδα και ροές για την επεξεργασία συλλογών αντικειμένων String. Εικ. 4.2 Συζητήσεις και παραδείγματα για λάμδα και ροές στη Java SE 8 (Μέρος 1 από 2).
24 xxviii ΠΡΟΛΟΓΟΣ Θέματα πριν τη Java SE 8 Αντίστοιχες συζητήσεις και παραδείγματα στη Java SE 8 Κεφάλαιο 15, Αρχεία, ροές και σειριακή επεξεργασία αντικειμένων Κεφάλαιο 20, Ταυτοχρονισμός Κεφάλαιο 22, Οι GUI του JavaFX Εικ. 4.2 Συζητήσεις και παραδείγματα για λάμδα και ροές στη Java SE 8 (Μέρος 2 από 2). Η πρόταση try με πόρους και η διεπαφή AutoClosable της Java SE 7. Τα αντικείμενα Auto- Closable μειώνουν την πιθανότητα διαρροών πόρων όταν τα χρησιμοποιείτε με την πρόταση try με πόρους, η οποία κλείνει αυτόματα τα αντικείμενα AutoClosable. Σ αυτήν την έκδοση, χρησιμοποιούμε την try με πόρους και αντικείμενα AutoClosable στην εισαγωγή του Κεφαλαίου 15, Αρχεία, ροές και σειριακή επεξεργασία αντικειμένων. Ασφάλεια στη Java. Έχουμε ελέγξει το βιβλίο με βάση το Πρότυπο ασφαλούς κωδικοποίησης CERT Oracle για τη Java: Για περισσότερες πληροφορίες για το CERT, ανατρέξτε στην ενότητα Ασφαλής Προγραμματισμός στη Java της Εισαγωγής. Java NIO API. Ενημερώσαμε τα παραδείγματα επεξεργασίας αρχείων στο Κεφάλαιο 15, ώστε να χρησιμοποιούν τις δυνατότητες του API NIO (νέο IO) της Java. Τεκμηρίωση Java. Σε όλο το βιβλίο υπάρχουν σύνδεση για την τεκμηρίωση Java, όπου μπορείτε να μάθετε περισσότερα για διάφορα θέματα που παρουσιάζουμε. Για την τεκμηρίωση της Java SE 7, οι σύνδεσμοι ξεκινούν με: και για την τεκμηρίωση της Java SE 8, οι σύνδεσμοι ξεκινούν με: Αυτοί οι σύνδεσμοι μπορεί να αλλάξουν στις επόμενες κυκλοφορίες της Oracle για τη Java SE 8 πιθανώς με συνδέσμους που ξεκινούν με: Σχετικά με τους συνδέσμους, που θα αλλάξουν μετά την έκδοση του βιβλίου, θα βρείτε ενημερώσεις στη σελίδα: Η Ενότητα 17.7 δείχνει πώς να χρησιμοποιείτε λάμδα και ροές για την επεξεργασία γραμμών κειμένου από ένα αρχείο. είχνει ότι τα λειτουργικά προγράμματα γίνονται πιο εύκολα παράλληλα, ώστε να είναι δυνατή η εκμετάλλευση των χαρακτηριστικών των αρχιτεκτονικών πολλαπλών πυρήνων για την ενίσχυση της απόδοσης. Παρουσιάζει την παράλληλη επεξεργασία ροών. είχνει ότι η Arrays μέθοδος parallelsort βελτιώνει την απόδοση σε αρχιτεκτονικές πολλαπλών πυρήνων στην ταξινόμηση μεγάλων πινάκων. Η Ενότητα δείχνει πώς μπορείτε να χρησιμοποιήσετε ένα λάμδα ώστε να υλοποιήσετε μια λειτουργική διεπαφή ακρόασης συμβάντων του JavaFX. GUI του Swing και του JavaFX Γραφικά 2D στη Java GUI του Swing και γραφικά 2D της Java. Το GUI του Swing της Java εξετάζεται στα Κεφάλαια 12 και 19. Το Swing βρίσκεται σε κατάσταση συντήρησης η Oracle έχει σταματήσει την ανά-
25 ΠΡΟΛΟΓΟΣ xxix πτυξή του και από τώρα και στο εξής θα παρέχει μόνο διορθώσεις σε λάθη, αλλά θα παραμείνει κομμάτι της Java και εξακολουθεί να χρησιμοποιείται ευρέως. Το μεγαλύτερο μέρος παλαιού κώδικα που βασίζεται σε GUI χρησιμοποιεί GUI του Swing. Το Κεφάλαιο 13 εξετάζει τα γραφικά 2D της Java. GUI του JavaFX. Οι GUI, τα γραφικά και η τεχνολογία πολυμέσων της Java προχωρά στο JavaFX. Στο Κεφάλαιο 22, χρησιμοποιούμε το JavaFX 2.2 με την Java SE 7. Χρησιμοποιούμε το Scene Builder ένα εργαλείο μεταφοράς και απόθεσης για τη δημιουργία GUI του JavaFX γρήγορα και πρακτικά. Είναι ένα αυτόνομο εργαλείο, το οποίο μπορείτε να χρησιμοποιείτε ξεχωριστά ή με IDE της Java. Ταυτοχρονισμός Ταυτοχρονισμός για βέλτιστη απόδοση σε επεξεργαστές πολλαπλών πυρήνων. Σ αυτήν την έκδοση, είχαμε το προνόμιο να συνεργαστούμε με τον Brian Goetz στην επιμέλεια του βιβλίου, ο οποίος συμμετείχε στη συγγραφή του βιβλίου Java Concurrency in Practice (Addison- Wesley). Ενημερώσαμε το Κεφάλαιο 20, Ταυτοχρονισμός, με τεχνολογία και όρους της Java SE 8. Προσθέσαμε ένα παράδειγμα που συγκρίνει τις parallelsort και sort και χρησιμοποιεί το API ημερομηνίας/ώρας της Java SE 8 ώστε να χρονομετρά κάθε ενέργεια και παρουσιάζουμε την καλύτερη απόδοση που έχει η parallelsort σε ένα σύστημα πολλαπλών πυρήνων. Συμπεριλάβαμε ένα παράδειγμα σύγκρισης της παράλληλης επεξεργασίας και της σειριακής επεξεργασίας ροών στη Java SE 8, χρησιμοποιώντας πάλι το API ημερομηνίας/ώρας της Java SE 8 για να δείξουμε τη βελτίωση στην απόδοση. Τέλος, προσθέσαμε το παράδειγμα CompletableFuture της Java SE 8, το οποίο συγκρίνει τη σχετική απόδοση της σειριακής και της παράλληλης εκτέλεσης μεγάλων πράξεων. Η κλάση SwingWorker. Χρησιμοποιούμε την κλάση SwingWorker για να δημιουργήσουμε διεπαφές χρηστών πολλαπλών νημάτων. Ο ταυτοχρονισμός είναι δύσκολος. Υπάρχουν πολλές δυνατότητες ταυτοχρονισμού. Τονίζουμε εκείνα που θα πρέπει να χρησιμοποιούν οι περισσότεροι προγραμματιστές και αναφέρουμε εκείνα που θα πρέπει να μείνουν για τους ειδικούς. Σωστά Χρηματικά Ποσά Χρηματικά ποσά. Στα πρώτα κεφάλαια, για λόγους ευκολίας, χρησιμοποιούμε τον τύπο double για να αναπαραστήσουμε χρηματικά ποσά. Εξαιτίας της πιθανότητας λάθος υπολογισμών με τον τύπο double, η κλάση BigDecimal (που είναι αρκετά πιο σύνθετη) θα πρέπει να χρησιμοποιείται για χρηματικά ποσά. Παρουσιάζουμε την BigDecimal στα Κεφάλαια 8 και 22. Τεχνολογία Αντικειμένων Αντικειμενοστραφής προγραμματισμός. Χρησιμοποιούμε μια αρχική προσέγγιση αντικειμένων, αναθεωρώντας τις βασικές έννοιες και την ορολογία της τεχνολογίας αντικειμένων από το Κεφάλαιο 1. Οι αναγνώστες αναπτύσσουν τις πρώτες προσαρμοσμένες κλάσεις και αντικείμενα στο Κεφάλαιο 3. Αρχικές μελέτες πραγματικών περιπτώσεων για αντικείμενα. Η αρχική παρουσίαση κλάσεων και αντικειμένων περιλαμβάνει τις περιπτώσεις Account, Student, AutoPolicy, Time, Employee, GradeBook και Card για ανακάτεμα και μοίρασμα χαρτιών, εμβαθύνοντας σταδιακά σε πιο σύνθετες έννοιες του αντικειμενοστραφούς προγραμματισμού. Κληρονομικότητα, διεπαφές, πολυμορφισμός και σύνθεση. Χρησιμοποιούμε μια σειρά από πραγματικές περιπτώσεις για να παρουσιάσουμε αυτές τις έννοιες αντικειμενοστραφούς προγραμματισμού και να εξηγήσουμε καταστάσεις, στις οποίες προτιμάμε καθεμία για την κατασκευή εφαρμογών επαγγελματικού επιπέδου. Μιλάμε για τις βελτιώσεις που φέρνει η Java SE 8 στην έννοια της διεπαφής.
26 xxx ΠΡΟΛΟΓΟΣ Χειρισμός εξαιρέσεων. Ενσωματώνουμε τους βασικούς χειρισμούς εξαιρέσεων νωρίς στο βιβλίο και κατόπιν τους εξετάζουμε καλύτερα στο Κεφάλαιο 11. Ο χειρισμός εξαιρέσεων είναι σημαντικός για την κατασκευή εφαρμογών απαιτητικών αποστολών και επιχειρηματικών διαδικασιών. Οι προγραμματιστές πρέπει να ενδιαφέρονται για το Τι συμβαίνει όταν το στοιχείο που επικαλούμαι για να κάνω κάτι παρουσιάζει δυσκολίες; Πώς θα με ειδοποιήσει αυτό το στοιχείο ότι είχε πρόβλημα; Για να χρησιμοποιήσετε ένα στοιχείο της Java, πρέπει να γνωρίζετε όχι μόνο πώς αυτό συμπεριφέρεται όταν όλα πηγαίνουν καλά, αλλά επίσης ποιες εξαιρέσεις προκαλεί αυτό το στοιχείο όταν τα πράγματα δεν πηγαίνουν καλά. Οι κλάσεις Arrays και ArrayList. Το Κεφάλαιο 7 καλύπτει την κλάση Arrays η οποία περιέχει μεθόδους για την εκτέλεση κοινών χειρισμών πινάκων και την κλάση ArrayList η οποία υλοποιεί μια δομή δεδομένων τύπου πίνακα της οποίας το μέγεθος αλλάζει με δυναμικό τρόπο. Αυτό ακολουθεί τη φιλοσοφία μας που υπαγορεύει να εξασκούμαστε πολύ χρησιμοποιώντας υπάρχουσες κλάσεις, ενώ μαθαίνουμε πώς να ορίζουμε τις δικές μας κλάσεις. Μελέτη περίπτωσης: Ανάπτυξη αντικειμενοστραφούς σχεδίασης και υλοποίηση ενός ATM στη Java. Τα Κεφάλαια περιλαμβάνουν μια μελέτη περίπτωσης για την αντικειμενοστραφή σχεδίαση με την UML (Unified Modeling Language ), τη γραφική γλώσσα προγραμματισμού που επικρατεί στη βιομηχανία για τη μοντελοποίηση αντικειμενοστραφών συστημάτων. Σχεδιάζουμε και υλοποιούμε το λογισμικό για ένα απλό σύστημα αυτόματων συναλλαγών (ATM). Αναλύουμε ένα έγγραφο τυπικών απαιτήσεων, που καθορίζει το σύστημα, που θα κατασκευαστεί. Προσδιορίζουμε τις κλάσεις που απαιτούνται για την υλοποίηση αυτού του συστήματος, τα χαρακτηριστικά που πρέπει να έχουν οι κλάσεις, τις συμπεριφορές που πρέπει να επιδεικνύουν οι κλάσεις και καθορίζουμε πώς οι κλάσεις πρέπει να αλληλεπιδρούν μεταξύ τους ώστε να πληρούν τις απαιτήσεις του συστήματος. Από τη σχεδίαση παράγουμε μια πλήρως κωδικοποιημένη υλοποίηση σε Java. Όσοι συμμετέχουν στα επαγγελματικά σεμινάριά μας για τη Java συχνά αναφέρουν ότι αυτή η μελέτη περίπτωσης τους βοηθά να συνδέσουν όλα τα κομμάτια του παζλ και να καταλάβουν πραγματικά τον αντικειμενοστραφή προγραμματισμό στη Java. Γενικές Συλλογές Παρουσίαση γενικών συλλογών. Ξεκινάμε με τη γενική κλάση ArrayList στο Κεφάλαιο 7. Τα Κεφάλαια παρέχουν μια βαθύτερη μελέτη των γενικών συλλογών και δείχνουν πώς χρησιμοποιούνται οι ενσωματωμένες συλλογές του Java API. είχνουμε πώς υλοποιούνται οι γενικές μέθοδοι και οι κλάσεις. Τα λάμδα και οι ροές (παρουσιάζονται στο Κεφάλαιο 17) είναι ιδιαίτερα χρήσιμα για τις γενικές συλλογές. Βάση εδομένων JDBC. Το Κεφάλαιο 21 καλύπτει το JDBC και χρησιμοποιεί το σύστημα διαχείρισης βάσεων δεδομένων Java DB. Το Κεφάλαιο παρουσιάζει τη γλώσσα SQL και περιλαμβάνει μια μελέτη περίπτωσης με αντικειμενοστραφή προγραμματισμό για την ανάπτυξη ενός βιβλίου διευθύνσεων, που βασίζεται σε μια βάση δεδομένων, με το οποίο παρουσιάζουμε τις έτοιμες προτάσεις. Ασφαλής προγραμματισμός στη Java Είναι δύσκολο να κατασκευάσουμε συστήματα επαγγελματικού επιπέδου που αντέχουν σε επιθέσεις από ιούς, σκουλήκια και άλλες μορφές κακόβουλου λογισμικού. Σήμερα, μέσω Internet, τέτοιες επιθέσεις μπορεί να είναι στιγμιαίες και παγκόσμιες. Η ενσωμάτωση ασφάλειας στο λογισμικό απ' την αρχή του κύκλου ανάπτυξης μπορεί να μειώσει σημαντικά τα ευπαθή σημεία. Ενσωματώνουμε διάφορες πρακτικές ασφαλούς προγραμματισμού στη Java στις συζητήσεις μας και τα παραδείγματα κώδικα.
27 ΠΡΟΛΟΓΟΣ xxxi Το κέντρο συντονισμού του CERT ( δημιουργήθηκε για να αναλύει και να ανταποκρίνεται άμεσα σε επιθέσεις. Το CERT Computer Emergency Response Team είναι ένας οργανισμός που λειτουργεί με κρατική επιχορήγηση στο ίδρυμα Carnegie Mellon University Software Engineering Institute. Το CERT δημοσιεύει και προωθεί πρότυπα ασφαλούς προγραμματισμού για διάφορες δημοφιλείς γλώσσες προγραμματισμού, που βοηθούν τους προγραμματιστές λογισμικού να υλοποιούν συστήματα επαγγελματικού επιπέδου και αποφεύγουν πρακτικές προγραμματισμού, που αφήνουν τα συστήματα ανοιχτά σε επιθέσεις. Θα θέλαμε να ευχαριστήσουμε τον Robert C. Seacord, ιευθυντή ασφαλούς προγραμματισμού στο CERT και αναπληρωτή καθηγητή στη σχολή Επιστήμης της Πληροφορικής του Carnegie Mellon University. Ο κύριος Seacord ήταν τεχνικός επιμελητής στο βιβλίο μας, C11 for Programmers, όπου εξέτασε διεξοδικά τα προγράμματά μας απ' την πλευρά της ασφάλειας, προτείνοντας να ακολουθήσουμε το πρότυπο ασφαλούς προγραμματισμού του CERT. Αυτή η εμπειρία επηρέασε τις πρακτικές μας και σε όλα τα επόμενα βιβλία μας. ιδακτική προσέγγιση Το βιβλίο περιέχει μια πλούσια συλλογή από παραδείγματα. Εστιάζουμε στην καλή σχεδίαση λογισμικού και τονίζουμε την καθαρότητα των προγραμμάτων. Σκίαση σύνταξης. Για μεγαλύτερη ευκολία στην ανάγνωση, τονίζουμε τον κώδικα περίπου όπως κάνουν τα περισσότερα πακέτα εργαλείων ανάπτυξης λογισμικού. Οι συμβάσεις που χρησιμοποιούμε για τη σύνταξη του κώδικα σ αυτό το βιβλίο είναι οι εξής: τα σχόλια εμφανίζονται έτσι οι εντολές εμφανίζονται έτσι όλος ο άλλος κώδικας προβάλλεται με ειδική γραμματοσειρά Επισήμανση κώδικα. Τοποθετούμε γκρι ορθογώνια γύρω από σημαντικό κώδικα. Χρήση γραμματοσειρών για λόγους έμφασης. Χρησιμοποιούμε έντονη γραφή για τους σημαντικούς όρους και την αναφορά σελίδας στο ευρετήριο για κάθε σημαντική εμφάνιση ενός όρου για εύκολη αναφορά. Χρησιμοποιούμε διαφορετικές γραμματοσειρές για τον κώδικα στα προγράμματα και μέσα στο κείμενο για να τον διακρίνετε καλύτερα. Στόχοι. Στην αρχή κάθε κεφαλαίου παραθέτουμε μια λίστα με τους εκπαιδευτικούς στόχους κάθε κεφαλαίου. Εικόνες/διαγράμματα. Πλούσια διαγράμματα, πίνακες, διαγράμματα UML, προγράμματα και έξοδοι προγραμμάτων περιλαμβάνονται σε κάθε κεφάλαιο. Συμβουλές προγραμματισμού. Έχουμε προσθέσει συμβουλές προγραμματισμού, που θα σας βοηθήσουν να εστιάσετε σε σημαντικά σημεία της ανάπτυξης λογισμικού. Αυτές οι συμβουλές και πρακτικές είναι ότι καλύτερο έχουμε συνδυάσει από επτά δεκαετίες εμπειρίας στον προγραμματισμό και τη διδασκαλία. Πρακτική Καλού Προγραμματισμού Οι Πρακτικές Καλού Προγραμματισμού επισείουν την προσοχή σε τεχνικές που θα σας βοηθήσουν να παράγετε προγράμματα, που είναι πιο καθαρά, πιο κατανοητά και πιο εύκολα συντηρήσιμα. Κοινό Σφάλμα Προγραμματισμού Οι σπουδαστές που μαθαίνουν μια γλώσσα τείνουν να κάνουν συγκεκριμένα κάποια σφάλματα πιο συχνά. Η έμφαση σ αυτά τα Κοινά Σφάλματα Προγραμματισμού μειώνει την πιθανότητα να επαναλαμβάνονται.
28 xxxii ΠΡΟΛΟΓΟΣ Υπόδειξη Αποτροπής Σφάλματος Όταν σχεδιάσαμε αρχικά αυτό το είδος συμβουλής, σκεφτόμασταν ότι θα περιέχουν προτάσεις για την επισήμανση ατελειών και την αφαίρεσή τους απ' τα προγράμματα. Πολλές μάλιστα από τις συμβουλές περιγράφουν πλευρές της C που εμποδίζουν τις ατέλειες να φτάσουν στα προγράμματα εξ αρχής. Υπόδειξη Βέλτιστης Απόδοσης Συμπεριλάβαμε Υποδείξεις Βέλτιστης Απόδοσης, που επισημάνουν τις ευκαιρίες για βελτίωση της απόδοσης των προγραμμάτων, δηλαδή της πιο γρήγορης εκτέλεσης ή της ελαχιστοποίησης της ποσότητας μνήμης, που καταλαμβάνουν. Υπόδειξη Φορητότητας Συμπεριλάβαμε Υποδείξεις Φορητότητας ώστε να σας βοηθήσουμε να γράψετε φορητό κώδικα και να δείτε πώς η C επιτυγχάνει υψηλό βαθμό φορητότητας. Παρατήρηση Μηχανικής Λογισμικού Οι Παρατηρήσεις Μηχανικής Λογισμικού επισημαίνουν αρχιτεκτονικά και σχεδιαστικά ζητήματα που επηρεάζουν την κατασκευή συστημάτων λογισμικού, ιδιαίτερα για μεγάλα έργα. Παρατήρηση Εμφάνισης και Αίσθησης Οι Παρατηρήσεις Εμφάνισης και Αίσθησης επισημαίνουν συμβάσεις, που ισχύουν για τις γραφικές διεπαφές χρήστη. Αυτές οι παρατηρήσεις σας βοηθούν στη σχεδίαση ελκυστικών, φιλικών στο χρήστη γραφικών διεπαφών που συμμορφώνονται με τους κανόνες της βιομηχανίας. Ευρετήριο. Έχουμε συμπεριλάβει ένα εκτεταμένο ευρετήριο, το οποίο είναι ιδιαίτερα χρήσιμο όταν χρησιμοποιείτε το βιβλίο ως αναφορά. Η σελίδα όπου ορίζονται οι όροι επισημαίνονται με έντονη γραφή. Λογισμικό που χρησιμοποιείται στο βιβλίο Όλο το λογισμικό που θα χρειαστείτε γι αυτό το βιβλίο διατίθεται δωρεάν και μπορείτε να το λάβετε μέσω Internet. ιαβάστε την ενότητα Πριν Ξεκινήσετε που ακολουθεί τον Πρόλογο για να βρείτε συνδέσμους για κάθε λήψη. Γράψαμε τα περισσότερα παραδείγματα του βιβλίου χρησιμοποιώντας το δωρεάν εργαλείο ανάπτυξης στη Java, το Standard Edition Development Kit (JDK) 7. Για τα προγράμματα Java SE 8, χρησιμοποιήσαμε την αρχική έκδοση του OpenJDK για το JDK 8. Στο Κεφάλαιο 22, χρησιμοποιήσαμε επίσης το Netbeans IDE. Για περισσότερες πληροφορίες, ιαβάστε την ενότητα Πριν Ξεκινήσετε που ακολουθεί τον Πρόλογο. Java Fundamentals: Parts I, II, III και IV LiveLessons, Second Edition, Video Training Product Η εκπαιδευτική σειρά βίντεο Java Fundamentals: Parts I, II, III και IV LiveLessons, 2/e (καλοκαίρι 2014) σας δείχνει όλα όσα πρέπει να γνωρίζετε για να ξεκινήσετε να κατασκευάζετε ανθεκτικό, δυνατό λογισμικό με τη Java. Περιλαμβάνει περισσότερες από 30 ώρες εκπαίδευσης από ειδικούς σε συντονισμό με το βιβλίο. Επισκεφτείτε τη σελίδα: για πληροφορίες σχετικά με την αγορά του προϊόντος μέσω Internet από την Informit και την Udemy. Μπορείτε επίσης να προσπελάσετε τα βίντεο LiveLessons αν διατηρείτε συνδρομή στο Safari Books Online (
29 ΠΡΟΛΟΓΟΣ xxxiii Ευχαριστίες Θα θέλαμε να ευχαριστήσουμε τους Abbey Deitel και Barbara Deitel για τις πολλές ώρες που αφιέρωσαν σ αυτό το έργο. Η Abbey έγραψε μαζί μας το Κεφάλαιο 1 και αυτόν τον Πρόλογο κι αυτή και η Barbara εξερεύνησαν διεξοδικά τις νέες δυνατότητες της Java SE 8. Είμαστε ευτυχείς που συνεργαστήκαμε με την αφοσιωμένη ομάδα των επαγγελματιών στις εκδόσεις Prentice Hall/Pearson. Εκτιμούμε τις εξαιρετικές προσπάθειες και την καθοδήγηση του φίλου και συναδέλφου για 19 χρόνια, Mark L. Taub, προϊστάμενου εκδόσεων στην Pearson Technology Group. Η Carole Snyder έκανε θαυμάσια δουλειά στην επιμέλεια του βιβλίου. Η Chuti Prasertsith σχεδίασε το εξώφυλλο με δημιουργικότητα και ακρίβεια. Ο John Fuller ήταν καταπληκτικός στη διεύθυνση της παραγωγής του βιβλίου. Επιμελητές Θα θέλαμε να αναγνωρίσουμε τις προσπάθειες των επιμελητών μας, οι οποίοι μέσα σε αυστηρές προθεσμίες κατάφεραν να εξετάσουν διεξοδικά το κείμενο και τα προγράμματα και παρείχαν αμέτρητες προτάσεις βελτίωσης της παρουσίασης. Επιμελητές της τρίτης έκδοσης: Lance Andersen (Oracle Corporation), Dr. Danny Coward (Oracle Corporation), Brian Goetz (Oracle Corporation), Evan Golub (University of Maryland), Dr. Huiwei Guan (Professor, Department of Computer & Information Science, North Shore Community College), Manfred Riem (Java Champion), Simon Ritter (Oracle Corporation), Robert C. Seacord (CERT, Software Engineering Institute, Carnegie Mellon University), Khallai Taylor (Assistant Professor, Triton College και Adjunct Professor, Lonestar College Kingwood), Jorge Vargas (Yumbling και Java Champion), Johan Vos (LodgON και Oracle Java Champion) και James ΙΒ. Weaver (Oracle Corporation και συγγραφέας του Pro JavaFX 2). Επιμελητές άλλων πρόσφατων εκδόσεων: Soundararajan Angusamy (Sun Microsystems), Joseph Bowbeer (Consultant), William E. Duncan (Louisiana State University), Diana Franklin (University of California, Santa Barbara), Edward F. Gehringer (North Carolina State University), Ric Heishman (George Mason University), Dr. Heinz Kabutz (JavaSpecialists.eu), Patty Kraft (San Diego State University), Lawrence Premkumar (Sun Microsystems), Tim Margush (University of Akron), Sue McFarland Metzger (Villanova University), Shyamal Mitra (The University of Texas at Austin), Peter Pilgrim (Consultant), Manjeet Rege, Ph.D. (Rochester Institute of Technology), Susan Rodger (Duke University), Amr Sabry (Indiana University), Josι Antonio Gonzαlez Seco (Parliament of Andalusia), Sang Shin (Sun Microsystems), S. Sivakumar (Astra Infotech Private Limited), Raghavan Rags Srinivas (Intuit), Monica Sweat (Georgia Tech), Vinod Varma (Astra Infotech Private Limited) και Alexander Zuev (Sun Microsystems). Ειδικές ευχαριστίες στον Brian Goetz Είμαστε ευγνώμονες που ο Brian Goetz, Αρχιτέκτονας της γλώσσας Java στην Oracle και επικεφαλής προδιαγραφών του προγράμματος Project Lambda της Java SE 8 και συγγραφέας του βιβλίου Java Concurrency in Practice, επιμελήθηκε το βιβλίο. Εξέτασε διεξοδικά κάθε κεφάλαιο, παρέχοντας εξαιρετικά χρήσιμες γνώσεις και δημιουργικά σχόλια. Τα λάθη που πιθανώς να υπάρχουν είναι εξ ολοκλήρου δικά μας.
Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΟΓ ΟΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc.
Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΟΓ ΟΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου
Διαβάστε περισσότεραJava ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΚΑΤΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc.
Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΑΤΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Μαίρη Γκλαβά Μαθηματικός, MSc Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος 15
Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Ορισμός βασικής ορολογίας προγραμματισμού 26 Σύγκριση διαδικαστικού και αντικειμενοστρεφούς προγραμματισμού 29 Διαδικαστικός προγραμματισμός 29
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος 15
Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Εκμάθηση ορολογίας προγραμματισμού 26 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς 29 Διαδικαστικός προγραμματισμός 29 Αντικειμενοστραφής
Διαβάστε περισσότεραΟδηγός των Ελληνικών Microsoft WINDOWS 7
Οδηγός των Ελληνικών Microsoft WINDOWS 7 Chris Fehily Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2010 www.mgiurdas.gr Τίτλος
Διαβάστε περισσότεραΠεριεχόµενα. Πρόλογος...15
Περιεχόµενα Πρόλογος...15 Κεφάλαιο 1: Εισαγωγή...17 Τι είναι η Java... 17 Η ιστορία της Java... 21 Εκδόσεις της Java... 23 Ξεκίνηµα µε την Java... 24 Το περιβάλλον της γλώσσας... 28 ηµιουργία µιας εφαρµογής
Διαβάστε περισσότεραHTML5, CSS και JavaScript
Μάθετε HTML5, CSS και JavaScript Όλα σε Ένα 2 Η ΕΚ ΟΣΗ Julie C. Meloni Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:
Διαβάστε περισσότεραΠεριεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13
Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...
Διαβάστε περισσότεραAdobe FLASH Professional CC
Adobe FLASH Professional CC ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr Τίτλος Πρωτοτύπου:
Διαβάστε περισσότεραDreamweaver. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού
Adobe Dreamweaver CC ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr Τίτλος Πρωτοτύπου: Adobe
Διαβάστε περισσότεραJava 7. Οδηγός της. Εκδόσεις: Μ. Γκιούρδας. Herbert Schildt. 5 η ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού
Οδηγός της Java 7 5 η ΕΚ ΟΣΗ Herbert Schildt Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2012 www.mgiurdas.gr 00_CONT_java.indd
Διαβάστε περισσότεραΜέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP
Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση
Διαβάστε περισσότεραPHP, MySQL. και Apache Όλα σε Ένα. Μάθετε. Εκδόσεις: Μ. Γκιούρδας. Julie C. Meloni. 5 η Έκδοση
Μάθετε PHP, MySQL και Apache Όλα σε Ένα Julie C. Meloni 5 η Έκδοση Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:
Διαβάστε περισσότεραAcrobat 9. Adobe. Βήμα προς Βήμα. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά
Adobe Acrobat 9 Βήμα προς Βήμα Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2009 www.mgiurdas.gr Τίτλος Πρωτοτύπου:
Διαβάστε περισσότεραΓενικά (για τις γραπτές εξετάσεις)
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε
Διαβάστε περισσότεραΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ
ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές
Διαβάστε περισσότεραAdobe Dreamweaver CS3
i Adobe Dreamweaver CS3 Βήμα προς Βήμα Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2007 www.mgiurdas.gr Τίτλος Πρωτοτύπου:
Διαβάστε περισσότεραJava Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7
Περιεχόμενα 1 Εισαγωγικές Έννοιες...12 1.1 Το Αντικείμενο στην καθημερινότητα...12 1.2 Το Αντικείμενο στον Προγραμματισμό...12 1.3 Επικοινωνία αντικειμένων...13 1.4 Κλάση (class) αντικειμένων...14 1.4.1
Διαβάστε περισσότεραJOOMLA! Οπτικός Οδηγός τoυ Ελληνικού. Εκδόσεις: Μ. Γκιούρδας MARNI DERR TANYA SYMES. εύτερη έκδοση. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού
Οπτικός Οδηγός τoυ Ελληνικού JOOMLA! εύτερη έκδοση MARNI DERR TANYA SYMES Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2012
Διαβάστε περισσότεραPHP, MySQL. Μάθετε. και Apache. Όλα σε Ένα. Εκδόσεις: Μ. Γκιούρδας. 4 η Έκδοση. Julie C. Meloni
Μάθετε PHP, MySQL και Apache Όλα σε Ένα Julie C. Meloni 4 η Έκδοση Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:
Διαβάστε περισσότεραΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ
ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο
Διαβάστε περισσότεραJava ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 00_JAVA_DEITEL(arxika).indd i 10/3/2010 1:10:55 μμ 00_JAVA_DEITEL(arxika).indd ii 10/3/2010 1:10:55 μμ Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΟΓ ΟΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΧρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ
Χρήστος Στασινός ουλεύοντας με τη Microsoft Access ΑΘΗΝΑ Κάθε γνήσιο αντίγραφο έχει την υπογραφή του συγγραφέα Έκδοση 1η, Copyright 1998 Έκδοση 2η, Copyright 2007 ISBN: 978-960-8105-97-3 ΕΚΔΟΣΕΙΣ ΝΕΩΝ
Διαβάστε περισσότεραΤίτλος Πακέτου Certified Computer Expert-ACTA
Κωδικός Πακέτου ACTA - CCE - 002 Τίτλος Πακέτου Certified Computer Expert-ACTA Εκπαιδευτικές Ενότητες Επεξεργασία Κειμένου - Word Δημιουργία Εγγράφου Προχωρημένες τεχνικές επεξεργασίας κειμένου & αρχείων
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραActionScript 3.0 για το Adobe Flash. CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ.
ActionScript 3.0 για το Adobe Flash CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ. Μηχανικός Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2011
Διαβάστε περισσότεραΠρογραμματίζετε. Μάθετε να. σε 24 Ώρες. Εκδόσεις: Μ. Γκιούρδας. 3 η ΕΚ ΟΣΗ. Greg Perry Dean Miller. Απόδοση: Γιάννης Β. Σαμαράς
Μάθετε να Προγραμματίζετε σε 24 Ώρες 3 η ΕΚ ΟΣΗ Greg Perry Dean Miller Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 Τηλ.:
Διαβάστε περισσότεραΠίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού
Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28
Διαβάστε περισσότεραΠρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21
Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel...3 1.1 Τι νέο υπάρχει στο Excel 2016...4 1.1.1 Νέες λειτουργίες του Excel 2016...4 1.2 Διάφοροι τρόποι εκκίνησης του Excel...6 1.3 Εξοικείωση με το περιβάλλον
Διαβάστε περισσότεραCertified Java Programmer (CJP)
Certified Java Programmer (CJP) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά τα
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΓλώσσες Προγραμματισμού
Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό
Διαβάστε περισσότεραΔιαγράμματα Κλάσεων στη Σχεδίαση
Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΠεριεχόμενα ΜΕΡΟΣ 1. Πρόλογος... xiii. 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 23
Περιεχόμενα Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel...3 1.1 Τι νέο υπάρχει στο Excel 2016...4 1.1.1 Νέες λειτουργίες του Excel 2016...4 1.2 Διάφοροι τρόποι εκκίνησης του Excel...6 1.3 Εξοικείωση
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 21
Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31
Διαβάστε περισσότεραPhotoshop CC. Adobe ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc.
Adobe Photoshop CC ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραAdobe Premiere Pro CS6
Adobe Premiere Pro CS6 ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2013 www.mgiurdas.gr Τίτλος Πρωτοτύπου:
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραPhotoshop CS6. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc.
Adobe Photoshop CS6 ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2013
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Διαβάστε περισσότεραΠρογραμματισμός Διαδικτύου
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προγραμματισμός Διαδικτύου Ενότητα 11 : Το πακέτο SWING Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ
ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η
Διαβάστε περισσότεραΥΠΟΧΡΕΩΤΙΚΕΣ ΓΝΩΣΕΙΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΡΟΣ ΙΙ
Κωδικός Πακέτου ACTA CCU/2-012 Τίτλος Πακέτου Εκπαιδευτικές Ενότητες ΥΠΟΧΡΕΩΤΙΚΕΣ ΓΝΩΣΕΙΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΡΟΣ ΙΙ Χρήση Η/Υ και ιαχείριση Αρχείων - Windows Περιβάλλον Η/Υ - Βασικές Λειτουργίες και Ρυθµίσεις
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική
Διαβάστε περισσότεραΚΕΦΑΛΑΙΑ. 2.5.1 attributes 2.5.2 parameters
Vellum Object Oriented Programming - Java Certificate Πιστοποιητικό ανάπτυξης εφαρµογών αντικειµενοστραφούς προγραµµατισµού µε την γλώσσα Java Vellum Global Educational Services Σελίδα 1 από 1 Vellum Object
Διαβάστε περισσότεραΠρογραμματισμός για το Web
Πίνακας Περιεχομένων iii Προγραμματισμός για το Web Όλα όσα πρέπει να γνωρίζετε Randy Connolly Mount Royal University, Calgary Ricardo Hoar Mount Royal University, Calgary Απόδοση: Αγαμέμνων Μήλιος Μηχανικός
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Διαβάστε περισσότεραΕπανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ
Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε
Διαβάστε περισσότεραJava 7. Μάθετε την. σε 24 Ώρες. Εκδόσεις: Μ. Γκιούρδας. 6 η ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού
Μάθετε την Java 7 σε 24 Ώρες 6 η ΕΚ ΟΣΗ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2012 www.mgiurdas.gr _CONT_java7.indd
Διαβάστε περισσότεραΕπανάληψη για τις Τελικές εξετάσεις
Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού
Διαβάστε περισσότεραΕπεξεργασία Ερωτήσεων
Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων
Διαβάστε περισσότεραΠεριεχόμενα. Λίγα λόγια για αυτή την έκδοση... 23
Περιεχόμενα Λίγα λόγια για αυτή την έκδοση...... 23 Κεφάλαιο 1 Εισαγωγή... 25 O στόχος του βιβλίου και σε ποιους απευθύνεται... 27 Πώς να διαβάσετε αυτό το βιβλίο... 27 Εκπαίδευση από απόσταση... 29 Ιστορική
Διαβάστε περισσότεραΑ. Ερωτήσεις Ανάπτυξης
οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;
Διαβάστε περισσότεραFORTRAN και Αντικειμενοστραφής Προγραμματισμός
FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών
Διαβάστε περισσότεραΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...
ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ...1 1. Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...3 Κατηγορίες των Γεωγραφικών εδοµένων...3 Γεωγραφικές οντότητες...3 ιαστάσεις
Διαβάστε περισσότεραημιουργία Παρουσιάσεων με τη βοήθεια του PowerPoint
TEXNOΛΟΓΙΚΟ EΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ Τομέας Αρχιτεκτονικής Η/Υ & Βιομηχανικών Εφαρμογών Μάθημα: «EIΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ - ΕΡΓΑΣΤΗΡΙΟ»
Διαβάστε περισσότεραJ-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου
J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραStandard Template Library (STL) C++ library
Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Standard Template Library (STL) C++ library Δομές Δεδομένων Μάριος Κενδέα kendea@ceid.upatras.gr Εισαγωγή Η Standard Βιβλιοθήκη προτύπων
Διαβάστε περισσότεραΕισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access
ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή...15 Κεφάλαιο 1: Εγκατάσταση της Access 2002...17 Τι είναι το Office XP;...17 Τεχνικές απαιτήσεις του Office XP...17 Πρόσθετα απαιτούμενα για την αξιοποίηση εξειδικευμένων χαρακτηριστικών...18
Διαβάστε περισσότεραΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ
ΧΡΗΣΗ Η/Υ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ 1. ΠΕΡΙΒΑΛΛΟΝ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ 1.1. Βασικές Λειτουργίες και Ρυθµίσεις 1.1.1 Εκκίνηση, Τερµατισµός, Επανεκκίνηση του Η/Υ ακολουθώντας τις κατάλληλες διαδικασίες 1.1.2
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ
Διαβάστε περισσότεραΠεριεχόμενα. Περιεχόμενα
Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις
Διαβάστε περισσότεραCertified Data Base Designer (CDBD)
Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά
Διαβάστε περισσότεραΥπολογιστικά Φύλλα Microsoft Excel 2016 Level I
Υπολογιστικά Φύλλα Microsoft Excel 2016 Level I 1. Εισαγωγή 1.1. Δυνατότητες και χαρακτηριστικά του προγράμματος 1.2. Τρόποι ενεργοποίησης του προγράμματος 1.3. Περιγραφή του βασικού παραθύρου Ορολογία
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 17
Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για
Διαβάστε περισσότεραΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Χαρίδημος Κονδυλάκης Εισαγωγή
ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Χαρίδημος Κονδυλάκης Εισαγωγή ΟΡΓΑΝΩΣΗ ΜΑΘΗΜΑΤΟΣ Πληροφορίες Διδάσκοντα Διδάσκοντας: Χαρίδημος Κονδυλάκης Email: Kondylak@ics.forth.gr Εβδομαδιαίες Ώρες Διδασκαλίας: 2 ώρες
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
Διαβάστε περισσότεραΟδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Αντικειμενοστρεφής Προγραμματισμός Η/Υ Οδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος Το κείμενο αυτό γράφεται με σκοπό να βοηθήσει τους φοιτητές του μαθήματος
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο
Διαβάστε περισσότεραΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή
ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες Τι είναι ο Ηλεκτρονικός Υπολογιστής 15 Ιστορική Ανασκόπηση 16 Γενιές Υπολογιστών 20 Κατηγορίες Υπολογιστών
Διαβάστε περισσότεραΜοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές
Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.
Διαβάστε περισσότεραCS4 Professional. ActionScript 3.0 για το Adobe Flash. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά
ActionScript 3.0 για το Adobe Flash CS4 Professional Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2009 www.mgiurdas.gr
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33
ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα
Διαβάστε περισσότεραΠεριεχόμενα. Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή Κεφάλαιο 2 Δεδομένα και εκφράσεις Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου...
Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή... 1 1.1 Εισαγωγικά στοιχεία για τους υπολογιστές 2 1.2 Αλγόριθμοι, προγράμματα, προγραμματισμός 16 1.3 Η Python 25 1.4 Ο διερμηνευτής της Python 28 1.5 Το περιβάλλον
Διαβάστε περισσότεραΠεριεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...
Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...
Διαβάστε περισσότεραΕργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Διαφορές Java και C++ ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΙΑΦΟΡΕΣ JAVA C++ Η
Διαβάστε περισσότεραΝήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1
Νήµαταστην Java Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων Κατανεµηµένα Συστήµατα 11-1 Νήµαταστην Java γεννηθείσα notify notifyall έτοιµη start εκπνοή
Διαβάστε περισσότεραΤα Microsoft Windows XP και Microsoft Office Word είναι σήµατα κατατεθέντα της Microsoft Corporation.
Κ. Ξαρχάκος -. Καρολίδης Microsoft Office Word 2003 Θεωρία & Πράξη Copyright 2005 Βλαχοθανάση 30 117 44 Αθήνα Τηλ./Φαξ: 210 9024407 Μεσολογγίου 7 106 81 Αθήνα Τηλ.: 210 3303297 Φαξ: 210 3303298 ISBN: 960
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ
Διαβάστε περισσότεραMicrosoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας
Περιεχόμενα Κεφάλαιο 1 Microsoft Excel 2010... 7 Κεφάλαιο 2 Η δομή ενός φύλλου εργασίας... 19 Κεφάλαιο 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 24 Κεφάλαιο 4 Συμβουλές για την καταχώριση
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών
44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15
Οι βασικές έννοιες που θα καλύψουμε Ομαδοποίηση αντικειμένων Εισαγωγή στις συλλογές Γενικές κλάσεις Iterators Συλλογές (ειδικά την ArrayList) Συνεχίζουμε την αναφορά στο θέμα της αφαίρεσης (abstraction)
Διαβάστε περισσότεραΕργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότερα1 Εισαγωγή στην Πληροφορική
ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 17 Τι είναι ο Ηλεκτρονικός Υπολογιστής 18 Υλικό Λογισµικό 19 Ιστορική Εξέλιξη των Η/Υ
Διαβάστε περισσότεραΚεφάλαιο 1. Βασικά Στοιχεία της Java... 13
Περιεχόμενα Πρόλογος... 5 Κεφάλαιο 1. Βασικά Στοιχεία της Java.... 13 Τύποι Δεδομένων, Μεταβλητές και Πίνακες... 13 Τελεστές και Δομές Επιλογής Επανάληψης... 16 Κλάσεις και Μέθοδοι... 21 Πακέτα και Διασυνδέσεις...
Διαβάστε περισσότεραΔομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr
Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που
Διαβάστε περισσότεραΥπολογιστικά Συστήματα
Υπολογιστικά Συστήματα Ενότητα 3: Βασικά στοιχεία της γλώσσας προγραμματισμού Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραFlash Catalyst ΤΜ CS5
Adobe Flash Catalyst ΤΜ CS5 ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2011 www.mgiurdas.gr Τίτλος Πρωτοτύπου:
Διαβάστε περισσότεραC# 3.0. Οδηγός της. Εκδόσεις: Μ. Γκιούρδας. Herbert Schildt. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc.
Οδηγός της C# 3.0 Herbert Schildt Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2009 www.mgiurdas.gr
Διαβάστε περισσότεραΑντικειµενοστραφής Προγραµµατισµός
Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του
Διαβάστε περισσότεραΑπό τη UML στον Κώδικα. Μέρος Α
Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον
Διαβάστε περισσότερα