Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ"

Transcript

1 Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 00_JAVA_DEITEL(arxika).indd i 10/3/2010 1:10:55 μμ

2 00_JAVA_DEITEL(arxika).indd ii 10/3/2010 1:10:55 μμ

3 Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΟΓ ΟΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής Τηλ.: Αθήνα, _JAVA_DEITEL(arxika).indd iii 10/3/2010 1:10:55 μμ

4 Τίτλος Πρωτοτύπου: Java TM How to Program Eighth Edition ISBN Copyright 2010 by Pearson Education, Inc. Upper Saddle River, New Jersey Αποκλειστικότητα για την Ελληνική Γλώσσα Εκδόσεις: Μόσχος Γκιούρδας Ζωοδόχου Πηγής Τηλ.: Αθήνα, ISBN: Επιμέλεια κειμένων: Μιχαήλ Μεταξάς Desktop Publishing: Κ. Καλαϊτζής, τηλ.: Εκτύπωση: ΜΗΤΡΟΠΟΛΙΣ Γραφικές Τέχνες Α.Ε., τηλ.: Βιβλιοδεσία: ΣΤΑΜΟΥ Γραφικές Τέχνες Εκδόσεις Αναδημοσίευση του βιβλίου σε οποιαδήποτε μορ φή, ολόκληρου ή μέ ρους, καθώς και των περιεχομένων προ γραμ μά των, δεν επιτρέπεται χωρίς την έγγραφη εξου σιο δό τη ση του εκδότη. 00_JAVA_DEITEL(arxika).indd iv 10/3/2010 1:10:55 μμ

5 Στη μνήμη της Kristen Nygaard, που συμμετείχε στην ανακάλυψη της Simula, της πρώτης αντικειμενοστραφούς γλώσσας προγραμματισμού στον κόσμο. Paul και Harvey Deitel 00_JAVA_DEITEL(arxika).indd v 10/3/2010 1:10:55 μμ

6 00_JAVA_DEITEL(arxika).indd vi 10/3/2010 1:10:55 μμ

7 Περιεχόμενα Πρόλογος xxi Πριν Ξεκινήσετε xxxv 1 Εισαγωγή στους Υπολογιστές, στο Internet και στο World Wide Web Εισαγωγή Υπολογιστές: Υλικό και Λογισμικό Οργάνωση των Υπολογιστών Τα Πρώτα Λειτουργικά Συστήματα Προσωπική, Κατανεμημένη και Client/Server Λειτουργία του Υπολογιστή Το Internet και το World Wide Web Γλώσσες Μηχανής, Γλώσσες Assembly και Γλώσσες Υψηλού Επιπέδου Η Ιστορία της C και της C Η Ιστορία της Java Βιβλιοθήκες Κλάσεων της Java Fortran, COBOL, Pascal και Ada BASIC, Visual Basic, Visual C++, C# και.net Το Τυπικό Περιβάλλον Ανάπτυξης της Java Γενικές Σημειώσεις για την Java και Αυτό το Βιβλίο οκιμή μιας Java Εφαρμογής Μελέτη Περίπτωσης Μηχανικής Λογισμικού: Εισαγωγή στην Τεχνολογία Αντικειμένων και στην UML Web Τεχνολογίες Λογισμικού Συμπέρασμα Πηγές στο Web 26 2 Εισαγωγή στην Σύνταξη Εφαρμογών Java Εισαγωγή Το Πρώτο μας Πρόγραμμα στην Java: Εμφάνιση μιας Γραμμής Κειμένου Τροποποίηση του Πρώτου μας Java Προγράμματος Εμφάνιση Κειμένου με την printf Μια Άλλη Εφαρμογή: Πρόσθεση Ακεραίων Έννοιες Σχετικές με τη Μνήμη Πράξεις Λήψη Αποφάσεων: Τελεστές Ισότητας και Σχεσιακοί Τελεστές Συμπέρασμα 60 00_JAVA_DEITEL(arxika).indd vii 10/3/2010 1:10:55 μμ

8 viii Java Προγραμματισμός 3 Εισαγωγή στις Κλάσεις και τα Αντικείμενα Εισαγωγή Κλάσεις, Αντικείμενα, Μέθοδοι και Μεταβλητές Στιγμιοτύπων ήλωση μίας Κλάσης με μία Μέθοδο και ημιουργία του Στιγμιότυπου ενός Αντικειμένου μιας Κλάσης ήλωση μιας Μεθόδου με μια Παράμετρο Μεταβλητές Στιγμιοτύπων, Μέθοδοι set και Μέθοδοι get Πρωταρχικοί Τύποι ως προς Τύπους Αναφορών Αρχικοποίηση Αντικειμένων με Συναρτήσεις ημιουργίας Αριθμοί Κινητής Υποδιαστολής και ο Τύπος double (Προαιρετικό) Μελέτη Περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: Χρήση Παραθύρων ιαλόγου Συμπέρασμα 98 4 Προτάσεις Ελέγχου: Μέρος Εισαγωγή Αλγόριθμοι Ψευδοκώδικας ομές Ελέγχου Πρόταση if μιας Επιλογής Πρόταση ιπλής Επιλογής if else Πρόταση Επανάληψης while Σχηματισμός Αλγορίθμων: Επανάληψη Ελεγχόμενη από Μετρητή Σχηματισμός Αλγορίθμων: Επανάληψη Ελεγχόμενη από Τιμή Σήματος Σχηματισμός Αλγορίθμων: Ένθετες Προτάσεις Ελέγχου Σύνθετοι Τελεστές Εκχώρησης Τελεστές Αύξησης και Μείωσης Πρωταρχικοί Τύποι (Προαιρετικό) Μελέτη περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: ημιουργία Απλών Σχεδίων Συμπέρασμα Προτάσεις Ελέγχου: Μέρος Εισαγωγή Τα Βασικά της Ελεγχόμενης από Μετρητή Επανάληψης Πρόταση Επανάληψης for Παραδείγματα Χρήσης της Πρότασης for Πρόταση Επανάληψης do while Πρόταση Πολλαπλών Επιλογών switch Προτάσεις break και continue Λογικοί Τελεστές Σύνοψη ομημένου Προγραμματισμού (Προαιρετικό) Μελέτη Περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: Σχεδίαση Ορθογωνίων και Ελλείψεων Συμπέρασμα Μέθοδοι: Μία Βαθύτερη ιερεύνηση Εισαγωγή Λειτουργικές Μονάδες Προγραμμάτων της Java Μέθοδοι static, Πεδία static και η Κλάση Math ήλωση Μεθόδων με Πολλές Παραμέτρους _JAVA_DEITEL(arxika).indd viii 10/3/2010 1:10:55 μμ

9 ΠΕΡΙΕΧΟΜΕΝΑ ix 6.5 Σημειώσεις για την ήλωση και Χρήση των Μεθόδων Στοίβα Κλήσεων Μεθόδων και Εγγραφές Ενεργοποίησης Προβιβασμός και Αλλαγή Τύπου Ορισμάτων Πακέτα Java API Μελέτη Περίπτωσης: Γεννήτρια Τυχαίων Αριθμών Γενικευμένη Κλιμάκωση και Μετατόπιση Τυχαίων Αριθμών Επανάληψη Τυχαίου Αριθμού για Έλεγχο και Αποσφαλμάτωση Μελέτη Περίπτωσης: Ένα Τυχερό Παιχνίδι Εισαγωγή στις Απαριθμήσεις Εμβέλεια των ηλώσεων Υπερφόρτωση Μεθόδου (Προαιρετικό) Μελέτη Περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: Χρώματα και Σχήματα με Γέμισμα Συμπέρασμα Πίνακες και Λίστες Πινάκων Εισαγωγή Πίνακες ήλωση και ημιουργία Πινάκων Παραδείγματα Χρήσης Πινάκων Μελέτη Περίπτωσης: Προσομοίωση Ανακατέματος και Μοιράσματος Τράπουλας Βελτιωμένη Πρόταση for Πέρασμα Πινάκων σε Μεθόδους Μελέτη Περίπτωσης: Η Κλάση GradeBook Χρησιμοποιώντας έναν Πίνακα για Αποθήκευση των Βαθμών Πολυδιάστατοι Πίνακες Μελέτη Περίπτωσης: Η Κλάση GradeBook Χρησιμοποιώντας ένα ισδιάστατο Πίνακα Λίστες Ορισμάτων Μεταβλητού Μήκους Χρήση Ορισμάτων Γραμμής Εντολών Η Κλάση Arrays Εισαγωγή στις Συλλογές και στην Κλάση ArrayList (Προαιρετικό) Μελέτη Περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: Σχεδίαση Τόξων Συμπέρασμα Κλάσεις και Αντικείμενα: Μία Βαθύτερη ιερεύνηση Εισαγωγή Μελέτη Περίπτωσης Κλάσης Time Έλεγχος Πρόσβασης σε Μέλη Αναφορά στα Μέλη του Τρέχοντος Αντικειμένου με την Αναφορά this Μελέτη Περίπτωσης Κλάσης Time: Υπερφορτωμένες Συναρτήσεις ημιουργίας Προεπιλεγμένες Συναρτήσεις ημιουργίας και Συναρτήσεις ημιουργίας Χωρίς Ορίσματα Σημειώσεις για τις Μεθόδους Set και Get Σύνθεση Απαριθμήσεις Συλλογή Απορριμμάτων και η Μέθοδος finalize Μέλη Κλάσης static static Import Μεταβλητές Στιγμιοτύπου final Μελέτη Περίπτωσης Κλάσης Time: ημιουργία Πακέτων Πρόσβαση Πακέτου _JAVA_DEITEL(arxika).indd ix 10/3/2010 1:10:55 μμ

10 x Java Προγραμματισμός 8.16 (Προαιρετικό) Μελέτη Περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: Χρήση Αντικειμένων με Γραφικά Συμπέρασμα Αντικειμενοστραφής Προγραμματισμός: Κληρονομικότητα Εισαγωγή Υπερκλάσεις και Υποκλάσεις protected Μέλη Σχέση Ανάμεσα σε Υπερκλάσεις και Υποκλάσεις ημιουργία και Χρήση μιας Κλάσης CommissionEmployee ημιουργία και Χρήση μιας Κλάσης BasePlusCommissionEmployee ημιουργία Ιεραρχίας Κληρονομικότητας CommissionEmployeeBasePlusCommissionEmployee Ιεραρχία Κληρονομικότητας CommissionEmployeeBasePlusCommissionEmployee με Χρήση protected Μεταβλητών Στιγμιοτύπου Ιεραρχία Κληρονομικότητας CommissionEmployee-BasePlusCommissionEmployee Χρησιμοποιώντας private Μεταβλητές Στιγμιοτύπου Συναρτήσεις ημιουργίας σε Υποκλάσεις Μηχανική Λογισμικού με Κληρονομικότητα Η Κλάση Object (Προαιρετικό) Μελέτη Περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: Εμφάνιση Κειμένου και Εικόνων με Χρήση Ετικετών Συμπέρασμα Αντικειμενοστραφής Προγραμματισμός: Πολυμορφισμός Εισαγωγή Παραδείγματα Πολυμορφισμού Παρουσίαση Πολυμορφικής Συμπεριφοράς Αφαιρετικές Κλάσεις και Μέθοδοι Μελέτη Περίπτωσης: Σύστημα Μισθοδοσίας με Χρήση Πολυμορφισμού Αφαιρετική Υπερκλάση Employee Ειδική Υποκλάση SalariedEmployee Ειδική Υποκλάση HourlyEmployee Ειδική Υποκλάση CommissionEmployee Έμμεση Ειδική Υποκλάση BasePlusCommissionEmployee Πολυμορφική Επεξεργασία, Τελεστής instanceof και Υποβιβασμός Τύπου Περίληψη των Επιτρεπτών Εκχωρήσεων Μεταξύ Μεταβλητών Υπερκλάσεων και Υποκλάσεων Μέθοδοι και Κλάσεις final Μελέτη Περίπτωσης: ημιουργία και Χρήση ιασυνδέσεων Ανάπτυξη μιας Ιεραρχίας Payable ιασύνδεση Payable Κλάση Invoice Τροποποίηση της Κλάσης Employee για Υλοποίηση της διασύνδεσης Payable Τροποποίηση της Κλάσης SalariedEmployee για Χρήση στην Ιεραρχία Payable Χρήση της διασύνδεσης Payable για Πολυμορφική Επεξεργασία των Invoice και Employee Συνήθεις ιασυνδέσεις του Java API (Προαιρετικό) Μελέτη Περίπτωσης Γραφικού Περιβάλλοντος και Γραφικών: Σχεδίαση με Πολυμορφισμό Συμπέρασμα _JAVA_DEITEL(arxika).indd x 10/3/2010 1:10:55 μμ

11 ΠΕΡΙΕΧΟΜΕΝΑ xi 11 Χειρισμός Εξαιρέσεων Εισαγωγή Ανασκόπηση Χειρισμού Εξαιρέσεων Παράδειγμα: ιαίρεση διά του Μηδενός Χωρίς Χειρισμό Εξαιρέσεων Παράδειγμα: Χειρισμός ArithmeticException και InputMismatchException Πότε να Χρησιμοποιείτε Χειρισμό Εξαιρέσεων Ιεραρχία Εξαιρέσεων της Java Μπλοκ finally Ξετύλιγμα Στοίβας printstacktrace, getstacktrace και getmessage Αλυσιδωτές Εξαιρέσεις ήλωση Νέων Τύπων Εξαιρέσεων Προϋποθέσεις και Μετα-καταστάσεις ιαβεβαιώσεις Συμπέρασμα Μελέτη Περίπτωσης ΑΤΜ, Μέρος 1: Αντικειμενοστραφής Σχεδίαση με την UML Εισαγωγή Μελέτης Περίπτωσης Εξέταση του Εγγράφου Προδιαγραφών Προσδιορισμός των Κλάσεων σε ένα Έγγραφο Προδιαγραφών Προσδιορισμός Ιδιοτήτων Κλάσεων Προσδιορισμός Καταστάσεων και ραστηριοτήτων Αντικειμένων Προσδιορισμός Λειτουργιών Κλάσεων Υποδεικνύοντας την Συνεργασία Μεταξύ Αντικειμένων Συμπέρασμα Μελέτη Περίπτωσης ΑΤΜ, Μέρος 2: Υλοποίηση μιας Αντικειμενοστραφούς Σχεδίασης Εισαγωγή Ξεκινώντας τον Προγραμματισμό των Κλάσεων του Συστήματος ATM Ενσωμάτωση Κληρονομικότητας και Πολυμορφισμού στο Σύστημα ATM Υλοποίηση της Σχεδίασης του Συστήματος ATM (Ενσωμάτωση Κληρονομικότητας) Υλοποίηση της Μελέτης Περίπτωσης του ΑΤΜ Η Κλάση ATM Η Κλάση Screen Η Κλάση Keypad Η Κλάση CashDispenser Η Κλάση DepositSlot Η Κλάση Account Η Κλάση BankDatabase Η Κλάση Account Η Κλάση BalanceInquiry Η Κλάση Withdrawal Η Κλάση Deposit Η Κλάση ATMCaseStudy Συμπέρασμα Συστατικά Γραφικού Περιβάλλοντος: Μέρος Εισαγωγή Η Νέα Εμφάνιση Nimbus της Java _JAVA_DEITEL(arxika).indd xi 10/3/2010 1:10:55 μμ

12 xii Java Προγραμματισμός 14.3 Απλή Είσοδος / Έξοδος Βασισμένη σε GUI με το JOptionPane Επισκόπηση των Συστατικών Swing Εμφάνιση Κειμένου και Εικόνων σε Ένα Παράθυρο Πεδία Κειμένου και Εισαγωγή στον Χειρισμό Συμβάντων με Ένθετες Κλάσεις Συνήθεις Τύποι Συμβάντων GUI και ιασυνδέσεις Ακρόασης Συμβάντων Πώς Λειτουργεί ο Χειρισμός Συμβάντων JButton Κουμπιά Που ιατηρούν την Κατάσταση JCheckBox JRadioButton JcomboBox και Χρήση μιας Ανώνυμης Εσωτερικής Κλάσης για τον Χειρισμό Συμβάντων JList Λίστες Πολλαπλών Επιλογών Χειρισμός Συμβάντων Ποντικιού Κλάσεις Προσαρμογής Υποκλάση JPanel για Σχεδίαση με το Ποντίκι Χειρισμός Συμβάντων Πληκτρολογίου Εισαγωγή στους ιαχειριστές ιατάξεων FlowLayout BorderLayout GridLayout Χρήση Πάνελ για ιαχείριση πιο Περίπλοκων ιατάξεων JTextArea Συμπέρασμα Γραφικά και Java 2D Εισαγωγή Πλαίσια Γραφικών και Αντικείμενα Γραφικών Έλεγχος Χρωμάτων Χειρισμός Γραμματοσειρών Σχεδίαση Γραμμών, Ορθογωνίων και Ελλείψεων Σχεδίαση Τόξων Σχεδίαση Πολυγώνων και Πολύγραμμων Java 2D API Συμπέρασμα Συμβολοσειρές, Χαρακτήρες και Κανονικές Εκφράσεις Εισαγωγή Τα Βασικά των Χαρακτήρων και των Συμβολοσειρών Η Κλάση String Συναρτήσεις ημιουργίας String String Μέθοδοι length, charat και getchars Σύγκριση Συμβολοσειρών Εντοπισμός Χαρακτήρων και Υποσυμβολοσειρών σε Συμβολοσειρές Εξαγωγή Υποσυμβολοσειρών από Συμβολοσειρές Συνένωση Συμβολοσειρών ιάφορες Μέθοδοι String String Μέθοδος valueof Η Κλάση StringBuilder Συναρτήσεις ημιουργίας StringBuilder StringBuilder Μέθοδοι length, capacity, setlength και ensurecapacity _JAVA_DEITEL(arxika).indd xii 10/3/2010 1:10:55 μμ

13 ΠΕΡΙΕΧΟΜΕΝΑ xiii StringBuilder Μέθοδοι charat, setcharat, getchars και reverse Μέθοδοι StringBuilder append Μέθοδοι Εισαγωγής και ιαγραφής της StringBuilder Η Κλάση Character Μετατροπή Συμβολοσειρών σε ιακριτικά Κανονικές Εκφράσεις, Κλάση Pattern και Κλάση Matcher Συμπέρασμα Αρχεία, Ροές και Σειριακή Επεξεργασία Αντικειμένων Εισαγωγή Ιεραρχία εδομένων Αρχεία και Ροές Η Κλάση File Αρχεία Κειμένου Σειριακής Προσπέλασης ημιουργία Αρχείου Κειμένου Σειριακής Προσπέλασης Ανάγνωση εδομένων από Αρχείο Κειμένου Σειριακής Προσπέλασης Μελέτη Περίπτωσης: Πρόγραμμα Ελέγχου Πιστώσεων Ενημέρωση Αρχείων Σειριακής Προσπέλασης Αντικείμενο Σειριακής Επεξεργασίας ημιουργία Αρχείου Σειριακής Προσπέλασης Χρησιμοποιώντας Σειριοποίηση Αντικειμένου Ανάγνωση και Αποσειριοποίηση εδομένων από Αρχείο Σειριακής Πρόσβασης Πρόσθετες Κλάσεις java.io ιασυνδέσεις και Κλάσεις για Είσοδο και Έξοδο Βασισμένη σε byte ιασυνδέσεις και Κλάσεις για Είσοδο και Έξοδο Βασισμένη σε Χαρακτήρες Άνοιγμα Αρχείων με την JFileChooser Συμπέρασμα Αναδρομή Εισαγωγή Έννοιες Αναδρομής Παράδειγμα Χρήσης Αναδρομής: Παραγοντικά Παράδειγμα Χρήσης Αναδρομής: Σειρά Fibonacci Αναδρομή και η Στοίβα Κλήσεων Μεθόδων Αναδρομή ως προς Επανάληψη Οι Πύργοι του Ανόι Fractal Αναδρομή με Οπισθοχώρηση Συμπέρασμα Αναζήτηση, Ταξινόμηση και το Μεγάλο Ο Εισαγωγή Αλγόριθμοι Αναζήτησης Γραμμική Αναζήτηση υαδική Αναζήτηση Αλγόριθμοι Ταξινόμησης Ταξινόμηση Επιλογής Ταξινόμηση Εισαγωγής Ταξινόμηση Συγχώνευσης Συμπέρασμα _JAVA_DEITEL(arxika).indd xiii 10/3/2010 1:10:55 μμ

14 xiv Java Προγραμματισμός 20 Γενικές Συλλογές Εισαγωγή Επισκόπηση Συλλογών Κλάσεις Καλυμμένου Τύπου (Wrapper) για Πρωταρχικούς Τύπους Αυτόματη Συσκευασία και Αυτόματη Αποσυσκευασία Η ιασύνδεση Collection και η Κλάση Collections Λίστες ArrayList και Iterator LinkedList Μέθοδοι Συλλογών Μέθοδος sort Μέθοδος shuffle Μέθοδοι reverse, fill, copy, max και min Μέθοδος binarysearch Μέθοδοι addall, frequency και disjoint Η Κλάση Stack του Πακέτου java.util Οι Κλάσεις PriorityQueue και η ιασύνδεση Queue Σύνολα Χάρτες Η Κλάση Properties Συγχρονισμένες Συλλογές Μη Τροποποιήσιμες Συλλογές Αφαιρετικές Υλοποιήσεις Συμπέρασμα Γενικεύσεις Εισαγωγή Κίνητρα για Χρήση Γενικών Μεθόδων Γενικές Μέθοδοι: Υλοποίηση και Μετάφραση κατά την Μεταγλώττιση Πρόσθετα Θέματα Μετάφρασης Κατά την Μεταγλώττιση: Μέθοδοι που Χρησιμοποιούν έναν Τύπο Παραμέτρου ως Τύπο Επιστροφής Υπερφόρτωση Γενικών Μεθόδων Γενικές Κλάσεις Ακατέργαστοι Τύποι Χαρακτήρες-Μπαλαντέρ σε Μεθόδους που έχονται Τύπους Παραμέτρων Γενικεύσεις και Κληρονομικότητα: Σημειώσεις Συμπέρασμα Προσαρμοσμένες Γενικές ομές εδομένων Εισαγωγή Αυτοαναφερόμενες Κλάσεις υναμική έσμευση Μνήμης Συνδεδεμένες Λίστες Στοίβες Ουρές ένδρα Συμπέρασμα Τα Applet και το Java Web Start Εισαγωγή Παραδείγματα Applet που Παρέχονται με το JDK _JAVA_DEITEL(arxika).indd xiv 10/3/2010 1:10:56 μμ

15 ΠΕΡΙΕΧΟΜΕΝΑ xv 23.3 Απλό Java Applet: Σχεδίαση ενός String Εκτέλεση του WelcomeApplet στο appletviewer Εκτέλεση ενός Applet σε ένα Web Browser Μέθοδοι Κύκλου Ζωής ενός Applet Αρχικοποίηση μιας Μεταβλητής Στιγμιοτύπου με την Μέθοδο init Μοντέλο Ασφαλείας Sandbox Το Java Web Start και το Java Network Launch Protocol (JNLP) Πακετάροντας το DrawTest Applet για να Χρησιμοποιηθεί με το Java Web Start JNLP Έγγραφο για το DrawTest Applet Συμπέρασμα Πολυμέσα: Applet και Εφαρμογές Εισαγωγή Φόρτωση, Εμφάνιση και Κλιμάκωση Εικόνων Προσδίδοντας Κίνηση σε μια Σειρά Εικόνων Χάρτες Εικόνων Φόρτωση και Αναπαραγωγή Κλιπ Ήχου Αναπαραγωγή Βίντεο και Άλλων Μέσων με το Java Media Framework Συμπέρασμα Πηγές στο Web Συστατικά GUI: Μέρος Εισαγωγή JSlider Παράθυρα: Πρόσθετες Σημειώσεις Χρήση Μενού με Πλαίσια JPopupMenu Προσαρμόσιμη Εμφάνιση και Αίσθηση JDesktopPane και JInternalFrame JTabbedPane ιαχειριστές ιατάξεων: BoxLayout και GridBagLayout Συμπέρασμα Πολυνηματισμός Εισαγωγή Καταστάσεις Νημάτων: Ο Κύκλος Ζωής Ενός Νήματος Προτεραιότητες Νημάτων και Χρονοπρογραμματισμός Νημάτων ημιουργία και Εκτέλεση Νημάτων Τα Runnable και η Κλάση Thread ιαχείριση Νημάτων με το Πλαίσιο Εργασίας Executor Συγχρονισμός Νημάτων Μη Συγχρονισμένη Κοινή Χρήση εδομένων Συγχρονισμένη Κοινή Χρήση εδομένων Κάνοντας τις Λειτουργίες Ατομικές Σχέση Παραγωγού/Καταναλωτή Χωρίς Συγχρονισμό Σχέση Παραγωγού/Καταναλωτή: ArrayBlockingQueue Σχέση Παραγωγού/Καταναλωτή με Συγχρονισμό Σχέση Παραγωγού/Καταναλωτή: Buffer με Όρια Σχέση Παραγωγού/Καταναλωτή: Οι ιασυνδέσεις Lock και Condition Πολυνηματισμός με GUI Εκτέλεση Υπολογισμών σε ένα Νήμα Worker Επεξεργασία Ενδιάμεσων Αποτελεσμάτων με την SwingWorker _JAVA_DEITEL(arxika).indd xv 15/3/ :19:07 πμ

16 xvi Java Προγραμματισμός ιασυνδέσεις Callable και Future Συμπέρασμα ικτύωση Εισαγωγή Χειρισμός URL Ανάγνωση Αρχείου σ' Έναν Web ιακομιστή ημιουργία ενός Απλού ιακομιστή Χρησιμοποιώντας Υποδοχές Ροής ημιουργία ενός Απλού Πελάτη Χρησιμοποιώντας Υποδοχές Ροής Αλληλεπίδραση Πελάτη/ ιακομιστή με Συνδέσεις Υποδοχών Ροής Αλληλεπίδραση Πελάτη/ ιακομιστή Χωρίς Συνδέσεις με Datagram Τρίλιζα Πελάτη/ ιακομιστή με Χρήση ενός Πολυνηματικού ιακομιστή [ ώρο στο Web] Μελέτη Περίπτωσης: ιακομιστής και Πελάτης DeitelMessenger Συμπέρασμα Προσπέλαση Βάσεων εδομένων με το JDBC Εισαγωγή Σχεσιακές Βάσεις εδομένων Ανασκόπηση Σχεσιακών Βάσεων εδομένων: Η Βάση εδομένων books SQL Βασικό Ερώτημα SELECT Φράση WHERE Φράση ORDER BY Συγχώνευση εδομένων από Πολλούς Πίνακες: INNER JOIN Πρόταση INSERT Πρόταση UPDATE Πρόταση DELETE Οδηγίες για Εγκατάσταση της MySQL και του MySQL Connector/J Οδηγίες για την ιαμόρφωση ενός Λογαριασμού Χρήστη MySQL ημιουργία της Βάσης εδομένων books στην MySQL Χειρισμός Βάσεων εδομένων με το JDBC Σύνδεση και Υποβολή Ερωτημάτων σε μία Βάση εδομένων Υποβολή Ερωτημάτων στην Βάση εδομένων books ιασύνδεση RowSet Java DB/Apache Derby PreparedStatement Αποθηκευμένες ιαδικασίες Επεξεργασία Συναλλαγών Συμπέρασμα Web Πόροι JavaServer Faces και Web Εφαρμογές Εισαγωγή Απλές Συναλλαγές HTTP Πολυεπίπεδη Αρχιτεκτονική Εφαρμογών Web Τεχνολογίες της Java Servlets JavaServer Pages JavaServer Faces Τεχνολογίες Web στο NetBeans _JAVA_DEITEL(arxika).indd xvi 10/3/2010 1:10:56 μμ

17 ΠΕΡΙΕΧΟΜΕΝΑ xvii 29.5 ημιουργία και Εκτέλεση μιας Απλής Εφαρμογής στο NetBeans Εξετάζοντας ένα JSP Έγγραφο Εξετάζοντας ένα Αρχείο Page Bean Κύκλος Ζωής με Επεξεργασία Συμβάντων ημιουργώντας μια Web Εφαρμογή στο NetBeans Συστατικά JSF Συστατικά Κειμένου και Γραφικών Επικύρωση Χρησιμοποιώντας Συστατικά Validator και Προσαρμοσμένα Validator Παρακολούθηση Συνόδου Cookie Παρακολούθηση Συνόδων με Bean Συνόδων Συμπέρασμα Web Εφαρμογές JavaServer Faces με Ajax Εισαγωγή Πρόσβαση σε Βάσεις εδομένων σε Web Εφαρμογές ημιουργία μιας Web Εφαρμογής που Εμφανίζει εδομένα από μια Βάση εδομένων Τροποποίηση του Αρχείου Page Bean για την Εφαρμογή AddressBook JSF Συστατικά με υνατότητες Ajax ημιουργία ενός Πεδίου Κειμένου Αυτόματης Συμπλήρωσης και Χρησιμοποίηση Εικονικών Φορμών ιαμορφώνοντας Εικονικές Φόρμες Αρχείο JSP με Εικονικές Φόρμες and ένα Πεδίο Κειμένου Αυτόματης Συμπλήρωσης Κάνοντας Προτάσεις σ' ένα Πεδίο Κειμένου Αυτόματης Συμπλήρωσης Εμφανίζοντας τις Πληροφορίες της Επαφής Συμπέρασμα Web Υπηρεσίες Εισαγωγή Τα Βασικά των Web Υπηρεσιών Simple Object Access Protocol (SOAP) Representational State Transfer (REST) JavaScript Object Notation (JSON) ημοσίευση και Κατανάλωση Web Υπηρεσιών Βασισμένων στο SOAP ημιουργώντας ένα Έργο Web Εφαρμογής και Προσθήκη μιας Κλάσης Web Υπηρεσίας στο NetBeans Ορισμός της Web Υπηρεσίας WelcomeSOAP στο NetBeans ημοσιεύοντας την Web Υπηρεσία WelcomeSOAP από το NetBeans Έλεγχος της Web Υπηρεσίας WelcomeSOAP με την Ιστοσελίδα Tester του GlassFish ιακομιστή Εφαρμογών Περιγράφοντας μια Web Υπηρεσία με την Web Service Description Language (WSDL) ημιουργώντας έναν Πελάτη για να Καταναλώσει την Web Υπηρεσία WelcomeSOAP Καταναλώνοντας την Web υπηρεσία WelcomeSOAP ημοσίευση και Κατανάλωση XML Web Υπηρεσιών Βασισμένων στο REST ημιουργώντας μια XML Web Service Βασισμένη στο REST Καταναλώνοντας μια XML Web Υπηρεσία Βασισμένη στο REST _JAVA_DEITEL(arxika).indd xvii 10/3/2010 1:10:56 μμ

18 xviii Java Προγραμματισμός 31.8 ημοσίευση και Κατανάλωση JSON Web Υπηρεσιών Βασισμένη στο REST ημιουργώντας μια JSON Web Υπηρεσία Βασισμένη στο REST Καταναλώνοντας μια JSON Web Υπηρεσία Βασισμένη στο REST Παρακολούθηση Συνόδου σε μια Web Υπηρεσία Βασισμένη σε SOAP ημιουργώντας μια Web Υπηρεσία Blackjack Καταναλώνοντας την Web Υπηρεσία Blackjack Κατανάλωση μιας Web Υπηρεσίας Βασισμένης στο SOAP και Καθοδηγούμενης από μια Βάση εδομένων ημιουργώντας τη Βάση εδομένων Reservation ημιουργώντας μια Web Εφαρμογή για Αλληλεπίδραση με την Υπηρεσία Reservation Γεννήτρια Εξισώσεων: Επιστροφή Τύπων Καθορισμένων από το Χρήστη ημιουργώντας την XML Web Υπηρεσία EquationGenerator με Βάση το REST Καταναλώνοντας την XML Web Υπηρεσία EquationGenerator με Βάση το REST ημιουργώντας την JSON Web Υπηρεσία EquationGenerator με Βάση το REST Καταναλώνοντας την JSON Web Υπηρεσία EquationGenerator με Βάση το REST Συμπέρασμα 1402 A ιάγραμμα Προτεραιότητας Τελεστών 1411 B Σύνολο Χαρακτήρων ASCII 1413 Γ Λέξεις-Κλειδιά και εσμευμένες Λέξεις 1414 Πρωταρχικοί Τύποι 1415 E Χρήση της Τεκμηρίωσης του Java API 1416 E.1 Εισαγωγή 1416 E.2 Πλοήγηση στο Java API 1417 ΣΤ (F) Χρήση του Debugger 1425 ΣΤ.1 Εισαγωγή 1426 ΣΤ.2 Σημεία ιακοπής και οι Εντολές run, stop, cont και print 1426 ΣΤ.3 Οι Εντολές print και set 1430 ΣΤ.4 Έλεγχος της Εκτέλεσης Χρησιμοποιώντας τις Εντολές step, step up και next 1432 ΣΤ.5 Η Εντολή watch 1435 ΣΤ.6 Η Εντολή clear 1438 ΣΤ.7 Συμπέρασμα 1440 Ζ (G) Μορφοποιημένη Έξοδος 1442 Ζ.1 Εισαγωγή 1443 Ζ.2 Ροές 1443 Ζ.3 Μορφοποίηση Εξόδου με την printf 1443 Ζ.4 Εμφάνιση Ακεραίων 1444 Ζ.5 Εμφάνιση Αριθμών Κινητής Υποδιαστολής 1445 Ζ.6 Εμφάνιση Συμβολοσειρών και Χαρακτήρων 1447 Ζ.7 Εμφάνιση Ημερομηνιών και Ωρών 1448 Ζ.8 Άλλοι Χαρακτήρες Μετατροπής 1450 Ζ.9 Εμφάνιση με Πλάτη Πεδίων και Ακρίβειες 1452 Ζ.10 Χρήση Σημαιών στην Συμβολοσειρά Μορφοποίησης της printf _JAVA_DEITEL(arxika).indd xviii 10/3/2010 1:10:56 μμ

19 ΠΕΡΙΕΧΟΜΕΝΑ xix Ζ.11 Εμφάνιση με είκτες Ορισμάτων 1457 Ζ.12 Εμφάνιση Κυριολεκτικών και Ακολουθιών ιαφυγής 1458 Ζ.13 Μορφοποίηση Εξόδου με την Κλάση Formatter 1458 Ζ.14 Συμπέρασμα 1460 Παραρτήματα στο Web Τα παραρτήματα H Q είναι PDF έγγραφα που είναι δημοσιευμένα online. (Σημ. Μεταφρ. Μέσα σε παρενθέσεις είναι το αντίστοιχο ελληνικό γράμμα που χρησιμοποιείται σαν αναφορά μέσα στο κείμενο) 1465 H (Η) Number Systems H.1 Introduction II H.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers V H.3 Converting Octal and Hexadecimal Numbers to Binary Numbers VI H.4 Converting from Binary, Octal or Hexadecimal to Decimal VI H.5 Converting from Decimal to Binary, Octal or Hexadecimal VII H.6 Negative Binary Numbers: Two s Complement Notation IX I (Θ) GroupLayout I.1 Introduction XIV I.2 GroupLayout Basics XIV I.3 Building a ColorChooser XV I.4 GroupLayout Web Resources XXV J (Ι) Java Desktop Integration Components (JDIC) I XIV XXVI J.1 Introduction XXVI J.2 Splash Screens XXVI J.3 Desktop Class XXVIII J.4 Tray Icons XXX J.5 JDIC Incubator Projects XXXI J.6 JDIC Demos XXXI K (ΙΑ) Mashups XXXII K.1 Introduction XXXII K.2 Popular Mashups XXXII K.3 APIs Commonly Used in Mashups XXXIII K.4 Deitel Mashups Research Center XXXIV K.5 Deitel RSS Resource Center XXXV K.6 Mashup Performance and Reliability Issues XXXV L (ΙΒ) Unicode XXXVI L.1 Introduction XXXVI L.2 Unicode Transformation Formats XXXVII L.3 Characters and Glyphs XXXVIII L.4 Advantages/Disadvantages of Unicode XXXIX L.5 Using Unicode XXXIX L.6 Character Ranges XLI M (ΙΓ) Creating Documentation with javadoc M.1 Introduction XLIII M.2 Documentation Comments XLIII XLIII 00_JAVA_DEITEL(arxika).indd xix 10/3/2010 1:10:56 μμ

20 xx Java Προγραμματισμός M.3 Documenting Java Source Code XLIV M.4 javadoc LI M.5 Files Produced by javadoc LII N (Ι ) Bit Manipulation N.1 Introduction LV N.2 Bit Manipulation and the Bitwise Operators LV N.3 BitSet Class LXV O (ΙΕ) Labeled break and continue Statements O.1 Introduction LXIX O.2 Labeled break Statement LXIX O.3 Labeled continue Statement LXX P (ΙΣΤ) UML 2: Additional Diagram Types LV LXIX LXXII P.1 Introduction LXXII P.2 Additional Diagram Types LXXII Q (ΙΖ) Design Patterns LXXIV Q.1 Introduction LXXIV Q.2 Creational, Structural and Behavioral Design Patterns LXXV Q.2.1 Creational Design Patterns LXXVI Q.2.2 Structural Design Patterns LXXVIII Q.2.3 Behavioral Design Patterns LXXIX Q.2.4 Conclusion LXXX Q.3 Design Patterns in Packages java.awt and javax.swing LXXX Q.3.1 Creational Design Patterns LXXX Q.3.2 Structural Design Patterns LXXXI Q.3.3 Behavioral Design Patterns LXXXIII Q.3.4 Conclusion LXXXVI Q.4 Concurrency Design Patterns LXXXVI Q.5 Design Patterns Used in Packages java.io and java.net LXXXVIII Q.5.1 Creational Design Patterns LXXXVIII Q.5.2 Structural Design Patterns LXXXVIII Q.5.3 Architectural Patterns LXXXIX Q.5.4 Conclusion XCI Q.6 Design Patterns Used in Package java.util XCII Q.6.1 Creational Design Patterns XCII Q.6.2 Behavioral Design Patterns XCII Q.7 Συμπέρασμα XCIII Ευρετήριο _JAVA_DEITEL(arxika).indd xx 10/3/2010 1:10:56 μμ

21 Πρόλογος Μην ζεις πλέον κομματιαστά, μόνο σε σύνδεση. Edgar Morgan Foster Καλωσορίσατε στην Java και στο Java Προγραμματισμός, Όγδοη Έκδοση! Αυτό το βιβλίο παρουσιάζει τεχνολογίες αιχμής σχετικές με τους υπολογιστές σε σπουδαστές, εκπαιδευτικούς, προγραμματιστές και επαγγελματίες της Πληροφορικής. Στη Deitel χρησιμοποιούμε την υπογραφή "προσέγγιση ζωντανού κώδικα" (live-code approach) παρουσιάζοντας τις περισσότερες έννοιες στα πλαίσια πλήρως λειτουργικών προγραμμάτων της Java, αντί να χρησιμοποιούμε τμήματα κώδικα. Κάθε παράδειγμα κώδικα ακολουθείται αμέσως μετά από μία ή περισσότερες εκτελέσεις. Όλος ο πηγαίος κώδικας είναι διαθέσιμος στην διεύθυνση www. deitel.com/books/jhtp8/. Στην Deitel & Associates, γράφουμε βιβλία για γλώσσες προγραμματισμού και επαγγελματικά βιβλία για την Pearson/Prentice Hall, κάνουμε εκπαιδευτικά μαθήματα σ' όλο τον κόσμο και αναπτύσσουμε Web 2.0 επιχειρήσεις ιαδικτύου. Έχουμε ενημερώσει την προηγούμενη έκδοση αυτού του βιβλίου με βάση τις πρόσφατες αλλαγές στη γλώσσα Java και στους αναπτυσσόμενους τρόπους εκπαίδευσης και εκμάθησης του προγραμματισμού. Όλα τα κεφάλαια έχουν βελτιωθεί σημαντικά. Νέες και Ενημερωμένες Λειτουργίες Εδώ περιγράφουμε τις αλλαγές που έχουμε κάνει σ' αυτήν την έκδοση: Το βιβλίο έχει μια νέα εσωτερική σχεδίαση που οργανώνει γραφικά, αποσαφηνίζει και δίνει έμφαση στις πληροφορίες και βελτιώνει την κατανόηση του βιβλίου. Ενημερώσαμε ολόκληρο το βιβλίο σύμφωνα με την Java Standard Edition 6 Update 11 και ελέγξαμε προσεκτικά το χειρόγραφο σε σχέση με τις προδιαγραφές της Java. Προσθέσαμε τις " ύσκολες Ασκήσεις" για τους σπουδαστές που θέλουν να κάτι παραπάνω. Τους ενθαρρύνουμε να συσχετίσουν τους υπολογιστές και το ιαδίκτυο με την επίλυση προβλημάτων που πραγματικά ενδιαφέρουν τα άτομα, τις κοινωνίες, τις χώρες και τον κόσμο. Ελπίζουμε ότι οι νέες ασκήσεις μας θα ενθαρρύνουν τους σπουδαστές να σκεφτούν καθώς θα ερευνούν πιο σύνθετα κοινωνικά θέματα. Αυτές οι ασκήσεις δεν έχουν πολιτικό σκοπό, αλλά έχουν σκοπό να αυξήσουν τη συνειδητοποίηση για σημαντικά θέματα που αντιμετωπίζει ο κόσμος. Οι σπουδαστές θα πρέπει να προσεγγίσουν αυτά τα θέματα στα πλαίσια των δικών τους αξιών και πολιτικών πεποιθήσεων. Πολλές απ' τις νέες ασκήσεις απαιτούν από τους σπουδαστές να κάνουν την έρευνα στο Web και να συμπεριλάβουν τα αποτελέσματα στη δική τους διαδικασία επίλυσης του προβλήματος. Εδώ υπάρχει μια λίστα των 34 νέων " ύσκολων Ασκήσεων": οκιμή: Αριθμομηχανή Υπολογισμού του Ίχνους Άνθρακα οκιμή: Αριθμομηχανή Υπολογισμού είκτη Μάζας του Σώματος Ιδιότητες Υβριδικών Οχημάτων Ουδέτερο Γένος Υπολογισμός είκτης Μάζας Σώματος Υπολογισμός Αύξησης του Παγκόσμιου Πληθυσμού Υπολογισμός Εξοικονόμησης Χρημάτων Κοινής Χρήσης Αυτοκινήτου Αριθμομηχανή Ρυθμού Στόχου της Καρδιάς Μηχανογράφηση Ιατρικού Φακέλου Επιβάλλοντας Μυστικότητα με Κρυπτογραφία Αύξηση του Παγκόσμιου Πληθυσμού Κουΐζ Παγκόσμιας Αύξησης της Θερμοκρασίας Εναλλακτικό Πλάνο Φόρων "FairTax" 00_JAVA_DEITEL(arxika).indd xxi 10/3/2010 1:10:56 μμ

22 xxii Java Προγραμματισμός Computer-Assisted Instruction Computer-Assisted Instruction: Περιορίζοντας την Κούραση του Μαθητή Computer-Assisted Instruction: Παρακολούθηση της Απόδοσης του Μαθητή Computer-Assisted Instruction: Επίπεδα υσκολίας Computer-Assisted Instruction: Αλλάζοντας τους Τύπους των Προβλημάτων ημοσκόπηση Έλεγχος Εναέριας Κυκλοφορίας ιασυνδέσεις Ίχνους Άνθρακα: Πολυμορφισμός Ecofont άσκαλος ακτυλογράφησης: Συντονισμός μιας Σημαντικής εξιότητας στην Εποχή των Υπολογιστών Οθόνες με Μεγάλους Χαρακτήρες για Άτομα με Προβλήματα Όρασης Μαγειρεύοντας με πιο Υγιεινά Συστατικά Σάρωση ιαφημιστικού Ταχυδρομείου Γλώσσα SMS Phishing Scanner Πρόγραμμα για Άτομα με Ειδικές Ανάγκες: Σύνθεση Ομιλίας Πρόγραμμα για Άτομα με Ειδικές Ανάγκες: Αναγνώριση Ομιλίας Έργο: Ρομποτικός Προσομοιωτής Simbad Web Υπηρεσία Σάρωσης ιαφημιστικής Αλληλογραφίας Web Υπηρεσία SMS Web Υπηρεσία Ουδετέρου Γένους Βελτιώσαμε την προαιρετική αντικειμενοστραφή/uml 2 μελέτη περίπτωσης για το αυτοματοποιημένο μηχάνημα τραπεζικών συναλλαγών (ATM) και το αναδιοργανώσαμε σε δύο προαιρετικά κεφάλαια (12 και 13) τα οποία παρουσιάζουν την σχεδίαση του ATM και τον πλήρη κώδικα της εφαρμογής. Το ATM είναι ένα ωραίο επαγγελματικό παράδειγμα το οποίο μπορούν να καταλάβουν όλοι οι σπουδαστές. Από την εμπειρία μας, η διδασκαλία αυτών των δύο κεφαλαίων σαν μια μονάδα βοηθά τους σπουδαστές να κατανοήσουν πολλές από τις αντικειμενοστραφείς έννοιες που μαθαίνουν στα Κεφάλαια Μια βασική έννοια στον αντικειμενοστραφή προγραμματισμό είναι οι αλληλεπιδράσεις μεταξύ αντικειμένων. Στα περισσότερα εγχειρίδια προγραμματισμού, τα παραδείγματα κώδικα δημιουργούν και χρησιμοποιούν ένα ή δύο αντικείμενα. Το ATM παρέχει στους σπουδαστές την ευκαιρία να μελετήσουν τις αλληλεπιδράσεις πολλών αντικειμένων που παρέχουν τη λειτουργικότητα ενός πραγματικού συστήματος. Τα Κεφάλαια 12 και 13 παρέχουν πλήρεις λύσεις σε όλες τις ασκήσεις τους. Προηγουμένως, η μελέτη περίπτωσης είχε μπει στα Κεφάλαια 2 8, 10 και σ' ένα παράρτημα. Για τους εκπαιδευτικούς που θέλουν να καλύψουν την μελέτη περίπτωσης μ' έναν κατανεμημένο τρόπο, για κάθε ενότητα των Κεφαλαίων 12 και 13, υποδεικνύουμε μετά από ποια αρχικά κεφάλαιο μπορεί να καλυφθεί αυτή η ενότητα. Βελτιώσαμε τις αρχικές κλάσεις και αντικείμενά μας, δίνοντας ιδιαίτερη προσοχή στις ομάδες αναθεώρησής μας σχετικά με την καθοδήγηση των καθηγητών κολλεγίων για να εξασφαλίσουμε ότι καλύψαμε σωστά το εννοιολογικό επίπεδο. Ο αντικειμενοστραφής χειρισμός είναι σαφής και προσιτός. Παρουσιάζουμε τις βασικές έννοιες και ορολογία της τεχνολογίας των αντικειμένων στο Κεφάλαιο 1. Οι σπουδαστές αναπτύσσουν τις πρώτες προσαρμοσμένες κλάσεις και αντικείμενά τους στο Κεφάλαιο 3. Η παρουσίαση των κλάσεων και αντικειμένων νωρίς στους σπουδαστές τους κάνει "να σκέπτονται αμέσως με αντικείμενα" και να μάθουν αυτές τις έννοιες με μεγαλύτερη πληρότητα. Αναδιατάξαμε την παρουσίασή μας για τις δομές δεδομένων. Αρχίζουμε τώρα με τη γενική κλάση ArrayList στο Κεφάλαιο 7. Επειδή οι σπουδαστές θα καταλάβουν τόσο νωρίς στο βιβλίο τις βασικές γενικές έννοιες, οι επόμενες συζητήσεις μας για τις δομές δεδομένων παρέχουν ένα βαθύτερο χειρισμό των γενικών συλλογών, δείχνοντας πώς να χρησιμοποιούν τις ενσωματωμένες συλλογές του Java API. Παρουσιάζουμε έπειτα πώς να υλοποιούν γενικές μεθόδους και κλάσεις. Τέλος, δείχνουμε πώς να δημιουργούν προσαρμοσμένες γενικές δομές δεδομένων. Προσθέσαμε το Java Web Start και το Java Network Launch Protocol (JNLP), τα οποίοι επιτρέπουν και σε applet και σε εφαρμογές να ξεκινούν μέσω ενός Web browser. Επιπλέον, ο χρήστης μπορεί να τα εγκαταστήσει ως συντομεύσεις στην επιφάνεια εργασίας προκειμένου να τα εκτελεί στο μέλλον χωρίς να χρειάζεται να επισκεφθεί πάλι τον δικτυακό τόπο. Τα προγράμματα μπορούν επίσης να ζητούν την άδεια του χρήστη για πρόσβαση σε τοπικούς πόρους συστημάτων, όπως σε αρχεία επιτρέποντάς σας να αναπτύσσετε πιο δυνατά applet και εφαρμο- 00_JAVA_DEITEL(arxika).indd xxii 10/3/2010 1:10:56 μμ

23 ΠΡΟΛΟΓΟΣ xxiii γές που εκτελούνται με ασφάλεια χρησιμοποιώντας το μοντέλο ασφάλειας sandbox της Java, το οποίο εφαρμόζεται σε κώδικα που έχει κατέβει από το Internet. Αναδιατάξαμε αρκετά κεφάλαια για να διευκολύνουμε τη διδασκαλία του βιβλίου σε ενότητες. Το διάγραμμα εξαρτήσεων (σελίδα xxx) ενημερώθηκε, ώστε να απεικονίζει τη νέα τμηματοποίηση. Έχουμε προσθέσει πολλές συνδέσεις σε online τεκμηρίωση όπου οι σπουδαστές μπορούν να μάθουν περισσότερα για μια κλάση ή για ένα θέμα. Και έχουμε προσθέσει πολλές συνδέσεις στα Deitel Resource Centers μας που σχετίζονται με την Java που είναι διαθέσιμα στην διεύθυνση Το Κεφάλαιο 7 καλύπτει τώρα την κλάση Arrays που περιέχει μεθόδους για εκτέλεση συνηθισμένων χειρισμών πινάκων και την κλάση ArrayList που υλοποιεί μια δομή δεδομένων σαν πίνακα που αλλάζει δυναμικά μέγεθος. Αυτό ακολουθεί τη φιλοσοφία μας της χρησιμοποίησης υπαρχουσών κλάσεων πριν μάθετε πώς να ορίζετε τις δικές σας κλάσεις. Παρουσιάζουμε τώρα την κλάση BigInteger για αυθαίρετα μεγάλες τιμές ακέραιων αριθμών στο Κεφάλαιο 18. Βελτιώσαμε προσεκτικά όλα τα κεφάλαια με εστίαση στην μεγαλύτερη σαφήνεια και απλότητα, απαλείφοντας τους πλεονασμούς, μειώνοντας τον αριθμό των σελίδων (αυτή η νέα έκδοση είναι κατά 90 σελίδες πιο σύντομη από την προηγούμενη), και βελτιώνοντας την παιδαγωγική και αρθρωτή οργάνωση. Έχουμε αντικαταστήσει όλες τις χρήσεις της StringTokenizer με τη συνιστώμενη String μέθοδο split σ' όλο το βιβλίο. Η κλάση StringTokenizer εξακολουθεί να συζητείται, βασικά για την προς τα πίσω συμβατότητα με κληροδοτούμενο κώδικα. Περιλαμβάνουμε μια αλφαβητική λίστα των σημαντικών όρων που ορίζονται σε κάθε κεφάλαιο με τον αριθμό της σελίδας στην οποία ορίζεται. Οι ορισμοί τονίζονται επίσης και στο ευρετήριο με έντονο αριθμό σελίδων. Όλα αυτά έχουν προσεκτικά εξεταστεί από μια ομάδα 24 διακεκριμένων ακαδημαϊκών και προγραμματιστών οι οποίοι δούλεψαν μαζί μας σε αυτό το βιβλίο. Θεωρούμε ότι αυτό το βιβλίο και τα υλικά υποστήριξής του περιέχουν όλα όσα χρειάζονται εκπαιδευτικοί και σπουδαστές για μία πληροφοριακή, ενδιαφέρουσα, προκλητική και διασκεδαστική εκπαιδευτική εμπειρία στην Java. Παρέχουμε αρκετό βοηθητικό υλικό που θα βοηθήσει τους εκπαιδευτικούς να μεγιστοποιήσουν την εμπειρία εκμάθησης των σπουδαστών τους. Καθώς διαβάζετε αυτό το βιβλίο, αν έχετε ερωτήσεις, στείλτε ένα στην διεύθυνση deitel@ deitel.com. Θα σας απαντήσουμε γρήγορα. Για ενημερώσεις γι' αυτό το βιβλίο και τη κατάσταση όλου του υποστηρικτικού λογισμικού της Java, και για νεότερες ειδήσεις για όλες τις δημοσιεύσεις και υπηρεσίες της Deitel, επισκεφθείτε τον δικτυακό τόπο μας στην διεύθυνση Εγγραφείτε στην διεύθυνση για το δωρεάν ηλεκτρονικό περιοδικό Deitel Buzz Online και να ελέγχετε την όλο και αυξανόμενη λίστα μας για την Java και τα σχετικά Resource Centers μας στην διεύθυνση Κάθε εβδομάδα αναγγέλλουμε τα τελευταία Resource Centers μας στο ηλεκτρονικό περιοδικό. Άλλες Λειτουργίες Άλλες λειτουργίες αυτού του βιβλίου περιλαμβάνουν: Ελέγξαμε την παρουσίαση ως προς τις συστάσεις του ACM/LIEEE και του Computer Science Advanced Placement Examination. Η παρουσίαση των αρχικών κλάσεων και αντικειμένων περιέχει μελέτες περίπτωσης των κλάσεων Time, Employee και GradeBook, που αναπτύσσονται σε πολλές ενότητες και κεφάλαια, παρουσιάζοντας σταδιακά βαθύτερες έννοιες του αντικειμενοστραφούς προγραμματισμού. 00_JAVA_DEITEL(arxika).indd xxiii 10/3/2010 1:10:56 μμ

24 xxiv Java Προγραμματισμός Οι καθηγητές που διδάσκουν εισαγωγικά μαθήματα έχουν μια ευρεία επιλογή από GUI και γραφικά που μπορούν να καλύψουν από κανένα, έως μια εισαγωγική σειρά δέκα συνοπτικών ενοτήτων, και έως μια βαθύτερη κάλυψη στα Κεφάλαια 14, 15 και 25 και το Παράρτημα Ι. Οι παρουσιάσεις μας για τον αντικειμενοστραφή προγραμματισμό και σχεδίαση χρησιμοποιούν την UML (Unified Modeling Language ) την τυπική γραφική γλώσσα για μοντελοποίηση αντικειμενοστραφών συστημάτων. Παρέχουμε διάφορες ουσιαστικές αντικειμενοστραφείς μελέτες περίπτωσης Web προγραμματισμού. Το Κεφάλαιο 28, καλύπτει το JDBC 4 και χρησιμοποιεί τα συστήματα διαχείρισης βάσεων δεδομένων Java DB / Apache Derby και MySQL. Το κεφάλαιο περιλαμβάνει μια αντικειμενοστραφή μελέτη περίπτωσης για την ανάπτυξη ενός βιβλίου διευθύνσεων βασισμένο σε μία βάση δεδομένων που παρουσιάζει τις έτοιμες προτάσεις και την αυτόματη ανακάλυψη προγραμμάτων οδήγησης του JDBC 4. Το Κεφάλαιο 29 και το Κεφάλαιο 30, παρουσιάζουν την τεχνολογία JavaServer Faces (JSF) και την χρησιμοποιούν με το Netbeans 6.5 ώστε να δημιουργήσουν Web εφαρμογές γρήγορα και εύκολα. Το Κεφάλαιο 29 περιλαμβάνει παραδείγματα για την δημιουργία Web εφαρμογών GUI, χειρισμό συμβάντων, επικύρωση φορμών και παρακολούθηση συνόδου. Το Κεφάλαιο 30 συζητά την ανάπτυξη Ajax Web εφαρμογών, χρησιμοποιώντας την τεχνολογία JavaServer Faces. Το κεφάλαιο χρησιμοποιεί μια πολυεπίπεδη εφαρμογή Web βιβλίου διευθύνσεων καθοδηγούμενη από μία βάση δεδομένων που επιτρέπει στους χρήστες να προσθέτουν και να αναζητούν επαφές. Αυτή η Ajax εφαρμογή παρέχει στον αναγνώστη μια ωραία αίσθηση της ανάπτυξης Web 2.0 λογισμικού. Αυτή η εφαρμογή χρησιμοποιεί Ajax JSF συστατικά για να προτείνει ονόματα επαφών ενώ ο χρήστης πληκτρολογεί ένα όνομα που θέλει να βρει. Το Κεφάλαιο 31, χρησιμοποιεί μια προσέγγιση βασισμένη σε εργαλεία για την δημιουργία και κατανάλωση Web υπηρεσιών βασισμένων σε SOAP και REST. Οι μελέτες περίπτωσης περιλαμβάνουν την ανάπτυξη Web υπηρεσιών για το παιχνίδι "21" (blackjack) και για ένα σύστημα κράτησης θέσεων για αεροπορική εταιρεία. Χρησιμοποιούμε μια νέα προσέγγιση βασισμένη σε εργαλεία για την γρήγορη ανάπτυξη Web εφαρμογών. Όλα τα εργαλεία είναι διαθέσιμα δωρεάν για να τα κατεβάσετε. Παρέχουμε πάνω από 100 Resource Centers ( για να υποστηρίξουμε τους ακαδημαϊκούς και επαγγελματικούς αναγνώστες μας. Τα θέματά τους περιλαμβάνουν τα Java SE 6, Java, Java Assessment and Certification, Java Design Patterns, Java EE 5, Code Search Engines and Code, Game Programming, Programming Projects και πολλά άλλα. Εγγραφείτε στον δικτυακό τόπο για να λαβαίνετε μέσω ηλεκτρονικού ταχυδρομείου το δωρεάν περιοδικό Deitel Buzz Online κάθε εβδομάδα αναγγέλλουμε τα τελευταία Resource Center μας και περιλαμβάνουμε άλλα στοιχεία ενδιαφέροντος για τους αναγνώστες μας. Συζητάμε βασικές έννοιες της τεχνολογίας του λογισμικού, όπως το Web 2.0, το Ajax, το SaaS (Software as a Service), Web υπηρεσίες, λογισμικό ανοικτού κώδικα, μοτίβα σχεδίασης, mashup, γρήγορη ανάπτυξη λογισμικού, γρήγορη διαμόρφωση πρωτοτύπων κ.ά. Αλλάξαμε εντελώς το Κεφάλαιο 26 [ειδικές ευχαριστίες πηγαίνουν στους Brian Goetz και Joseph Bowbeer, συνεργαζόμενους συγγραφείς στην Java Concurrency in Practice, Addison-Wesley, 2006]. Συζητάμε την κλάση SwingWorker για ανάπτυξη πολυνηματικών περιβαλλόντων χρήστη. Συζητάμε τον διαχειριστή σχεδίασης GroupLayout στα πλαίσια του εργαλείου σχεδίασης GUI στο NetBeans IDE. 00_JAVA_DEITEL(arxika).indd xxiv 10/3/2010 1:10:56 μμ

25 ΠΡΟΛΟΓΟΣ xxv Παρουσιάζουμε τις δυνατότητες ταξινόμησης και φιλτραρίσματος JTable που επιτρέπουν στο χρήστη να αναδιατάσσει δεδομένα ενός JTable και να τα φιλτράρει με κανονικές εκφράσεις. Συζητάμε την κλάση StringBuilder, η οποία εκτελείται καλύτερα από την StringBuffer σε μη νηματικές εφαρμογές. Παρουσιάζουμε τους σχολιασμούς, οι οποίοι μειώνουν κατά πολύ την ποσότητα του κώδικα που πρέπει να γράψετε για να δημιουργήσετε εφαρμογές. Προαιρετική Μελέτη Περίπτωσης: Χρήση της UML 2.0 για Ανάπτυξη μιας Αντικειμενοστραφούς Σχεδίασης ενός ATM Η UML 2 έχει γίνει η προτιμώμενη γλώσσα γραφικής μοντελοποίησης για την σχεδίαση αντικειμενοστραφών συστημάτων. Χρησιμοποιούμε UML διαγράμματα δραστηριοτήτων (κατά προτίμηση σε διαγράμματα ροής) ώστε να δείξουμε την ροή ελέγχου σε καθεμία από διάφορες προτάσεις ελέγχου της Java και χρησιμοποιούμε τα UML διαγράμματα κλάσεων για να αναπαραστήσουμε οπτικά κλάσεις και τις σχέσεις τους κληρονομικότητας. Περιλαμβάνουμε μια προαιρετική (αλλά σαφώς συνιστώμενη) μελέτη περίπτωσης για την αντικειμενοστραφή σχεδίαση χρησιμοποιώντας την UML. Η μελέτη περίπτωσης έχει αναθεωρηθεί σε πολλές εκδόσεις από μια διακεκριμένη ομάδα ακαδημαϊκών και επαγγελματιών της αντικειμενοστραφούς σχεδίασης και της UML, συμπεριλαμβανομένων κορυφαίων προσωπικοτήτων του χώρου από την Rational (τους δημιουργούς της UML) και από την Object Management Group (υπεύθυνη για την εξέλιξη της UML). Στην μελέτη περίπτωσης, σχεδιάζουμε και υλοποιούμε πλήρως το λογισμικό για ένα απλό σύστημα αυτόματων τραπεζικών συναλλαγών (ATM). Η προαιρετική μελέτη περίπτωσης στα Κεφάλαια 12 και 13 παρουσιάζουν μια προσεκτικά εξελισσόμενη εισαγωγή στην αντικειμενοστραφή σχεδίαση χρησιμοποιώντας την UML. Παρουσιάζουμε ένα απλό, συνεκτικό υποσύνολο της UML 2, και μετά καθοδηγούμε τον αναγνώστη σε μια πρώτη σχεδιαστική εμπειρία ειδικά για τους αρχάριους. Η μελέτη περίπτωσης δεν αποτελεί άσκηση, αλλά μια πλήρης εμπειρία μάθησης που καταλήγει με μία λεπτομερή ανάλυση ολόκληρου του κώδικα Java. Τα Κεφάλαια 12 και 13 βοηθούν τους σπουδαστές να αναπτύξουν μια αντικειμενοστραφή σχεδίαση ώστε να συμπληρώσουν τις αντικειμενοστραφείς έννοιες προγραμματισμού που έχουν μάθει στα Κεφάλαια 1 έως 11. Στο τέλος του Κεφαλαίου 1, παρουσιάζουμε βασικές έννοιες και ορολογία της αντικειμενοστραφούς σχεδίασης. Στο Κεφάλαιο 12, μελετούμε πιο ουσιαστικά θέματα, καθώς επιχειρούμε να λύσουμε ένα ενδιαφέρον πρόβλημα με τις τεχνικές της αντικειμενοστραφούς σχεδίασης. Αναλύουμε ένα τυπικό έγγραφο προδιαγραφών, το οποίο καθορίζει ένα σύστημα, προσδιορίζουμε τα απαραίτητα αντικείμενα για την υλοποίηση αυτού του συστήματος, προσδιορίζουμε τα χαρακτηριστικά αυτών των αντικειμένων, προσδιορίζουμε τις συμπεριφορές αυτών των αντικειμένων και προσδιορίζουμε πώς πρέπει να αλληλεπιδρούν τα αντικείμενα μεταξύ τους για να ικανοποιούν τις προδιαγραφές του συστήματος. Στο Κεφάλαιο 13, συμπεριλαμβάνουμε μια πλήρη υλοποίηση Java του αντικειμενοστραφούς συστήματος που σχεδιάσαμε στο Κεφάλαιο 12. Αυτή η μελέτη περίπτωσης θα προετοιμάσει τους σπουδαστές για τα είδη των έργων που θα αντιμετωπίσουν στην δουλειά τους. Χρησιμοποιούμε μια προσεκτικά αναπτυγμένη, σταδιακής εξέλιξης διαδικασία αντικειμενοστραφούς σχεδίασης, για να παράγουμε ένα μοντέλο UML για το ATM σύστημά μας. Απ' αυτήν την σχεδίαση, παράγουμε μια ουσιαστική, λειτουργική υλοποίηση Java χρησιμοποιώντας βασικές έννοιες αντικειμενοστραφούς προγραμματισμού, συμπεριλαμβάνοντας κλάσεις, αντικείμενα, ενσωμάτωση, ορατότητα, σύνθεση, κληρονομικότητα και πολυμορφισμό. ιάγραμμα Εξαρτήσεων Το διάγραμμα στην επόμενη σελίδα απεικονίζει τις εξαρτήσεις μεταξύ των κεφαλαίων για να βοηθήσουμε τους καθηγητές να δημιουργήσουν την ύλη τους. Το βιβλίο αυτό είναι κατάλληλο για διάφορα μαθήματα προγραμματισμού σε διάφορα επίπεδα και περισσότερο για μαθήματα Πληροφορικής και 00_JAVA_DEITEL(arxika).indd xxv 10/3/2010 1:10:56 μμ

26 xxvi Java Προγραμματισμός ιάγραμμα Εξαρτήσεων Κεφαλαίων [Σημείωση: Τα βέλη που δείχνουν σε ένα κεφάλαιο υποδεικνύουν τις εξαρτήσεις αυτού του κεφαλαίου. Μερικά κεφάλαια έχουν πολλαπλές εξαρτήσεις]. Εισαγωγή 1 Εισαγωγή στους Υπολογιστές, το Internet & το World Wide Web Εισαγωγή στον Προγραμματισμό, Κλάσεις και Αντικείμενα 2 Εισαγωγή σε Εφαρμογές Java (Προαιρετικό) Γραφικό Περιβάλλον και Γραφικά 3.9 Χρήση Παραθύρων ιαλόγου 4.14 ημιουργία Απλών Σχεδίων 5.10 Σχεδίαση Ορθογωνίων και Ελλείψεων Αντικειμενοστραφής Προγραμματισμός 8 Κλάσεις και Αντικείμενα: Μια Βαθύτερη ιερεύνηση 9 Αντικειμενοστραφής Προγραμματισμός: Κληρονομικότητα 3 Εισαγωγή σε Κλάσεις και Αντικείμενα Προτάσεις Ελέγχου, Μέθοδοι και Πίνακες 4 Προτάσεις Ελέγχου: Μέρος 1 5 Προτάσεις Ελέγχου: Μέρος 2 6 Μέθοδοι: Μια Βαθύτερη ιερεύνηση 6.13 Χρώματα και Σχήματα με Γέμισμα 7.15 Σχεδίαση Τόξων 8.16 Χρήση Αντικειμένων με Γραφικά 9.8 Εμφάνιση Κειμένου και Εικόνων με Χρήση Ετικετών 10 Αντικειμενοστραφής Προγραμματισμός: Πολυμορφισμός 7 Πίνακες και Λίστες Πινάκων 10.8 Σχεδίαση με Πολυμορφισμό 11 Χειρισμός Εξαιρέσεων Αντικειμενοστραφής Σχεδίαση με την UML 12 (Προαιρετικό) Αντικειμενοστραφής Σχεδίαση με την UML 13 (Προαιρετικό) Υλοποίηση μιας Αντικειμενοστραφούς Σχεδίασης ομές εδομένων 18 Αναδρομή 1 Συμβολοσειρές και Αρχεία 16 Συμβολοσειρές, Χαρακτήρες και Κανονικές Εκφράσεις 17 Αρχεία, Ροές και Σειριακή Επεξεργασία Αντικειμένων Πολυνηματισμός και ικτύωση 26 Πολυνηματισμός 2 GUI, Γραφικά, Applet και Πολυμέσα 14 Συστατικά Γραφικού Περιβάλλοντος: Μέρος 1 15 Γραφικά και Java 2D 23 Τα Applet και το Java Web Start 24 Πολυμέσα: Applet και Εφαρμογές 27 ικτύωση 3 25 Συστατικά GUI: Μέρος 2 19 Αναζήτηση, Ταξινόμηση και το Μεγάλο Ο 20 Γενικές Συλλογές 21 Γενικεύσεις 22 Προσαρμοσμένες Γενικές ομές εδομένων Τοπική και Web Ανάπτυξη Εφαρμογών με Βάσεις εδομένων 28 Προσπέλαση Βάσεων εδομένων με το JDBC 4 29 JSF και Web Εφαρμογές 30 Web Εφαρμογές JavaServer Faces με Ajax 31 Web Υπηρεσίες 1. Το Κεφάλαιο 18 βασίζεται στα Κεφάλαια 14 και 15 για το GUI και τα γραφικά που χρησιμοποιούνται σε ένα παράδειγμα. 2. Το Κεφάλαιο 26 βασίζεται στο Κεφάλαιο 14 για το GUI που χρησιμοποιείται σ' ένα παράδειγμα και στα Κεφάλαια για ένα παράδειγμα. 3. Το Κεφάλαιο 27 βασίζεται στο Κεφάλαιο 23 για ένα παράδειγμα που χρησιμοποιεί applet. Η μεγάλη μελέτη περίπτωσης στο τέλος αυτού του κεφαλαίου εξαρτάται από το Κεφάλαιο 25 για το GUI και από το Κεφάλαιο 26 για τον πολυνηματισμό. 4. Το Κεφάλαιο 28 βασίζεται στο Κεφάλαιο 14 για το GUI που χρησιμοποιείται σ' ένα παράδειγμα. 00_JAVA_DEITEL(arxika).indd xxvi 10/3/2010 1:10:56 μμ

27 ΠΡΟΛΟΓΟΣ xxvii για εισαγωγικά μαθήματα σε σχετικές ειδικότητες. Το βιβλίο έχει μια σαφή, αρθρωτή οργάνωση. Τα Κεφάλαια 1 11 και σχηματίζουν μια στοιχειώδη ακολουθία προγραμματισμού με μια καλή εισαγωγή στον αντικειμενοστραφή προγραμματισμό. Τα προαιρετικά Κεφάλαια σχηματίζουν μια εισαγωγή στην αντικειμενοστραφή σχεδίαση σχέδιο με την UML. Το GUI και το Graphics Track και τα Κεφάλαια 14, 15, 23, 24 και 25 σχηματίζουν μια ουσιαστική ακολουθία GUI, γραφικών και πολυμέσων. Τα Κεφάλαια σχηματίζουν μια ωραία ακολουθία δομής δεδομένων. Τα Κεφάλαια σχηματίζουν μια καλή εισαγωγή στον πολυνηματισμό και στην δικτύωση με το Internet. Τα Κεφάλαια σχηματίζουν μια σαφή ακολουθία Web ανάπτυξης με βάσεις δεδομένων. Βοήθεια για την ιδακτέα Ύλη Πολύ ευχαρίστως θα βοηθήσουμε εκπαιδευτικούς που σχεδιάζουν την διδακτέα ύλη τους με βάση αυτό το βιβλίο. Μπορούν να έρθουν σε επαφή μαζί μας μέσω ηλεκτρονικού ταχυδρομείου (deitel@ deitel.com). Θα σας απαντήσουμε σύντομα. Προσέγγιση ιδασκαλίας Αυτό το βιβλίο περιέχει μια πλούσια συλλογή παραδειγμάτων ενδιαφέροντα πραγματικά προβλήματα. Το βιβλίο επικεντρώνεται στις αρχές της καλής μηχανικής λογισμικού και επιμένει στην σαφήνεια των προγραμμάτων. ιδάσκουμε με παραδείγματα. Είμαστε εκπαιδευτικοί που διδάσκουμε γλώσσες προγραμματισμού και θέματα αιχμής σχετικά με λογισμικό σε κυβερνητικές, επιχειρηματικές, στρατιωτικές και ακαδημαϊκές ομάδες σ' όλον τον κόσμο. Προσέγγιση Live-Code Αυτό το βιβλίο, είναι γεμάτο με παραδείγματα Live-Code. Με αυτό εννοούμε ότι κάθε νέα έννοια παρουσιάζεται στο πλαίσιο μιας πλήρως λειτουργικής εφαρμογής Java, που αμέσως ακολουθείται από μία ή περισσότερες εκτελέσεις που δείχνουν τις εισόδους και εξόδους του προγράμματος. Επισήμανση Κώδικα. Τονίζουμε σε έντονα τα πιο σημαντικά τμήματα του κώδικα. Χρησιμοποίηση Γραμματοσειρών για Έμφαση. Τοποθετούμε τους βασικούς όρους και την αναφορά στην σελίδα του ευρετηρίου για κάθε ορισμό σε έντονη γραφή για ευκολότερη αναφορά. ίνουμε έμφαση σε συστατικά της οθόνης με έντονη γραμματοσειρά Helvetica (π.χ. μενού File) και ξεχωρίζουμε το κείμενο ενός προγράμματος Java σε γραμματοσειρά μονού διαστήματος (π.χ. int x=5;). Πρόσβαση στο Web. Όλα τα παραδείγματα πηγαίου κώδικα του βιβλίου είναι διαθέσιμα για κατέβασμα από την διεύθυνση: Στόχοι. Κάθε κεφάλαιο αρχίζει με μια δήλωση των στόχων του. Αναφορές. Οι στόχοι εκμάθησης ακολουθούνται από αναφορές λόγων που έχουν πει διάφορα άτομα. Ελπίζουμε ότι θα απολαύσετε την σχέση τους με το υλικό του κεφαλαίου. Εικόνες/Σχήματα. Συμπεριλαμβάνεται πλήθος διαγραμμάτων, πίνακες, γραμμικά σχέδια, προγράμματα και έξοδος προγραμμάτων. Μοντελοποιούμε τη ροή ελέγχου σε προτάσεις ελέγχου με UML διαγράμματα δραστηριότητας. Τα διαγράμματα κλάσεων UML μοντελοποιούν τα πεδία, συναρτήσεις δη - μιουργίας και μεθόδους των κλάσεων. Κάνουμε εκτενή χρήση έξι σημαντικών UML τύπων διαγραμμάτων στην προαιρετική μελέτη περίπτωσης OOD/UML 2 του ATM. Συμβουλές Προγραμματισμού. Περιλαμβάνουμε συμβουλές προγραμματισμού ώστε να σας βοηθήσουμε να εστιάσετε σε σημαντικές πτυχές της ανάπτυξης προγραμμάτων. Αυτές οι συμβουλές και πρακτικές αντιπροσωπεύουν το καλύτερο που έχουμε σταχυολογήσει από συνδυασμένες επτά δεκαετίες εμπειρίας προγραμματισμού και διδασκαλίας. 00_JAVA_DEITEL(arxika).indd xxvii 10/3/2010 1:10:57 μμ

28 xxviii Java Προγραμματισμός Πρακτική Σωστού Προγραμματισμού Οι Πρακτικές Καλού Προγραμματισμού είναι υποδείξεις για τεχνικές που θα σας βοηθήσουν να παράγετε προγράμματα που είναι πιο σαφή, πιο κατανοητά και ευκολότερα στην συντήρηση. Συνηθισμένο Λάθος Προγραμματισμού Η επικέντρωση σ' αυτά τα Συνηθισμένα Λάθη Προγραμματισμού μειώνει τις πιθανότητες να κάνετε αυτά τα λάθη. Υπόδειξη Αποτροπής Σφάλματος Αυτές οι υποδείξεις περιέχουν συστάσεις για να βρίσκετε λάθη και να τα αφαιρείτε από τα προγράμματά σας πολλά περιγράφουν πλευρές της Java που μειώνουν τις πιθανότητες εμφάνισης σφαλμάτων σε προγράμματα. Υπόδειξη Απόδοσης Αυτές οι συμβουλές υποδεικνύουν δυνατότητες προκειμένου να κάνετε τα προγράμματα ταχύτερα ή για να ελαχιστοποιήσετε την ποσότητα της μνήμης που απαιτούν. Υπόδειξη Μεταφερσιμότητας Οι Υποδείξεις Μεταφερσιμότητας σας βοηθούν να γράφετε κώδικα που θα τρέχει σε πολλές πλατφόρμες. Παρατηρήσεις Μηχανικής Λογισμικού Οι Παρατηρήσεις Μηχανικής Λογισμικού τονίζουν αρχιτεκτονικά και σχεδιαστικά θέματα που επηρεάζουν την κατασκευή συστημάτων λογισμικού, ειδικά συστημάτων μεγάλης κλίμακας. Παρατηρήσεις Αισθητικής Οι Παρατηρήσεις Αισθητικής επισημαίνουν συμβάσεις στο γραφικό περιβάλλον χρήστη. Αυτές οι παρατηρήσεις βοηθούν τους σπουδαστές να σχεδιάζουν τα δικά τους γραφικά περιβάλλοντα χρήστη σε συμφωνία με τα τρέχοντα πρότυπα. Ενότητα Συμπεράσματος. Κάθε κεφάλαιο τελειώνει με μια σύντομη ενότητα συμπεράσματος που ανακεφαλαιώνει τα θέματα, τα οποία παρουσιάστηκαν και βοηθά επίσης την μετάβαση στο επόμενο κεφάλαιο. Περίληψη σε Λίστα Κουκίδων. Κάθε κεφάλαιο τελειώνει με πρόσθετα παιδαγωγικά επινοήματα. Παρουσιάζουμε μια διεξοδική περίληψη ενότητα προς ενότητα, σε στυλ λίστας κουκίδων του κεφαλαίου. Ορολογία. Συμπεριλάβαμε μια αλφαβητική λίστα των σημαντικών όρων που ορίζονται σε κάθε κεφάλαιο με τον αριθμό της σελίδας του ορισμού. Οι επαναλήψεις των ορισμών επισημαίνονται στο ευρετήριο με έντονα στον αριθμό της σελίδας. Ασκήσεις Αυτοελέγχου και Απαντήσεις. Εκτενείς ασκήσεις αυτοελέγχου και απαντήσεις περιλαμβάνονται για κατ ιδία μελέτη. Όλες οι ασκήσεις στην προαιρετική μελέτη περίπτωσης ΑΤΜ επιλύονται πλήρως. Ασκήσεις. Κάθε κεφάλαιο καταλήγει σ' ένα σύνολο ασκήσεων, συμπεριλαμβανομένων απλών υπενθυμίσεων σημαντικής ορολογίας και εννοιών, προσδιορισμού των λαθών σε δείγματα κώδικα, της σύνταξης μεμονωμένων προτάσεων, της σύνταξης μικρών τμημάτων μεθόδων και κλάσεων της Java, της σύνταξης ολοκληρωμένων μεθόδων, κλάσεων και προγραμμάτων της Java και της δημιουργίας σημαντικών έργων. Οι εκπαιδευτικοί μπορούν να χρησιμοποιήσουν αυτές τις ασκήσεις ώστε να διαμορφώσουν εργασίες για το σπίτι, σύντομα κουίζ και εξετάσεις και να αναθέτουν εργασίες. [ΣΗΜΕΙΩΣΗ: Παρακαλούμε μην μας γράφετε ζητώντας πρόσβαση στο Resource Center του Pearson Instructor. Η πρόσβαση περιορίζεται αυστηρά σε εκπαιδευτικούς κολλεγίων που διδάσκουν από το βιβλίο. 00_JAVA_DEITEL(arxika).indd xxviii 10/3/2010 1:10:57 μμ

29 ΠΡΟΛΟΓΟΣ xxix Οι εκπαιδευτικοί μπορούν να λάβουν πρόσβαση μόνο μέσω αντιπροσώπων τους στην Pearson]. Ελέγξτε το Programming Projects Resource Center ( για πολλές πρόσθετες ασκήσεις και εργασίες. Χιλιάδες Λήμματα στο Ευρετήριο. Έχουμε συμπεριλάβει ένα εκτενές ευρετήριο το οποίο είναι ιδιαίτερα χρήσιμο όταν χρησιμοποιείτε το βιβλίο ως αναφορά. Πόροι για τους Σπουδαστές που Περιλαμβάνονται σ' Αυτό το Βιβλίο Είναι διαθέσιμα πολλά εργαλεία ανάπτυξης σε Java για αγορά, αλλά δεν χρειάζεστε κανένα από αυτά για να ξεκινήσετε με την Java. Για συστήματα Windows, όλο το λογισμικό που θα χρειαστείτε γι' αυτό το βιβλίο είναι διαθέσιμο δωρεάν για κατέβασμα από το Web ή στο συνοδευτικό CD. Για άλλες πλατφόρμες, όλο το λογισμικό που θα χρειαστείτε γι' αυτό το βιβλίο είναι γενικά διαθέσιμο δωρεάν για κατέβασμα από το Web. Γράψαμε τα περισσότερα από τα παραδείγματα του βιβλίου χρησιμοποιώντας το δωρεάν Java Standard Edition Development Kit (JDK) 6. Η τρέχουσα έκδοση του JDK (και ξεχωριστά η τεκμηρίωσή της) μπορούν να κατέβουν από τον δικτυακό τόπο Java της Sun στην διεύθυνση java.sun.com/javase/downloads/index.jsp. Οι χρήστες των Mac OS Χ μπορούν να κατεβάσουν την Java από την διεύθυνση developer.apple.com/java. Σε διάφορα κεφάλαια, χρησιμοποιήσαμε επίσης το Netbeans IDE. Το Netbeans είναι διαθέσιμο μαζί με το JDK από τον δικτυακό τόπο Java της Sun, ή μπορείτε να το κατεβάσετε ξεχωριστά από την διεύθυνση org/downloads/index.html. Το Eclipse IDE μπορεί να κατέβει από την διεύθυνση org/downloads/. Την MySQL μπορείτε να την κατεβάσετε από dev.mysql.com/downloads/, και την MySQL Connector/J από την διεύθυνση dev.mysql.com/downloads/connector/j/5.1.html. Μπορείτε να βρείτε πρόσθετους πόρους και λογισμικό για κατέβασμα από Java SE 6 Resource Center μας στην διεύθυνση: Το CD που συνοδεύει το βιβλίο περιέχει εκδόσεις των παρακάτω πακέτων λογισμικού για χρήση στα Microsoft Windows : Java SE Development Kit (JDK) 6 Update 11 χρησιμοποιήθηκε για την δημιουργία και έλεγχο όλων των προγραμμάτων του βιβλίου. Eclipse IDE for Java EE Developers NetBeans IDE Version 6.5 All Bundle. MySQL 5.0 Community Server έκδοση MySQL Connector/J έκδοση Το Netbeans και το Eclipse είναι ολοκληρωμένα περιβάλλοντα ανάπτυξης (IDE) για ανάπτυξη όλων των τύπων εφαρμογών της Java. Οι MySQL και MySQL Connector/J παρέχονται για τις εφαρμογές βάσεων δεδομένων στα Κεφάλαια Όλα αυτά τα εργαλεία είναι διαθέσιμα στο Web και για άλλες πλατφόρμες επίσης, όπως συζητάμε στην ενότητα Πριν Ξεκινήσετε μετά από αυτό τον Πρόλογο. Το CD περιέχει επίσης μια ιστοσελίδα με συνδέσεις με τον δικτυακό τόπο Deitel & Associates, Inc., και τον δικτυακό τόπο της Pearson. Αυτή η ιστοσελίδα μπορεί να φορτωθεί σ' έναν Web browser για να έχετε γρήγορη πρόσβαση σ' όλους τους πόρους. Java Multimedia Cyber Classroom, 8/e Αυτό το βιβλίο περιλαμβάνει ένα δωρεάν, βασισμένο στο Web, αλληλεπιδραστικό βοήθημα βίντεο πολυμέσων για το βιβλίο το Java Multimedia Cyber Classroom, 8/e διαθέσιμο με τα νέα βιβλία που αγοράζονται από την Pearson. Το Cyber Classroom που παρέχουμε περιλαμβάνει βίντεο μ' όλα τα παραδείγματα κώδικα στα Κεφάλαια 1 11 και μερικά από τα παραδείγματα κώδικα στα Κεφάλαια 00_JAVA_DEITEL(arxika).indd xxix 10/3/2010 1:10:58 μμ

30 xxx Java Προγραμματισμός 14 και 17, λύσεις περίπου στις μισές απ' τις ασκήσεις του βιβλίου, ένα εγχειρίδιο κ.ά. Για περισσότερες πληροφορίες για τα Web Cyber Classroom μας, παρακαλώ επισκεφτείτε την διεύθυνση Στους σπουδαστές αρέσει η αλληλεπίδραση και οι δυνατότητες αναφοράς του Cyber Classroom. Οι καθηγητές μας λένε ότι οι σπουδαστές τους απολαμβάνουν το Cyber Classroom και συνεπώς αφιερώνουν περισσότερο χρόνο στα μαθήματά τους, μαθαίνοντας καλύτερα το υλικό παρά από το διάβασμα μόνο από το βιβλίο. Οι εκπαιδευτικοί μπορούν να συμπεριλάβουν κατευθείαν στην διδακτέα ύλη τους εργασίες από το Cyber Classroom. Πόροι Εκπαιδευτικών για το Βιβλίο Το Instructor s Resource Center στην Pearson περιέχει Το Solutions Manual (εγχειρίδιο των λύσεων) με λύσεις για τις περισσότερες ασκήσεις στο τέλος των κεφαλαίων, ένα Test Item File από ερωτήσεις πολλαπλών επιλογών (περίπου δύο ανά ενότητα του βιβλίου) και διαφάνειες του PowerPoint που περιέχουν όλο τον κώδικα και εικόνες του κειμένου, συν στοιχεία σε κουκκίδες που συνοψίζουν τα βασικά σημεία του κειμένου. Οι εκπαιδευτικοί μπορούν να προσαρμόσουν τις διαφάνειες. Εάν δεν είστε ήδη ένα εγγραμμένο μέλος, ελάτε σε επαφή με τον αντιπρόσωπο της Pearson ή επισκεφθείτε την διεύθυνση Μαθήματα Πληροφορικής AP Αυτό το βιβλίο είναι ένα κατάλληλο εγχειρίδιο για διδασκαλία μαθημάτων AP Computer Science και για την προετοιμασία σπουδαστών για το τεστ AP. Deitel Buzz Online ωρεάν Ενημερωτικό ελτίο Μέσω Κάθε εβδομάδα, το Deitel Buzz Online αναγγέλλει τα τελευταία Resource Center μας και περιλαμβάνει σχόλια για τις τάσεις και τις εξελίξεις του χώρου, συνδέσεις σε δωρεάν άρθρα και πόρους από τα δημοσιευμένα βιβλία μας και επερχόμενες εκδόσεις, χρονοδιαγράμματα εμφάνισης των προϊόντων μας, τυπογραφικά λάθη, προκλήσεις, ανέκδοτα, πληροφορίες για τα εταιρικά εκπαιδευτικά μαθήματά μας κ.ά. Αποτελεί επίσης ένα καλό τρόπο να μένετε ενημερωμένοι για θέματα σχετικά μ' αυτό το βιβλίο. Για να εγγραφείτε, επισκεφθείτε την διεύθυνση Τα Deitel Online Resource Center Ο δικτυακός τόπος μας στην διεύθυνση παρέχει περισσότερο από 100 Resource Center για διάφορα θέματα συμπεριλαμβανομένων γλωσσών προγραμματισμού, ανάπτυξης λογισμικού, Web 2.0, έργα ανοικτού κώδικα και Internet επιχειρήσεις δείτε τη λίστα των Resource Center στις πρώτες σελίδες αυτού του βιβλίου και επισκεφτείτε την διεύθυνση ResourceCenters.html. Τα Resource Center εξελίσσονται από την έρευνα που κάνουμε ώστε να υποστηρίξουμε τα βιβλία μας και τις επιχειρησιακές προσπάθειές μας. Έχουμε βρει πολλούς εξαιρετικούς πόρους online, συμπεριλαμβανομένων εκπαιδεύσεων, τεκμηρίωσης, λογισμικού, άρθρων, blog, podcast, βίντεο, δειγμάτων κώδικα, βιβλίων, e-βιβλίων κ.ά. τα περισσότερα είναι δωρεάν. Κάθε εβδομάδα αναγγέλλουμε τα τελευταία Resource Center μας στο ενημερωτικό δελτίο μας, το Deitel Buzz Online ( Μερικά από τα Resource Center που μπορεί να σας είναι χρήσιμα μελετώντας αυτό το βιβλίο είναι τα Java SE 6, Java, Java Assessment 00_JAVA_DEITEL(arxika).indd xxx 10/3/2010 1:10:58 μμ

31 ΠΡΟΛΟΓΟΣ xxxi and Certification, Java Design Patterns, Java EE 5, Code Search Engines and Code Sites, Game Programming, Programming Projects και πολλά άλλα. Ευχαριστίες Είναι ευχαρίστηση να αναγνωρίζουμε τις προσπάθειες ατόμων, των οποίων τα ονόματα δεν εμφανίζονται στο εξώφυλλο, αλλά των οποίων η σκληρή εργασία, η συνεργασία, η φιλία και η κατανόηση ήταν κρίσιμες για την παραγωγή του βιβλίου. Πολλοί άνθρωποι στην Deitel & Associates, Inc. αφιέρωσαν πολλές ώρες σ' αυτήν την εργασία ειδικές ευχαριστίες στις Abbey Deitel και Barbara Deitel. Θα θέλαμε επίσης να ευχαριστήσουμε τους συμμετέχοντες του Honors Internship Program που συνέβαλαν σε αυτήν την νέα έκδοση τον Nicholas Doiron, φοιτητή στο τμήμα Electrical and Computer Engineer του Carnegie Mellon University και τον Matthew Pearson, φοιτητή στο τμήμα Computer Science του Cornell University. Είμαστε τυχεροί γιατί έχουμε εργαστεί σ' αυτό το βιβλίο με την ταλαντούχο και αφοσιωμένη ομάδα των επαγγελματιών εκδόσεων της Pearson. Εκτιμάμε τις εξαιρετικές προσπάθειες των Marcia Horton, ιευθύντρια του Τμήματος Engineering and Computer Science της Pearson. Η Carole Snyder και η Dolores Mars έκαναν εξαιρετική δουλειά στην πρόσληψη της ομάδας αναθεώρησης του βιβλίου και στην διαχείριση της διαδικασίας αναθεώρησης. Ο Francesco Santalucia (ένας ανεξάρτητος καλλιτέχνης) και η Kristine Carney της Pearson έκαναν θαυμάσια εργασία στην σχεδίαση του εξώφυλλου του βιβλίου εμείς δώσαμε την ιδέα και αυτοί το υλοποίησαν. Ο Scott Disanno και ο Robert Engelhardt έκαναν εκπληκτική εργασία διαχειριζόμενοι την παραγωγή του βιβλίου. Η εμπορική διευθύντριά μας Erin Davis και η προϊστάμενος της Margaret Waples έκαναν εξαιρετική εργασία προωθώντας το βιβλίο σε ακαδημαϊκά και επαγγελματικά κανάλια. Κριτικοί του Βιβλίου Θέλουμε να ευχαριστήσουμε τις προσπάθειες των κριτικών μας. Εμμένοντας σ' ένα σφιχτό χρονο διάγραμμα, διερεύνησαν το κείμενο και τα προγράμματα και έκαναν αμέτρητες προτάσεις για βελτίωση της ακρίβειας και της πληρότητας της παρουσίασης: Κριτικοί της Sun Microsystems: Lance Andersen Soundararajan Angusamy Lawrence Prem Kumar Simon Ritter Sang Shin Alexander Zuev Ακαδημαϊκοί Κριτικοί 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) Patty Kraft (San Diego State University) Manjeet Rege, Ph.D. (Rochester Institute of Technology) Tim Margush (University of Akron) Sue McFarland Metzger (Villanova University) Shyamal Mitra (The University of Texas at Austin) Timothy Powers (University of Alaska) Susan Rodger (Duke University) Amr Sabry (Indiana University) Monica Sweat (Georgia Tech) 00_JAVA_DEITEL(arxika).indd xxxi 10/3/2010 1:10:58 μμ

32 xxxii Java Προγραμματισμός Επαγγελματικοί Κριτικοί Joseph Bowbeer (Σύμβουλος) Peter Pilgrim (Lloyds TSB) José Antonio González Seco (Βουλή της Ανδαλουσίας) S. Sivakumar (Astra Infotech Private Limited) Raghavan Rags Srinivas (Intuit) Vinod Varma (Astra Infotech Private Limited) Λοιπόν, τα έχετε όλα! Η Java είναι μια ισχυρή γλώσσα προγραμματισμού που θα σας βοηθήσει να γράψετε προγράμματα γρήγορα και αποτελεσματικά. Κλιμακώνεται ωραία για την ανάπτυξη επαγγελματικών συστημάτων και βοηθά τους οργανισμούς να δημιουργήσουν πληροφοριακά συστήματα σημαντικά για την επιχείρηση. Καθώς θα διαβάζετε το βιβλίο, θα εκτιμούσαμε ειλικρινά τα σχόλια, τις κριτικές, τις διορθώσεις και τις προτάσεις σας για το κείμενο. Παρακαλώ απευθύνετε όλη την αλληλογραφία σας στην διεύθυνση: Θα αποκριθούμε σύντομα, και θα δημοσιεύσουμε τις διορθώσεις και διευκρινίσεις στην διεύθυνση: Ελπίζουμε να απολαύσετε το διάβασμα του βιβλίου, όσο το απολαύσαμε γράφοντάς το! Paul J. Deitel Dr. Harvey M. Deitel Για τους Συγγραφείς Ο Paul J. Deitel, CEO και Chief Technical Officer της Deitel & Associates, Inc., είναι πτυχιούχος του Sloan School of Management του ΜΙΤ, όπου σπούδασε Information Technology. Έχει πιστοποιήσεις Java Certified Programmer και Java Certified Developer και έχει υποδειχθεί από την Sun Microsystems ως Java Champion. Μέσω της Deitel & Associates, Inc., έχει δώσει μαθήματα προγραμματισμού σε Java, C, C++, C#, Visual Basic και Internet σε βιομηχανικούς πελάτες, όπως οι Cisco, IBM, Sun Microsystems, Dell, Lucent Technologies, Fidelity, NASA στο ιαστημικό Κέντρο Kennedy, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, Stratus, Cambridge Technology Partners, Open Environment Corporation, One Wave, Hyperion Software, Adra Systems, Entergy, CableData Systems, Nortel Networks, Puma, irobot, Invensys και πολλά άλλα. Έχει διδάξει επίσης Java και C++ στο Boston Chapter of the Association for Computing Machinery. Αυτός και ο άλλος συγγραφέας του βιβλίου Dr. Harvey M. Deitel, είναι συγγραφείς βιβλίων πληροφορικής με τις καλύτερες διεθνώς πωλήσεις. Ο Dr. Harvey M. Deitel, Chairman και Chief Strategy Officer της Deitel & Associates, Inc., έχει 48 χρόνια εμπειρίας στο πεδίο της πληροφορικής, συμπεριλαμβανομένης εκτενούς βιομηχανικής και ακαδημαϊκής πείρας. Ο Dr. Deitel έχει B.S. και M.S. από το ΜΙΤ και Ph.D. από το Boston University. Έχει 20 χρόνια διδακτικής εμπειρίας σε κολέγια, συμπεριλαμβανομένης της θητείας και εργασίας ως Chairman of the Computer Science Department στο Boston College πριν την ίδρυση της Deitel & Associates, Inc., με τον γιο του είναι Paul J. Deitel. Μαζί με τον γιο του είναι συγγραφείς δεκάδων βιβλίων και πακέτων πολυμέσων και γράφουν πολλά ακόμη. Με μεταφράσεις στα Ιαπωνικά, Ρωσικά, Ισπανικά, Παραδοσιακά Κινέζικα, Απλά Κινέζικα, Γιαπωνέζικα, Γερμανικά, Ρωσικά, Ισπανικά, Κορεατικά, Γαλλικά, Πολωνικά, Ιταλικά, Πορτογαλικά, Ελληνικά, Ουρντού και Τουρκικά, τα κείμενα των Deitel έχουν τύχει διεθνούς αναγνώρισης. Ο Dr. Deitel έχει κάνει εκατοντάδες επαγγελματικά σεμινάρια σε μεγάλους οργανισμούς και κυβερνητικούς οργανισμούς και διαφόρους κλάδους του στρατού. 00_JAVA_DEITEL(arxika).indd xxxii 10/3/2010 1:10:58 μμ

33 ΠΡΟΛΟΓΟΣ xxxiii Για την Deitel & Associates, Inc. Η Deitel & Associates, Inc., είναι ένας διεθνώς αναγνωρισμένος οργανισμός επαγγελματικής εκπαίδευσης και δημιουργίας ύλης με ειδίκευση σε γλώσσες προγραμματισμού, στην τεχνολογία λογισμικού για το Internet και το Web τεχνολογία, εκπαίδευση σε τεχνολογία αντικειμένων και επαγγελματική ανάπτυξη για το Internet μέσω του Web 2.0 Internet Business Initiative. Η εταιρεία παρέχει μαθήματα προγραμματισμού σε γλώσσες προγραμματισμού και πλατφόρμες, όπως Java, C++, C, Visual C#, Visual Basic, Visual C++, XML, Python, τεχνολογία αντικειμένων, Internet και Web προγραμματισμό και μια μεγάλη λίστα πρόσθετων μαθημάτων σε προγραμματισμό και ανάπτυξη λογισμικού. Οι ιδρυτές της Deitel & Associates, Inc., είναι οι Paul J. Deitel και Dr. Harvey M. Deitel. Στους πελάτες της εταιρείας περιλαμβάνονται πολλές από τις μεγαλύτερες εταιρείες υπολογιστών στον κόσμο, κυβερνητικές υπηρεσίες, κλάδοι του στρατού και ακαδημαϊκοί οργανισμοί. Μέσω της 33-ετούς εκδοτικής της συνεργασίας με την Prentice Hall/Pearson, η Deitel & Associates, Inc., εκδίδει βιβλία προγραμματισμού αιχμής, επαγγελματικά βιβλία, διαλογικά πολυμέσα Cyber Classrooms, LiveLessons βασισμένα σε DVD και βίντεο μαθήματα μέσω Web και ηλεκτρονικά περιεχόμενα για δημοφιλή συστήματα διαχείρισης μαθημάτων. Μπορείτε να έρθετε σε επαφή με την Deitel & Associates, Inc. και τους συγγραφείς της μέσω στην διεύθυνση: Για να μάθετε περισσότερα για την Deitel & Associates, Inc., τις εκδόσεις της και την σειρά μαθημάτων της Dive Into Series σ' όλο τον κόσμο, επισκεφθείτε την διεύθυνση: και εγγραφείτε στο δωρεάν ενημερωτικό δελτίο μας μέσω Deitel Buzz Online στο: Τα άτομα που θέλουν να αγοράσουν βιβλία Deitel, και LiveLessons DVD και εκπαιδευτικά μαθήματα βασισμένα στο Web μπορούν να το κάνουν μέσω του Μαζικές παραγγελίες από εταιρίες, κυβερνητικές υπηρεσίες, στρατιωτικά και ακαδημαϊκά ιδρύματα θα πρέπει να γίνουν κατευθείαν στην Pearson. Για περισσότερες πληροφορίες, επισκεφτείτε την διεύθυνση com/mischtm/support.html#order. Ελέγξτε την λίστα των online Deitel Resource Center στην διεύθυνση: Τα άτομα που θέλουν να αγοράσουν εκδόσεις της Deitel μπορούν να το κάνουν μέσω της διεύθυνσης: Μαζικές παραγγελίες από εταιρίες, από την κυβέρνηση, από στρατιωτικά και ακαδημαϊκά ιδρύματα θα πρέπει να γίνουν κατευθείαν στην Pearson. Για περισσότερες πληροφορίες, ανατρέξτε στην διεύθυνση 00_JAVA_DEITEL(arxika).indd xxxiii 10/3/2010 1:10:58 μμ

34 00_JAVA_DEITEL(arxika).indd xxxiv 10/3/2010 1:10:58 μμ

35 Πριν Ξεκινήσετε Αυτή η ενότητα περιέχει πληροφορίες που θα πρέπει να δείτε πριν χρησιμοποιήσετε αυτό το βιβλίο. Θα δημοσιεύσουμε ενημερώσεις (αν υπάρξουν) στην ενότητα Before You Begin στον δικτυακό τόπο του βιβλίου στην διεύθυνση Συμβάσεις Γραμματοσειρών και Ονομάτων Χρησιμοποιούμε γραμματοσειρές για να ξεχωρίζουμε συστατικά στην οθόνη (όπως ονόματα μενού και επιλογές μενού) και τον κώδικα ή τις εντολές της Java. Η σύμβασή μας είναι να δίνουμε έμφαση σε συστατικά στην οθόνη με έντονη γραμματοσειρά Helvetica (π.χ. μενού Αρχείο) και να δίνουμε έμφαση στον κώδικα και τις εντολές Java με γραμματοσειρά Courier (για παράδειγμα System. out.println()). Απαιτήσεις Λογισμικού και Υλικού Το περιβάλλον των περιεχομένων του CD που συνοδεύει αυτό το βιβλίο έχει σχεδιασθεί ώστε να ξεκινά αυτόματα μέσω του αρχείου AUTORUN.EXE (το CD είναι για χρήση σε συστήματα Microsoft Windows ). Εάν δεν εμφανισθεί η οθόνη εκκίνησης όταν εισάγετε το CD στον υπολογιστή σας, κάντε διπλό κλικ στο αρχείο welcome.htm για να ξεκινήσετε το περιβάλλον του CD Student, ή δείτε το αρχείο readme.txt στο CD. Στη σελίδα welcome.htm, κάντε κλικ στη σύνδεση Software στο κάτω μέρος της σελίδας για να δείτε τις απαιτήσεις του συστήματος σε λογισμικό και υλικό. Παρακαλώ διαβάστε αυτές τις απαιτήσεις προσεκτικά πριν εγκαταστήσετε το λογισμικό που είναι στο CD. Το CD που συνοδεύει το βιβλίο περιλαμβάνει εκδόσεις των παρακάτω πακέτων λογισμικού για χρήση στα Microsoft Windows : Java SE Development Kit (JDK) 6 Update 11 χρησιμοποιήθηκε για την δημιουργία και έλεγχο όλων των προγραμμάτων του βιβλίου. Eclipse IDE for Java EE Developers NetBeans IDE Version 6.5 All Bundle. MySQL 5.0 Community Server/v MySQL Connector/J Version Το Netbeans και and Eclipse είναι ολοκληρωμένα περιβάλλοντα ανάπτυξης (IDE) για ανάπτυξη όλων των τύπων εφαρμογών της Java. Η MySQL και η MySQL Connector/J παρέχονται για τις εφαρμογές βάσεων δεδομένων στα Κεφάλαια Όλα αυτά τα εργαλεία μπορούν να κατέβουν για άλλες πλατφόρμες επίσης, πράγμα που συζητάμε στην επόμενη ενότητα. 00_JAVA_DEITEL(arxika).indd xxxv 10/3/2010 1:10:58 μμ

Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΟΓ ΟΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc.

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 Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου

Διαβάστε περισσότερα

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

Περιεχόµενα. Πρόλογος...15 Περιεχόµενα Πρόλογος...15 Κεφάλαιο 1: Εισαγωγή...17 Τι είναι η Java... 17 Η ιστορία της Java... 21 Εκδόσεις της Java... 23 Ξεκίνηµα µε την Java... 24 Το περιβάλλον της γλώσσας... 28 ηµιουργία µιας εφαρµογής

Διαβάστε περισσότερα

Java ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΕΚΑΤΗ ΕΚ ΟΣΗ. Deitel & Associates, Inc. Deitel & Associates, Inc.

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 Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής

Διαβάστε περισσότερα

Οδηγός των Ελληνικών Microsoft WINDOWS 7

Οδηγός των Ελληνικών Microsoft WINDOWS 7 Οδηγός των Ελληνικών Microsoft WINDOWS 7 Chris Fehily Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2010 www.mgiurdas.gr Τίτλος

Διαβάστε περισσότερα

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

Περιεχόμενα. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Ορισμός βασικής ορολογίας προγραμματισμού 26 Σύγκριση διαδικαστικού και αντικειμενοστρεφούς προγραμματισμού 29 Διαδικαστικός προγραμματισμός 29

Διαβάστε περισσότερα

Acrobat 9. Adobe. Βήμα προς Βήμα. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά

Acrobat 9. Adobe. Βήμα προς Βήμα. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά Adobe Acrobat 9 Βήμα προς Βήμα Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2009 www.mgiurdas.gr Τίτλος Πρωτοτύπου:

Διαβάστε περισσότερα

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

Περιεχόμενα. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Εκμάθηση ορολογίας προγραμματισμού 26 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς 29 Διαδικαστικός προγραμματισμός 29 Αντικειμενοστραφής

Διαβάστε περισσότερα

HTML5, CSS και JavaScript

HTML5, CSS και JavaScript Μάθετε HTML5, CSS και JavaScript Όλα σε Ένα 2 Η ΕΚ ΟΣΗ Julie C. Meloni Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:

Διαβάστε περισσότερα

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

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13 Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...

Διαβάστε περισσότερα

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

Διαβάστε περισσότερα

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές

Διαβάστε περισσότερα

PHP, MySQL. και Apache Όλα σε Ένα. Μάθετε. Εκδόσεις: Μ. Γκιούρδας. Julie C. Meloni. 5 η Έκδοση

PHP, MySQL. και Apache Όλα σε Ένα. Μάθετε. Εκδόσεις: Μ. Γκιούρδας. Julie C. Meloni. 5 η Έκδοση Μάθετε PHP, MySQL και Apache Όλα σε Ένα Julie C. Meloni 5 η Έκδοση Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:

Διαβάστε περισσότερα

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

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

Διαβάστε περισσότερα

Adobe Dreamweaver CS3

Adobe Dreamweaver CS3 i Adobe Dreamweaver CS3 Βήμα προς Βήμα Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2007 www.mgiurdas.gr Τίτλος Πρωτοτύπου:

Διαβάστε περισσότερα

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο

Διαβάστε περισσότερα

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

Περιεχόμενα. Περιεχόμενα Περιεχόμενα 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 Εκφράσεις...

Διαβάστε περισσότερα

Adobe FLASH Professional CC

Adobe FLASH Professional CC Adobe FLASH Professional CC ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr Τίτλος Πρωτοτύπου:

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Διαδικτυακές Εφαρμογές Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Προγραμματισμός για το Web

Προγραμματισμός για το Web Πίνακας Περιεχομένων iii Προγραμματισμός για το Web Όλα όσα πρέπει να γνωρίζετε Randy Connolly Mount Royal University, Calgary Ricardo Hoar Mount Royal University, Calgary Απόδοση: Αγαμέμνων Μήλιος Μηχανικός

Διαβάστε περισσότερα

Dreamweaver. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού

Dreamweaver. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Adobe Dreamweaver CC ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr Τίτλος Πρωτοτύπου: Adobe

Διαβάστε περισσότερα

PHP, MySQL. Μάθετε. και Apache. Όλα σε Ένα. Εκδόσεις: Μ. Γκιούρδας. 4 η Έκδοση. Julie C. Meloni

PHP, MySQL. Μάθετε. και Apache. Όλα σε Ένα. Εκδόσεις: Μ. Γκιούρδας. 4 η Έκδοση. Julie C. Meloni Μάθετε PHP, MySQL και Apache Όλα σε Ένα Julie C. Meloni 4 η Έκδοση Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.:

Διαβάστε περισσότερα

ActionScript 3.0 για το Adobe Flash. CS5 Professional ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Χρυσούλα Απ. Κουτρούμπα Ηλεκτρ.

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

Διαβάστε περισσότερα

Μάθετε την. HTML και CSS. σε 24 Ώρες

Μάθετε την. HTML και CSS. σε 24 Ώρες Μάθετε την HTML και CSS σε 24 Ώρες _ARXIKA_24HTML.indd i 1/7/2010 3:27:35 μμ _ARXIKA_24HTML.indd ii 1/7/2010 3:27:35 μμ Μάθετε την HTML και CSS σε 24 Ώρες Julie Meloni Michael Morrison Απόδοση: Μαίρη Γκλα

Διαβάστε περισσότερα

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

Περιεχόμενα ΜΕΡΟΣ 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 Εξοικείωση

Διαβάστε περισσότερα

HTML. και CSS. Μάθετε την. σε 24 Ώρες. Εκδόσεις: Μ. Γκιούρδας. Julie Meloni Michael Morrison. Απόδοση: Μαίρη Γκλα βά

HTML. και CSS. Μάθετε την. σε 24 Ώρες. Εκδόσεις: Μ. Γκιούρδας. Julie Meloni Michael Morrison. Απόδοση: Μαίρη Γκλα βά Μάθετε την HTML και CSS σε 24 Ώρες Julie Meloni Michael Morrison Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα,

Διαβάστε περισσότερα

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

Πρόλογος... 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 Εξοικείωση με το περιβάλλον

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

CS4 Professional. ActionScript 3.0 για το Adobe Flash. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά

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

Διαβάστε περισσότερα

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

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Java Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7 Περιεχόμενα 1 Εισαγωγικές Έννοιες...12 1.1 Το Αντικείμενο στην καθημερινότητα...12 1.2 Το Αντικείμενο στον Προγραμματισμό...12 1.3 Επικοινωνία αντικειμένων...13 1.4 Κλάση (class) αντικειμένων...14 1.4.1

Διαβάστε περισσότερα

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

Τίτλος Πακέτου Certified Computer Expert-ACTA Κωδικός Πακέτου ACTA - CCE - 002 Τίτλος Πακέτου Certified Computer Expert-ACTA Εκπαιδευτικές Ενότητες Επεξεργασία Κειμένου - Word Δημιουργία Εγγράφου Προχωρημένες τεχνικές επεξεργασίας κειμένου & αρχείων

Διαβάστε περισσότερα

Προγραμματίζετε. Μάθετε να. σε 24 Ώρες. Εκδόσεις: Μ. Γκιούρδας. 3 η ΕΚ ΟΣΗ. Greg Perry Dean Miller. Απόδοση: Γιάννης Β. Σαμαράς

Προγραμματίζετε. Μάθετε να. σε 24 Ώρες. Εκδόσεις: Μ. Γκιούρδας. 3 η ΕΚ ΟΣΗ. Greg Perry Dean Miller. Απόδοση: Γιάννης Β. Σαμαράς Μάθετε να Προγραμματίζετε σε 24 Ώρες 3 η ΕΚ ΟΣΗ Greg Perry Dean Miller Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 Τηλ.:

Διαβάστε περισσότερα

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

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13 Περιεχόμενα Πρόλογος... 5 Κεφάλαιο 1. Βασικά Στοιχεία της Java.... 13 Τύποι Δεδομένων, Μεταβλητές και Πίνακες... 13 Τελεστές και Δομές Επιλογής Επανάληψης... 16 Κλάσεις και Μέθοδοι... 21 Πακέτα και Διασυνδέσεις...

Διαβάστε περισσότερα

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ Χρήστος Στασινός ουλεύοντας με τη Microsoft Access ΑΘΗΝΑ Κάθε γνήσιο αντίγραφο έχει την υπογραφή του συγγραφέα Έκδοση 1η, Copyright 1998 Έκδοση 2η, Copyright 2007 ISBN: 978-960-8105-97-3 ΕΚΔΟΣΕΙΣ ΝΕΩΝ

Διαβάστε περισσότερα

Photoshop CC. Adobe ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc.

Photoshop CC. Adobe ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Adobe Photoshop CC ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2014 www.mgiurdas.gr

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Γλώσσες Προγραμματισμού Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

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

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της

Διαβάστε περισσότερα

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό (Hardware) - Λογισµικό (Software) 23 Ιστορική Εξέλιξη

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό (Hardware) - Λογισµικό (Software) 23 Ιστορική Εξέλιξη Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Μαθαίνετε Εύκολα Microsoft Office 2003 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό (Hardware) - Λογισµικό

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.

Διαβάστε περισσότερα

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

Certified Java Programmer (CJP)

Certified Java Programmer (CJP) Certified Java Programmer (CJP) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά τα

Διαβάστε περισσότερα

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

Διαβάστε περισσότερα

JAVA 8 Ο ΗΓΟΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΤΡΙΤΗ ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος

JAVA 8 Ο ΗΓΟΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ. Paul Deitel. Harvey Deitel. Εκδόσεις: Μ. Γκιούρδας ΤΡΙΤΗ ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος JAVA 8 Ο ΗΓΟΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ ΤΡΙΤΗ ΕΚ ΟΣΗ Paul Deitel Deitel & Associates, Inc. Harvey Deitel Deitel & Associates, Inc. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου

Διαβάστε περισσότερα

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή...15 Κεφάλαιο 1: Εγκατάσταση της Access 2002...17 Τι είναι το Office XP;...17 Τεχνικές απαιτήσεις του Office XP...17 Πρόσθετα απαιτούμενα για την αξιοποίηση εξειδικευμένων χαρακτηριστικών...18

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΑ. 2.5.1 attributes 2.5.2 parameters

ΚΕΦΑΛΑΙΑ. 2.5.1 attributes 2.5.2 parameters Vellum Object Oriented Programming - Java Certificate Πιστοποιητικό ανάπτυξης εφαρµογών αντικειµενοστραφούς προγραµµατισµού µε την γλώσσα Java Vellum Global Educational Services Σελίδα 1 από 1 Vellum Object

Διαβάστε περισσότερα

Σχεδίαση Λογισμικού. Σημείωση

Σχεδίαση Λογισμικού. Σημείωση Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

Περιεχόµενα. 1 Tο βιβλίο "µε µια µατιά" Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access...

Περιεχόµενα. 1 Tο βιβλίο µε µια µατιά Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access... Περιεχόµενα Ευχαριστίες... 11 1 Tο βιβλίο "µε µια µατιά"...13 Χωρίς τεχνικούς όρους!... 13 Σύντοµη παρουσίαση... 14 Μερικές συµβάσεις... 16 Μία τελευταία λέξη (ή και δύο)... 16 2 Εισαγωγή στη Microsoft

Διαβάστε περισσότερα

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή - Βασικές έννοιες....1 1.1 Εσωτερική παράσταση δεδομένων....2 1.1.1 Παράσταση θέσης....3 1.1.2 Μετατροπές μεταξύ συστημάτων διαφορετικών βάσεων....5 1.1.3 Οι αριθμητικές

Διαβάστε περισσότερα

Διαχείριση Πληροφοριακών Συστημάτων

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

Photoshop CS6. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc.

Photoshop CS6. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Adobe Photoshop CS6 ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Γιάννης Β. Σαμαράς Ηλεκτρολόγος Μηχανολόγος Ε.Μ.Π. M.Sc. Computer Science Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2013

Διαβάστε περισσότερα

InDesign CS5. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά

InDesign CS5. Adobe ΒHΜΑ ΠΡΟΣ ΒHΜΑ. Εκδόσεις: Μ. Γκιούρδας. Απόδοση: Μαίρη Γκλα βά Adobe InDesign CS5 ΒHΜΑ ΠΡΟΣ ΒHΜΑ Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2011 www.mgiurdas.gr ind00_cont.indd

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

Διαβάστε περισσότερα

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο 2014-2015 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

Διαβάστε περισσότερα

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

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

JOOMLA! Οπτικός Οδηγός τoυ Ελληνικού. Εκδόσεις: Μ. Γκιούρδας MARNI DERR TANYA SYMES. εύτερη έκδοση. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού

JOOMLA! Οπτικός Οδηγός τoυ Ελληνικού. Εκδόσεις: Μ. Γκιούρδας MARNI DERR TANYA SYMES. εύτερη έκδοση. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Οπτικός Οδηγός τoυ Ελληνικού JOOMLA! εύτερη έκδοση MARNI DERR TANYA SYMES Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2012

Διαβάστε περισσότερα

Περιεχόμενα. Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή Κεφάλαιο 2 Δεδομένα και εκφράσεις Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου...

Περιεχόμενα. Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή Κεφάλαιο 2 Δεδομένα και εκφράσεις Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου... Προλεγόμενα... ix Κεφάλαιο 1 Εισαγωγή... 1 1.1 Εισαγωγικά στοιχεία για τους υπολογιστές 2 1.2 Αλγόριθμοι, προγράμματα, προγραμματισμός 16 1.3 Η Python 25 1.4 Ο διερμηνευτής της Python 28 1.5 Το περιβάλλον

Διαβάστε περισσότερα

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

Περιεχόμενα. 2 Αριθμητικά συστήματα

Περιεχόμενα. 2 Αριθμητικά συστήματα Περιεχόμενα Πρόλογος 1 Εισαγωγή 1.1 Το μοντέλο Turing 1.2 Το μοντέλο von Neumann 1.3 Συστατικά στοιχεία υπολογιστών 1.4 Ιστορικό 1.5 Κοινωνικά και ηθικά ζητήματα 1.6 Η επιστήμη των υπολογιστών ως επαγγελματικός

Διαβάστε περισσότερα

ΥΠΟΧΡΕΩΤΙΚΕΣ ΓΝΩΣΕΙΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΡΟΣ ΙΙ

ΥΠΟΧΡΕΩΤΙΚΕΣ ΓΝΩΣΕΙΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΡΟΣ ΙΙ Κωδικός Πακέτου ACTA CCU/2-012 Τίτλος Πακέτου Εκπαιδευτικές Ενότητες ΥΠΟΧΡΕΩΤΙΚΕΣ ΓΝΩΣΕΙΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΡΟΣ ΙΙ Χρήση Η/Υ και ιαχείριση Αρχείων - Windows Περιβάλλον Η/Υ - Βασικές Λειτουργίες και Ρυθµίσεις

Διαβάστε περισσότερα

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος... Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή

ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες Τι είναι ο Ηλεκτρονικός Υπολογιστής 15 Ιστορική Ανασκόπηση 16 Γενιές Υπολογιστών 20 Κατηγορίες Υπολογιστών

Διαβάστε περισσότερα

Adobe After Effects CS4

Adobe After Effects CS4 Adobe After Effects CS4 Βήμα προς Βήμα Απόδοση: Μαίρη Γκλα βά Μαθηματικός, MSc Computer Sci ence Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2009 www.mgiurdas.gr Τίτλος

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

Διαβάστε περισσότερα

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα 1. Εισαγωγή 1.1 O Υπολογιστής ως εργαλείο μηχανικού 1.2 Η Επιστήμη των υπολογιστών 1.3 Ιστορικό Σημείωμα 1.4 Ο υπολογιστής μηχανή επεξεργασίας ψηφιακής πληροφορίας 1.5 Ψηφιοποίηση πληροφορίας 1.5.1 ψηφιοποίηση

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

Τα Microsoft Windows XP και Microsoft Office Word είναι σήµατα κατατεθέντα της Microsoft Corporation.

Τα 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

Διαβάστε περισσότερα

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο : 2. Α/Α Διάλεξης : 1 1. Τίτλος : Εισαγωγή στην Ψηφιακή Τεχνολογία 2. Μαθησιακοί Στόχοι : Λογικές Πύλες και η υλοποίησή τους με τρανζίστορ. Κατασκευή ολοκληρωμένων κυκλωμάτων. 3. Θέματα που καλύπτει : Λογικές

Διαβάστε περισσότερα

Ενότητες Γ3.1 - Γ3.2 - Γ3.3

Ενότητες Γ3.1 - Γ3.2 - Γ3.3 Ενότητες Γ3.1 - Γ3.2 - Γ3.3 3.1 Τo διαδίκτυο ως πηγή πληροφοριών 3.2 Αξιοποίηση- αξιολόγηση ιστοσελίδων, ιστοχώρων και πυλών 3.3 Σχεδίαση μαθημάτων με τη χρήση του διαδικτύου To Διαδίκτυο ως πηγή πληροφοριών

Διαβάστε περισσότερα

1 Εισαγωγή στην Πληροφορική

1 Εισαγωγή στην Πληροφορική ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 17 Τι είναι ο Ηλεκτρονικός Υπολογιστής 18 Υλικό Λογισµικό 19 Ιστορική Εξέλιξη των Η/Υ

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

Περιεχόµενα. Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional. Ευχαριστίες... 17 Εισαγωγή... 19

Περιεχόµενα. Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional. Ευχαριστίες... 17 Εισαγωγή... 19 Περιεχόµενα Ευχαριστίες... 17 Εισαγωγή... 19 Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional 1 Εισαγωγή στη διαχείριση των Microsoft Windows XP Professional... 25 Ξεκίνηµα µε τα Windows XP

Διαβάστε περισσότερα

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α 1 Windows 8.1 1.1 Βασικές Έννοιες Πληροφορικής και Επικοινωνιών Εισαγωγή 19 Τι είναι ο Ηλεκτρονικός Υπολογιστής 20 Κατηγορίες Υπολογιστών 21 Κύρια μέρη ενός Προσωπικού Υπολογιστή

Διαβάστε περισσότερα

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ

Διαβάστε περισσότερα

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

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

Διαβάστε περισσότερα

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

ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Χαρίδημος Κονδυλάκης Εισαγωγή ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Χαρίδημος Κονδυλάκης Εισαγωγή ΟΡΓΑΝΩΣΗ ΜΑΘΗΜΑΤΟΣ Πληροφορίες Διδάσκοντα Διδάσκοντας: Χαρίδημος Κονδυλάκης Email: Kondylak@ics.forth.gr Εβδομαδιαίες Ώρες Διδασκαλίας: 2 ώρες

Διαβάστε περισσότερα

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

Διαβάστε περισσότερα

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

ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ... ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ...1 1. Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...3 Κατηγορίες των Γεωγραφικών εδοµένων...3 Γεωγραφικές οντότητες...3 ιαστάσεις

Διαβάστε περισσότερα

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

Περιεχόμενα. Πρόλογος... 21 Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31

Διαβάστε περισσότερα

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό - Λογισµικό 23 Ιστορική Εξέλιξη των Η/Υ 23 Γενιές

1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό - Λογισµικό 23 Ιστορική Εξέλιξη των Η/Υ 23 Γενιές Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Μαθαίνετε Εύκολα MS OFFICE 2007 1 Εισαγωγή στην Πληροφορική 1.1 Βασικές Έννοιες της Πληροφορικής Εισαγωγή 21 Τι είναι ο Ηλεκτρονικός Υπολογιστής 22 Υλικό - Λογισµικό 23 Ιστορική Εξέλιξη

Διαβάστε περισσότερα

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

ΗΥ 252: Αντικειµενοστρεφής Προγραµµατισµός ΗΥ : Αντικειµενοστρεφής Προγραµµατισµός http://www.csd.uoc.gr/~hy Β. Χριστοφίδης christop@ics.forth.gr Τµήµα Επιστήµης Υπολογιστών, Πανεπιστήµιο Κρήτης Ηράκλειο Κρήτης Γενικές Πληροφορίες Ώρες ιδασκαλίας

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

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

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα