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

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

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

Transcript

1

2

3 Περιεχόμενα Περιεχόμενα Περιεχόμενα κεφαλαίου Πρόλογος...17 Κεφάλαιο 1 Εισαγωγή Τι είναι η Java...19 Η ιστορία της Java...23 Εκδόσεις της Java...25 Ξεκίνημα με την Java...27 Το περιβάλλον της γλώσσας...33 Δημιουργία μιας εφαρμογής Java...35 Μεταγλώττιση και εκτέλεση με το TextPad...39 Δημιουργία μιας μικροεφαρμογής Java (applet)...45 Ερωτήσεις και Ασκήσεις...48 Κεφάλαιο 2 Δεδομένα, μεταβλητές, υπολογισμοί Δεδομένα Τύποι δεδομένων...51 Μεταβλητές και δεσμευμένες λέξεις...53 Ακέραιοι τύποι δεδομένων...56 Αριθμοί κινητής υποδιαστολής...57 Οι μοναδιαίοι τελεστές αύξησης και μείωσης...58 Οι τελεστές των αριθμητικών πράξεων...59 Περισσότερα για τις εκχωρήσεις...62 Λογικές τιμές...64 Τελεστές σύγκρισης...64 Λογικοί τελεστές

4 8 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Τελεστές δυαδικών ψηφίων...67 Χαρακτήρες...68 Αλφαριθμητικά...69 Αρχικές τιμές για τις μεταβλητές-μέλη...70 Μετατροπή τύπου δεδομένων...71 Μαθηματικές συναρτήσεις...74 Συμπληρωματικές ασκήσεις...76 Σταθερές...82 Μετατροπή αλφαριθμητικών σε αριθμούς...84 Εισαγωγή δεδομένων από το πληκτρολόγιο...85 Εισαγωγή δεδομένων από το πληκτρολόγιο με τη χρήση της κλάσης Scanner...86 Ερωτήσεις και Ασκήσεις...90 Κεφάλαιο 3 Δομές επιλογής δομές επανάληψης μέθοδοι Αποφάσεις...93 Η δομή if - Απλή επιλογή...94 Ο όρος else - Διπλή επιλογή...95 Ένθετα if...98 Ο όρος else if - Πολλαπλή επιλογή Ο τριαδικός τελεστής?: Η δομή πολλαπλής επιλογής switch Εντολές επανάληψης βρόχοι Ο βρόχος for O βρόχος while O βρόχος do - while Ένθετοι βρόχοι Η εντολή continue Η χρήση του break σε ένα βρόχο Μέθοδοι Ερωτήσεις και Ασκήσεις Κεφάλαιο 4 Πίνακες και αλφαριθμητικά Πίνακες με μία διάσταση Η δήλωση ενός πίνακα Η καταχώριση του πίνακα Απόδοση αρχικών τιμών στα στοιχεία του πίνακα (αρχικοποίηση) Επεξεργασία στοιχείων πίνακα

5 Περιεχόμενα 9 Ταξινόμηση (sorting) Αναζήτηση (searching) Πίνακες πολλών διαστάσεων Επεξεργασία στοιχείων πίνακα δύο διαστάσεων Η δομή ενισχυμένου for (for each) Αλφαριθμητικά Πράξεις με αλφαριθμητικά Υποαλφαριθμητικά Προσπέλαση μεμονωμένων χαρακτήρων ενός αλφαριθμητικού και εύρεση του μήκους του Αντικατάσταση χαρακτήρων σε ένα αλφαριθμητικό Εντοπισμός χαρακτήρων μέσα σε ένα αλφαριθμητικό Μετατροπή άλλων τύπων δεδομένων σε αλφαριθμητικά η μέθοδος valueof Μετατροπή αλφαριθμητικών σε άλλους τύπους δεδομένων Η κλάση StringBuffer Αντικατάσταση χαρακτήρων σε αντικείμενο της κλάσης StringBuffer Μετατροπή αντικειμένου StringBuffer σε String Αντιστροφή αλφαριθμητικού η μέθοδος reverse() Χρήση αλφαριθμητικού για τον έλεγχο της δομής switch Ερωτήσεις και Ασκήσεις Κεφάλαιο 5 Κλάσεις και αντικείμενα Κλάσεις και αντικείμενα Πώς ορίζουμε μια κλάση Οι κατασκευαστές Πώς θα χρησιμοποιήσουμε μια κλάση που δημιουργήσαμε Υπερφόρτωση μεθόδου (Method overloading) Πολλαπλοί κατασκευαστές Η αναφορά στα αντικείμενα Συλλογή απορριμμάτων Η δεσμευμένη λέξη this Τα πακέτα Τα τυπικά πακέτα της Java Πώς μπορούμε να "πακετάρουμε" τις δικές μας κλάσεις Η προσπέλαση των κλάσεων Τροποποιητές προσπέλασης Ενθυλάκωση δεδομένων (data encapsulation) Τα αντικείμενα ως ορίσματα μεθόδων

6 10 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Πίνακες αντικειμένων Μεταβλητές και εμβέλεια Ένθετες (nested) και εσωτερικές (inner) κλάσεις Ερωτήσεις και Ασκήσεις Κεφάλαιο 6 Κληρονομικότητα, Πολυμορφισμός, Διασυνδέσεις Κληρονομικότητα (Inheritance) Υποκλάσεις και Υπερκλάσεις Κληρονομικότητα και προσπέλαση Κληρονομικότητα και κατασκευαστές Κλήση κατασκευαστή της υπερκλάσης η δεσμευμένη λέξη super Χρήση της λέξης super για κλήση μελών της υπερκλάσης Κληρονομικότητα πολλών επιπέδων (multilevel inheritance) Σύνδεση κατασκευαστών Παράκαμψη μεθόδου Σύγκριση υπερφόρτωσης και παράκαμψης μεθόδου (overloading vs overriding) Πολυμορφισμός (Polylmorphism) Μέθοδοι και κλάσεις αφηρημένου τύπου Τελικές κλάσεις και μέθοδοι Η υπερκλάση Object Η μέθοδος tostring() Παράκαμψη της μεθόδου Η μέθοδος equals() Παράκαμψη της μεθόδου Κλάσεις περιτυλίγματος (Wrapper classes) Διασυνδέσεις (Interfaces) Επέκταση διασύνδεσης Υλοποίηση πολλών διασυνδέσεων Ερωτήσεις και Ασκήσεις Κεφάλαιο 7 Εξαιρέσεις και ισχυρισμοί Τι είναι οι εξαιρέσεις Πρόκληση εξαιρέσεων Χειρισμός εξαιρέσεων Πολλαπλά τμήματα catch Το τμήμα finally Ρίψη εξαιρέσεων Η δεσμευμένη λέξη throw Δήλωση εξαιρέσεων η δεσμευμένη λέξη throws

7 Περιεχόμενα 11 Ενσωματωμένες εξαιρέσεις της Java Δημιουργία των δικών μας εξαιρέσεων Διάδοση εξαιρέσεων Ισχυρισμοί Ερωτήσεις και Ασκήσεις Κεφάλαιο 8 Τεχνικές εισόδου/εξόδου Αρχεία και διαδρομές (file path) Κλάσεις αρχείων και καταλόγων Διαχείριση αρχείων και φακέλων με την παλαιότερη κλάση File Το ρεύμα δεδομένων Αρχεία κειμένου Εγγραφή δεδομένων Ανάγνωση αρχείου κειμένου Χρήση της κλάσης Scanner για ανάγνωση αρχείου κειμένου Ανάγνωση αρχείων από το Διαδίκτυο Οι δυαδικές κλάσεις εισόδου / εξόδου (I/O) Ρεύματα εισόδου η κλάση InputStream Ρεύματα εξόδου η κλάση OutputStream Οι κλάσεις FileInputStream / FileOutputStream Οι κλάσεις FilterInputStream / FilterOutputStream Οι κλάσεις DataInputStream / DataOutputStream Οι κλάσεις BufferedInputStream / BufferedOutputStream Είσοδος/Έξοδος αντικειμένων Σειριοποίηση Αρχεία τυχαίας προσπέλασης Ερωτήσεις και Ασκήσεις Κεφάλαιο 9 Εκφράσεις λάμδα λ και Ροές Εισαγωγή Εκφράσεις λάμδα (lambda expressions) Λειτουργικές διασυνδέσεις (functional interfaces) Εκφράσεις λάμδα σε μπλοκ Λειτουργικές διασυνδέσεις με γενικεύσεις Οι εκφράσεις λάμδα ως ορίσματα Σύλληψη μεταβλητών Αναφορές μεθόδων (method references) Αναφορές κατασκευαστών (constructor references) Προκαθορισμένες λειτουργικές διασυνδέσεις

8 12 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Ροές - Το stream API Ερωτήσεις και Ασκήσεις Κεφάλαιο 10 Swing - Μέρος Ι Εισαγωγή AWT και Swing Το μοντέλο της ιεραρχίας περιεχομένου (containment hierarchy model) Συστατικά (components) και υποδοχείς (containers) Πλαίσια το συστατικό JFrame Η κλάση JComponent Ετικέτες η κλάση JLabel Κουμπιά η κλάση JButton Διαχειριστές διάταξης Συστατικά κειμένου Πεδίο κειμένου η κλάση JTextField Το συστατικό Πάνελ (JPanel) Ο διαχειριστής GridBagLayout Μη χρήση διαχειριστή διάταξης Συμβάντα το μοντέλο αποστολής συμβάντος (Delegation Event Model) Ερωτήσεις και Ασκήσεις Κεφάλαιο 11 Swing - Μέρος ΙΙ Εισαγωγή Επικοινωνία με το χρήστη η κλάση JOptionPane Επιλογή χρωμάτων το συστατικό JColorChooser Πλαίσια ελέγχου και ραδιοπλήκτρα οι κλάσεις JCheckBox και JRadioButton Πτυσσόμενα πλαίσια και λίστες οι κλάσεις JComboBox και JList Επιλογή αρχείων η κλάση JFileChooser Ράβδος ολίσθησης με λαβή η κλάση JSlider Η χρήση μενού στα πλαίσια οι κλάσεις JMenu, JMenuBar και JMenuItem Δημιουργία περιγραμμάτων στα πλαίσια Συμβάντα του ποντικιού Συμβάντα του πληκτρολογίου Προσαρμοστές (Adapters) Ο διαχειριστής διάταξης BoxLayout

9 Περιεχόμενα 13 Γραφικά - Εισαγωγή Το σύστημα συντεταγμένων και οι μέθοδοι γραφικών paint() και paintcomponent() Η κλάση Graphics Γραμματοσειρές και χρώμα Γραμμές Ορθογώνια Ελλείψεις, κύκλοι, και τόξα Γραφικά με την κλάση Graphics2D Εκτυπώσεις Ερωτήσεις και Ασκήσεις Κεφάλαιο 12 Η βιβλιοθήκη γραφικών JavaFX Τι είναι η JavaFX Τα στοιχεία μιας εφαρμογής JavaFX Σχήματα Χρώματα - Κείμενο Πρόσδεση ιδιοτήτων (property binding) Γραμματοσειρές εφέ κειμένου Παράθυρα διάταξης (panes) Συμβάντα (events) Συστατικά της διασύνδεσης γραφικών JavaFX JavaFX και διαδοχικά φύλλα στυλ (CSS) Εικόνες Βίντεο Ήχος Εφέ και μετασχηματισμοί Ερωτήσεις και Ασκήσεις Κεφάλαιο 13 Μικροεφαρμογές και Πολυμέσα Εισαγωγή Τι είναι η μικροεφαρμογή (applet) Οι πέντε βασικές μέθοδοι μιας μικροεφαρμογής Δημιουργία της πρώτης μικροεφαρμογής Εκτέλεση της μικροεφαρμογής Εργασία με τα συστατικά της Διασύνδεσης Χρήστη μέσω Γραφικών Μεταβίβαση παραμέτρων στη μικροεφαρμογή Μετατροπή μικροεφαρμογής σε κανονική εφαρμογή Ο κύκλος ζωής μιας μικροεφαρμογής Τύποι αρχείων εικόνας Φόρτωση αρχείων στη μικροεφαρμογή Φόρτωση και εμφάνιση εικόνας

10 14 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Το μέγεθος της εικόνας Η κλάση ImageIcon Προσθήκη ήχων Ερωτήσεις και Ασκήσεις Κεφάλαιο 14 Νήματα Τι είναι τα νήματα Το νήμα "δαίμων" Δημιουργία νήματος με την κλάση Thread Δημιουργία νήματος με την υλοποίηση της διασύνδεσης Runnable Προτεραιότητες Συγχρονισμός Νήματα και κινούμενες εικόνες Δημιουργία κινουμένων σχεδίων Γραφικά με την τεχνική της διπλής προσωρινής αποθήκευσης και τη χρήση της κλάσης MediaTracker Ερωτήσεις και Ασκήσεις Κεφάλαιο 15 Δίκτυα και επικοινωνίες Δίκτυα Το πρωτόκολλο TCP/IP Οι διευθύνσεις στο δίκτυο Η κλάση InetAddress Προσδιορισμός των αρχείων στο δίκτυο η κλάση URL Υποδοχές (sockets) Υποδοχές αυτοδύναμων πακέτων Ερωτήσεις και Ασκήσεις Κεφάλαιο 16 Συλλογές Γενικεύσεις Δομές δεδομένων Συλλογές (collections) Η κλάση ArrayList Μέρος Ι Γενικεύσεις (Generics) Η κλάση ArrayList Μέρος ΙΙ Επαναλήπτες Η διασύνδεση Iterator Η κλάση Vector και η διασύνδεση Iterator Δομές δεδομένων (data structures) Λίστες (Lists)

11 Περιεχόμενα 15 Η διασύνδεση ListIterator Λίστες, μέθοδοι, και διάσχιση με χρήση των διασυνδέσεων Iterator και ListIterator Η δομή στοίβας η κλάση Stack Η δομή ουράς (Queue) Απεικόνιση (Map) Δένδρα (trees) Κανονικές παραστάσεις (Regular expressions) Ερωτήσεις και Ασκήσεις Κεφάλαιο 17 Η Java και οι βάσεις δεδομένων Βάση Δεδομένων (Data Base) Το Σχεσιακό μοντέλο (Relational model) Η γλώσσα SQL (Structured Query Language) MySQL Δημιουργία Βάσης Δεδομένων με το ΣΔΒΔ MySQL Δημιουργία και αφαίρεση πίνακα Εισαγωγή δεδομένων σε πίνακα Εμφάνιση δεδομένων Ερωτήματα (Queries) Το JDBC API Βασικές κλάσεις και διασυνδέσεις του JDBC Οι διασυνδέσεις ResultSet και ResultSetMetaData Η διασύνδεση Statement και η εκτέλεση εντολών SQL Το ενσωματωμένο ΣΔΒΔ Java DB Ερωτήσεις και Ασκήσεις Κεφάλαιο 18 Κλήση απομακρυσμένων μεθόδων servlets Τι είναι η Κλήση Απομακρυσμένων Μεθόδων (RMI) Η αρχιτεκτονική του RMI Εισαγωγή στα servlet Ο κύκλος ζωής ενός servlet Ανάπτυξη servlet Ο διακομιστής Tomcat Ερωτήσεις και Ασκήσεις Κεφάλαιο 19 Ειδικά Θέματα Αρχεία JAR Πακέτα (packages) Το νέο Date and Time API

12 16 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Το εργαλείο javadoc Η διεθνοποίηση της Java (Java Internationalization) Η μηχανή Nashorn Ερωτήσεις και Ασκήσεις Κεφάλαιο 20 Ολοκληρωμένα περιβάλλοντα ανάπτυξης εφαρμογών Εισαγωγή Το περιβάλλον NetBeans Δημιουργία εφαρμογής με το NetBeans Εργασία με Java DB (παλαιότερα: Derby) μέσα από το NetBeans Το περιβάλλον Eclipse Το περιβάλλον BlueJ Ερωτήσεις και Ασκήσεις Παράρτημα Απαντήσεις στις ερωτήσεις και στις ασκήσεις του βιβλίου Βιβλιογραφία Ευρετήριο

13 Κ Πρόλογος Διαβάζοντας εδώ και χρόνια βιβλία που αναφέρονται σε γλώσσες προγραμματισμού, έβγαλα το συμπέρασμα ότι ενώ τα περισσότερα από αυτά ήταν αξιόλογα από πλευράς περιεχομένου, υστερούσαν σχετικά με τον τρόπο παρουσίασης της γλώσσας στον αρχάριο χρήστη, ή ακόμα και στον έμπειρο σε άλλες γλώσσες αλλά νεοεισερχόμενο στη συγκεκριμένη γλώσσα προγραμματισμού. Τα τεράστια παραδείγματα, που εκτείνονται σε πολλά κεφάλαια, αποθαρρύνουν κατά τη γνώμη μου τη συνέχιση της μελέτης. Η εξαντλητική επίσης ανάλυση εννοιών και η παράλειψη άλλων δημιουργεί ελλιπή εποπτεία της γλώσσας. Τέλος, η παράθεση μη ολοκληρωμένων παραδειγμάτων δημιουργεί σύγχυση. Στο βιβλίο που έγραψα για την Java, προσπάθησα να κρατήσω μια ισορροπία. Ήθελα το βιβλίο αυτό να μπορεί να διαβάζεται άνετα από έναν αρχάριο, αλλά ταυτόχρονα να μην καταντά πληκτικό για έναν έμπειρο προγραμματιστή, ο οποίος θέλει να γνωρίσει την Java. Έγινε προσπάθεια ώστε κάθε έννοια να συνοδεύεται και από ένα παράδειγμα, το οποίο να είναι ολοκληρωμένο και κατά το δυνατόν σύντομο ώστε να μην απογοητεύεται ο αναγνώστης. Όλα τα παραδείγματα είναι ελεγμένα και «τρέχουν», όπως άλλωστε φαίνεται και από τις αντίστοιχες εικόνες οθονών (screenshots). Το βιβλίο είναι σχεδιασμένο ώστε να διαβάζεται κεφάλαιο-κεφάλαιο, από την αρχή προς το τέλος, χωρίς αυτό να σημαίνει ότι κάποιος που ενδιαφέρεται να εστιάσει σε ένα συγκεκριμένο κεφάλαιο δεν μπορεί να το κάνει. Ξεκινά με θέματα που αφορούν στοιχειώδεις έννοιες του προγραμματισμού, όπως οι βασικές δομές ενός προγράμματος (ακολουθία, επιλογή, επανάληψη) καθώς και οι έννοιες του αντικειμενοστρεφούς προγραμματισμού (κλάση, κατασκευαστής, αντικείμενο, κληρονομικότητα, πολυμορφισμός, διασυνδέσεις κ.λπ.), αλλά και προχωρημένα θέματα όπως οι εκφράσεις λάμδα, η βιβλιοθήκη γραφικών JavaFx,, οι τεχνικές I/O, τα νήματα, ο χειρι- 17

14 18 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA σμός των εξαιρέσεων, οι αφηρημένες κλάσεις και διασυνδέσεις, τα servlet, καθώς και τα ολοκληρωμένα περιβάλλοντα ανάπτυξης εφαρμογών (IDE) για Java. Σε κάποια σημεία ο πηγαίος κώδικας περιλαμβάνει τόσο κανονικά όσο και έντονα γράμματα. Αυτό γίνεται για να εστιάσει περισσότερο την προσοχή του ο αναγνώστης στα σημεία όπου ο κώδικας είναι έντονος. Ευχαριστίες Θα ήθελα να ευχαριστήσω τον κ. Φώτη Σκουλαρίκη για τη γλωσσική επιμέλεια και τον έλεγχο των κειμένων και του κώδικα, την κ. Σόνια Τρακάδη για τη σελιδοποίηση, την κα Γιάννα Αθανασίου για το πολύ ωραίο εξώφυλλο, τον κ. Παναγιώτη Σταυρόπουλο για την οργάνωση της παραγωγής του βιβλίου, καθώς και τον κ. Γιάννη Αϊναλίδη για τη στήριξή του σε όλη τη διάρκεια της προσπάθειας.

15 Κεφάλαιο 1 Εισαγωγή Περιεχόμενα κεφαλαίου Τι είναι η Java Η ιστορία της Java Εκδόσεις της Java Ξεκίνημα με την Java Το περιβάλλον της γλώσσας Δημιουργία μιας εφαρμογής Java Μεταγλώττιση και εκτέλεση με το TextPad Δημιουργία μιας μικροεφαρμογής Java (applet) Τι είναι η Java Δεν υπάρχει άνθρωπος ο οποίος να ασχολείται με τους υπολογιστές και το Διαδίκτυο που να μην έχει ακούσει κάτι σχετικά με τη γλώσσα Java. Η Java είναι μια γλώσσα προγραμματισμού η οποία εμπεριέχει όλα τα χαρακτηριστικά της εξέλιξης της επιστήμης των υπολογιστών. Μιλώντας επιγραμματικά, θα μπορούσαμε να πούμε ότι η Java είναι μια αντικειμενοστρεφής γλώσσα που μπορεί να χρησιμοποιηθεί αφενός ως συνηθισμένη γλώσσα προγραμματισμού, και αφετέρου ως γλώσσα δημιουργίας ε- φαρμογών οι οποίες μπορούν να λειτουργήσουν σε κατανεμημένα συστήματα 1. Με 1 Ένα κατανεμημένο σύστημα αποτελείται από μια ομάδα γεωγραφικά ανεξάρτητων υπολογιστών, οι οποίοι επικοινωνούν μεταξύ τους μέσω δικτύου και μπορούν να λειτουργούν από κοινού για την επίτευξη ενός στόχου. Παραδείγματα κατανεμημένων συστημάτων είναι το Διαδίκτυο, τα τραπεζικά συστήματα ΑΤΜ, τα συστήματα Peer-to-Peer (P2P), κ.λπ. 19

16 20 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA αυτόν τον τρόπο, ένας υπολογιστής, όπου και αν βρίσκεται, είναι σε θέση να προσπελάζει και να χρησιμοποιεί μια εφαρμογή εγκατεστημένη σε κάποιο δίκτυο. Αν τη συγκρίνουμε από πλευράς φιλοσοφίας, δομής, και συντακτικού με τις άλλες γλώσσες προγραμματισμού, η Java μοιάζει αρκετά με τη C++. Είναι όμως πιο εύκολη στην εκμάθηση σε σχέση με την τελευταία, επειδή δεν περιλαμβάνει κάποιες ιδιομορφίες που απαντώνται σε αυτή καθώς και σε άλλες αντικειμενοστρεφείς γλώσσες προγραμματισμού, όπως η Smalltalk και η Ada. Ένα πλεονέκτημα που κάνει την Java να ξεχωρίζει από τις άλλες γλώσσες προγραμματισμού είναι ότι παρέχει ανεξαρτησία ως προς την πλατφόρμα (platform independence). Δίνει δηλαδή τη δυνατότητα στον προγραμματιστή να γράφει εφαρμογές οι οποίες εκτελούνται χωρίς καμία μετατροπή σε υπολογιστές με διαφορετική αρχιτεκτονική και διαφορετικά λειτουργικά συστήματα. Με αυτόν τον τρόπο μπορούν να δημιουργηθούν εφαρμογές που εκτελούνται τόσο σε έξυπνες κάρτες και κινητά τηλέφωνα, όσο και σε μεγάλα συστήματα υπολογιστών. Ας δούμε μερικά από τα βασικά χαρακτηριστικά της Java: Είναι (σχετικά) απλή. Όπως αναφέραμε προηγουμένως, οι δημιουργοί της άφησαν έξω από τη γλώσσα "δύσκολα" χαρακτηριστικά που συναντάμε σε άλλες γλώσσες, όπως π.χ. οι δείκτες (pointers) ή οι δομές και οι ενώσεις (structures και unions) της C++. Είναι αντικειμενοστρεφής (object oriented). Η Java, όπως και η C++, χρησιμοποιεί τις κλάσεις (classes) για να οργανώσει τον κώδικα σε λογικές ενότητες. Κατά το χρόνο εκτέλεσης, το πρόγραμμα δημιουργεί από τις κλάσεις αντικείμενα. Τα αντικείμενα αυτά έχουν δύο συνιστώσες: τα πεδία και τις μεθόδους. Τα πεδία περιγράφουν τι είναι το αντικείμενο. οι μέθοδοι περιγράφουν τι κάνει το αντικείμενο. Οι κλάσεις μπορούν να κληρονομήσουν ιδιότητες από άλλες κλάσεις. Εκείνο που δεν επιτρέπεται είναι η πολλαπλή κληρονομικότητα (multiple inheritance), όπου μία κλάση έχει τη δυνατότητα να κληρονομήσει πεδία και μεθόδους από περισσότερες από μία άλλες κλάσεις. Είναι μεταγλωττιζόμενη 2 (compiled) αλλά μπορεί να χαρακτηριστεί και ως διερμηνευόμενη (interpeted). Η μεταγλώττιση του πηγαίου προγράμματος έχει αποτέλεσμα την παραγωγή ενός ειδικού κώδικα, ο οποίος ονομάζεται κώδικας byte (bytecode). Ο κώδικας αυτός είναι παρόμοιος με τον κώδικα σε γλώσσα 2 Η Java είναι μια γλώσσα υψηλού επιπέδου (high level language). Αυτό σημαίνει ότι οι εντολές της είναι λέξεις (π.χ. read, println κ.λπ.), τις οποίες καταλαβαίνει μεν ο άνθρωπος, αλλά όχι και ο υπολογιστής. Ο υπολογιστής καταλαβαίνει εντολές της μορφής ( EBA0AC E ), οι οποίες αποτελούν τη γλώσσα μηχανής. Ο μεταγλωττιστής (compiler) είναι ένα πρόγραμμα που μετατρέπει ολόκληρο τον κώδικα μιας γλώσσας υψηλού επιπέδου (π.χ. Pascal) σε κώδικα γλώσσας μηχανής πριν από την εκτέλεσή του. Αντίθετα, ο διερμηνευτής (interpreter) μεταγλωττίζει και εκτελεί μία προς μία τις εντολές της γλώσσας υψηλού επιπέδου.

17 Κεφάλαιο 1: Εισαγωγή 21 μηχανής και μπορεί να εκτελεστεί από οποιοδήποτε λειτουργικό σύστημα (Windows, Unix, Mac OS κ.λπ.) που διαθέτει επιπλέον το (δωρεάν) λογισμικό του διερμηνευτή της Java. Τα προγράμματα των υπολογιστών είναι κατά κύριο λόγο προσανατολισμένα στο υλικό (hardware) του υπολογιστή και στο λειτουργικό του σύστημα. Ένα πρόγραμμα γραμμένο για τα Windows δεν μπορεί να εκτελεστεί απευθείας στον Macintosh, και το αντίστροφο. Με την Java λύνεται αυτό το πρόβλημα, επειδή ο μεταγλωττιστής της δεν δημιουργεί γηγενή κώδικα (native code) προσαρμοσμένο στο συγκεκριμένο τύπο υπολογιστή (όπως κάνουν οι άλλες γλώσσες), αλλά δημιουργεί κώδικα byte. Ο κώδικας byte μοιάζει πολύ με κώδικα γλώσσας μηχανής, με τη διαφορά ότι είναι ο ίδιος σε όλες τις πλατφόρμες. Έτσι, ένα πρόγραμμα τέτοιου τύπου που δημιουργήθηκε από έναν υπολογιστή Windows μπορεί να εκτελεστεί αυτούσιο σε έναν άλλον υπολογιστή με λειτουργικό σύστημα Unix. Υποστηρίζει πολυνημάτωση (multithreading). Ένα πρόγραμμα Java μπορεί να περιλαμβάνει πολλές ξεχωριστές διεργασίες, οι οποίες να εκτελούνται συνεχώς και ανεξάρτητα η μία από την άλλη. Μπορεί π.χ. να μεταδίδεται μια εικόνα, και συγχρόνως ο χρήστης να εισάγει στοιχεία από το πληκτρολόγιο. Αυτό το ισχυρό χαρακτηριστικό είναι τόσο πολύ συνυφασμένο με τη γλώσσα, ώστε καθιστά αδύνατη τη σύνδεση της Java με περιβάλλοντα τα οποία δεν υποστηρίζουν πολυνημάτωση. Κάνει περισυλλογή "απορριμμάτων" (garbage collection). Τα προγράμματα της Java κάνουν από μόνα τους περισυλλογή "απορριμμάτων". Αυτό σημαίνει ότι ο προγραμματιστής δεν χρειάζεται να φροντίζει πλέον ο ίδιος για τη διαγραφή άχρηστων δεδομένων από τη μνήμη. Έχει τη δυνατότητα να δημιουργεί γρήγορο κώδικα. Tο σύστημα του συνδυασμού μεταγλωττιστή (για τη δημιουργία κώδικα byte ο οποίος μπορεί να εκτελείται σε όλες τις πλατφόρμες) και διερμηνευτή (για τη βήμα-βήμα εκτέλεση του κώδικα byte σε κάθε συγκεκριμένη πλατφόρμα) θεωρείται σχετικά αργό. Για το λόγο αυτόν έχουν αναπτυχθεί ειδικοί μεταγλωττιστές, οι οποίοι ονομάζονται "just in time compilers" (JIT). Οι μεταγλωττιστές αυτοί μετατρέπουν τον κώδικα byte σε κώδικα γλώσσας μηχανής για το συγκεκριμένο επεξεργαστή. Η λειτουργία τους στηρίζεται σε δύο σημεία: α) Όταν επαναλαμβάνεται η εκτέλεση κάποιων τμημάτων κώδικα byte, είναι σπατάλη χρόνου αυτά να μετατρέπονται κάθε φορά σε γλώσσα μηχανής, αλλά αρκεί να γίνει η μετατροπή μία μόνο φορά. Στη συνέχεια, όταν απαιτηθεί ξανά η εκτέλεση των ίδιων τμημάτων κώδικα byte, μπορεί να χρησιμοποιηθεί ο ήδη έτοιμος κώδικας γλώσσας μηχανής.

18 22 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA β) Με τη βελτιστοποίηση του κώδικα που γράφει ο χρήστης μέσω ειδικών τεχνικών μπορεί να αυξηθεί σημαντικά η ταχύτητα εκτέλεσής του και να α- παιτηθεί επίσης λιγότερη μνήμη. Παρέχει βιβλιοθήκες κώδικα για διάφορες χρήσεις, όπως δημιουργία γραφικών, χειρισμό αλφαριθμητικών, μαθηματικές πράξεις, προσπέλαση αρχείων στο Διαδίκτυο, χειρισμό σχεσιακών βάσεων δεδομένων, δημιουργία εφαρμογών πελάτη διακομιστή, κλήση απομακρυσμένων αντικειμένων κ.λπ. Προσφέρει ευκολίες για τη δημιουργία δυναμικών ιστοσελίδων (dynamic web pages). Με τη χρήση της γλώσσας, σε μια ιστοσελίδα μπορούμε: Να "παίξουμε" ήχο ή βίντεο. Να χρησιμοποιήσουμε διανυσματικά γραφικά, αντί των ψηφιογραφικών (bitmap) εικόνων. Να δημιουργήσουμε κίνηση σε πραγματικό χρόνο. Να δημιουργήσουμε φόρμες εισαγωγής στοιχείων από τους χρήστες. Να φτιάξουμε παιχνίδια και εφαρμογές πραγματικού χρόνου, στα οποία θα συμμετέχουν ταυτόχρονα πολλοί παίκτες. Παρέχει τη δυνατότητα δημιουργίας εφαρμογών οι οποίες, μέσω ενός προγράμματος περιήγησης στο Διαδίκτυο, να έχουν πρόσβαση σε υπηρεσίες του Διαδικτύου. Κάνει δυνατή τη συγγραφή εφαρμογών για διακομιστές του Διαδικτύου που αφορούν την επεξεργασία φορμών, τη δημιουργία και λειτουργία φόρουμ, διαδικτυακών ηλεκτρονικών καταστημάτων, υπηρεσιών δημοσκοπήσεων κ.ά. Εκτός από υπολογιστές, μπορούν να γραφτούν εφαρμογές και για μια σειρά άλλων συσκευών όπως τα κινητά τηλέφωνα, οι έξυπνες τηλεοράσεις, οι μικροελεγκτές, οι αισθητήρες, οι πύλες δικτύων κ.λπ. Στο σημείο αυτό πρέπει να επαναλάβουμε ότι η Java είναι μια γενική γλώσσα προγραμματισμού και χρησιμοποιείται σε ένα ευρύ φάσμα εργασιών. Μπορεί κάλλιστα να χρησιμοποιηθεί για τη δημιουργία συνηθισμένων τύπων εφαρμογών, όπως για παράδειγμα για την κατασκευή ενός προγράμματος οδήγησης (driver) για έναν ε- κτυπωτή ή για τον υπολογισμό της μισθοδοσίας του προσωπικού μιας επιχείρησης. Η εταιρεία Oracle, η οποία εξαγόρασε την Java από τη Sun Microsystems, προσφέρει την Java σε τρεις εκδόσεις, κάθε μία από τις οποίες στοχεύει σε διαφορετικό τομέα τεχνολογίας. Οι μορφές αυτές είναι: Java SE (Java Standard Edition). Η ονομασία αυτή καθιερώθηκε από την έκδοση 1.6 της Java. Είναι το τυπικό πακέτο της Java το οποίο χρησιμοποιείται τόσο για εφαρμογές του Παγκόσμιου Ιστού, όσο και για κανονικές προγραμματιστικές ε- φαρμογές. Με αυτό θα ασχοληθούμε κυρίως σε αυτό το βιβλίο.

19 Κεφάλαιο 1: Εισαγωγή 23 Εικ. 1.1 Οι εκδόσεις της Java. Java EE (Java Enterprise Edition). Αποτελεί την έκδοση της Java για επιχειρήσεις. Περιλαμβάνει μια σειρά από τεχνολογίες κάτω από ενιαία αρχιτεκτονική, και στοχεύει στη δημιουργία επιχειρηματικών εφαρμογών (όπως π.χ. εφαρμογών ηλεκτρονικού εμπορίου) καθώς και άλλων υπηρεσιών του Παγκόσμιου Ι- στού οι οποίες εγκαθίστανται σε διακομιστές. Java ME (Java Micro Edition). Η έκδοση αυτή αποτελεί ένα ευέλικτο περιβάλλον για εφαρμογές που μπορούν να εκτελούνται σε φορητές συσκευές όπως κινητά τηλέφωνα, έξυπνες τηλεοράσεις, ψηφιακές ταμπλέτες (tablets), συστήματα πλοήγησης αυτοκινήτων, εκτυπωτές, έξυπνες πιστωτικές κάρτες, κ.λπ. Η ιστορία της Java Όλα άρχισαν το 1990, όταν μια ομάδα ερευνητών της εταιρείας Sun Microsystems (την οποία μπορείτε να δείτε στην επόμενη φωτογραφία της εταιρείας Sun), στην οποία συμμετείχαν οι James Gosling, Patrick Naughton, και Mike Sheridan, ξεκίνησε ένα πρόγραμμα με κωδικό όνομα "Green Project". Ο σκοπός του έργου ήταν να δημιουργήσουν προγράμματα με τα οποία θα μπορούσαν να κάνουν πιο "επαναστατική" τη χρήση και τη λειτουργία των οικιακών ηλεκτρονικών συσκευών (βίντεο, τηλεοράσεων, στερεοφωνικών, φούρνων μικροκυμάτων, συστημάτων συναγερμού κ.λπ.). Η ομάδα ξεκίνησε να δημιουργεί τα προγράμματα χρησιμοποιώντας τη γλώσσα C++, λόγω της ταχύτητας και του αντικειμενοστρεφούς χαρακτήρα της. Ο Gossling, όμως, σύντομα διαπίστωσε ότι η C++ δεν ήταν η κατάλληλη γλώσσα για τα προγράμματα που σκόπευαν να δημιουργήσουν. Ορισμένα χαρακτηριστικά της C++, όπως η πολλαπλή κληρονομικότητα, θέματα που αφορούσαν τη διαχείριση μνήμης, καθώς και η πολυπλοκότητα της γλώσσας, τους δυσκόλευαν. Επιπλέον, η C++ έδινε σημασία περισσότερο στην ταχύτητα εκτέλεσης της εφαρμογής, και λιγότερο στην αξιοπιστία. Η αξιοπιστία όμως είναι βασική απαίτηση για τις ηλεκτρονικές καταναλωτικές συσκευές. Ο Gossling, λοιπόν, αποφάσισε

20 24 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Εικ. 1.2 Η ομάδα ανάπτυξης του Green Project. ότι έπρεπε να δημιουργηθεί μια καινούργια γλώσσα στα πρότυπα της C++, η οποία να κρατά τη βασική της σύνταξη και τα καλά χαρακτηριστικά της, να μην περιέχει κάποια άλλα χαρακτηριστικά, και επιπλέον να διαθέτει δυνατότητες που δεν υπήρχαν στην C++. Έτσι, με τη βοήθεια ενός άλλου προγραμματιστή, του Patrick Naughton, τον Αύγουστο του 1991 δημιούργησε μια καινούργια γλώσσα, την οποία ονόμασε OAK. (Λέγεται ότι στον κήπο έξω από το γραφείο του υπήρχε μία βαλανιδιά oak και πήρε την ιδέα από εκεί. Κατ' άλλους, το OAK προέρχεται από τα αρχικά της φράσης Object Architecture Kernel, όρος με τον οποίο αναφερόταν η γλώσσα στα έγγραφα της Sun εκείνη την εποχή.) Καρπός των προσπαθειών της ομάδας του "Green Project" (που εργαζόταν πια με τη γλώσσα ΟΑΚ) ήταν η δημιουργία (το φθινόπωρο του 1992) ενός υπολογιστή χειρός του "*7" (star seven) ο οποίος έμοιαζε με τηλεχειριστήριο. To "*7" δεν είχε πλήκτρα αλλά κάποιες εικόνες, τις οποίες ο χρήστης μπορούσε να ελέγχει με την αφή για να χειρίζεται τις ηλεκτρονικές συσκευές που υπήρχαν στο σπίτι (τηλεοράσεις, βίντεο, στερεοφωνικά, τηλέφωνα, κ.λπ.). Το εγχείρημα αυτό, παρότι πέτυχε κατασκευαστικά, δεν παρουσίασε εμπορική επιτυχία. Εικ. 1.3 Η συσκευή *7.

21 Κεφάλαιο 1: Εισαγωγή 25 Στις αρχές του 1993 η ομάδα επικέντρωσε τις προσπάθειές της στο να προωθήσει την ΟΑΚ στον τομέα Video On Demand (VOD), κάνοντας σχετική πρόταση στην εταιρεία Time Warner, η οποία ενδιαφερόταν για τέτοια έργα εκείνη την εποχή. Η πρόταση δεν υιοθετήθηκε, αφού ο τομέας αυτός (VOD) κρίθηκε ότι δεν ήταν εμπορικά αξιοποιήσιμος. O Billy Joy, ένας από τους ιθύνοντες της Sun εκείνη την περίοδο, διέβλεψε ότι η ΟΑΚ θα μπορούσε να χρησιμοποιηθεί στον Παγκόσμιο Ιστό (World Wide Web). Είναι η εποχή κατά την οποία το Internet ξεφεύγει από την κατάσταση απλού κειμένου, και αρχίζουν να χρησιμοποιούνται γραφικά μέσω του Παγκόσμιου Ιστού. Η ομάδα αντιλαμβάνεται ότι η νέα γλώσσα "ταιριάζει γάντι" με την κατάσταση που διαμορφώνεται. Για τρίτη φορά το έργο αλλάζει κατεύθυνση. Η φιλοσοφία της εταιρείας είναι να διαθέτει τη γλώσσα δωρεάν, ώστε να τυποποιηθεί. Η ΟΑΚ μετονομάζεται σε Java τον Ιανουάριο του 1995, και λίγο αργότερα παρουσιάζεται επίσημα από την εταιρεία Sun ως εργαλείο ανάπτυξης εφαρμογών για το Internet. Δημιουργείται μάλιστα (από τους Patrick Naughton και Janathan Payne) και ένα πρόγραμμα περιήγησης στο Διαδίκτυο, αποκλειστικά γραμμένο σε Java, το HotJava. Η εταιρεία Netscape Communications κυκλοφορεί την έκδοση 2.0 του προγράμματος περιήγησης Netscape Navigator με υποστήριξη Java. Το ίδιο κάνει και η εταιρεία Microsoft για το αντίστοιχο πρόγραμμα Internet Explorer 3.0. Επιτέλους, μετά από προσπάθειες πέντε χρόνων, η Java έχει βρει το χώρο της. Εκδόσεις της Java Αρχική έκδοση (έκδοση jdk 1.0 και jdk 1.1) Ιανουάριος 1996 Η Java 1.0 κυκλοφόρησε από τη Sun Microsystems τον Ιανουάριο του 1996 και έγινε δημοφιλής από το πρόγραμμα Netscape Navigator 2.0 που κυκλοφόρησε το Φεβρουάριο του ίδιου έτους και είχε τη δυνατότητα να εκτελεί μικροεφαρμογές (applets). Στις αρχές του 1997 κυκλοφόρησε η έκδοση Java 1.1 που περιείχε ουσιαστικές βελτιώσεις και αλλαγές σε σχέση με την προηγούμενη έκδοση, όπως το νέο βασισμένο σε ακροατές (listeners) μοντέλο χειρισμού συμβάντων και η υποστήριξη εσωτερικών κλάσεων. Java 2 (jdk 1.2) Δεκέμβριος 1998 Το 1998 κυκλοφόρησε η πλατφόρμα Java 2, γνωστή στους χρήστες ως jdk 1.2 (Java Development Kit 1.2) ή SDK 1.2 (Software Development Kit 1.2). Η νέα έκδοση της Java πρόσθεσε επιπλέον δυνατότητες στις ήδη υπάρχουσες. Μερικές από αυτές ήταν η βιβλιοθήκη γραφικών Swing, η τεχνολογία Java2D, και η ενισχυμένη υποστήριξη για τα αρχεία ήχου.

22 26 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Java 1.3 Μάιος 2000 Την άνοιξη του 2000 η Sun έδωσε στην κυκλοφορία την έκδοση 1.3 (γνωστή και ως jdk 1.3), η οποία περιείχε δευτερεύουσας σημασίας αλλαγές και βελτιώσεις σε σχέση με την προηγούμενη έκδοση. Την ίδια εποχή κυκλοφόρησε και η πλατφόρμα J2EE. Java 1.4 Φεβρουάριος 2002 Στις 6 Φεβρουαρίου του 2002 βγήκε η νέα έκδοση της πλατφόρμας Java 2, συγκεκριμένα η Java 2 platform version 1.4, με αρκετές επιπλέον ευκολίες, όπως πολλές νέες κλάσεις και διασυνδέσεις, νέες δυνατότητες για την είσοδο και έξοδο δεδομένων, και υποστήριξη κανονικών παραστάσεων (regular expressions). Οι κανονικές παραστάσεις χρησιμοποιούνται ευρέως στο χειρισμό και την επεξεργασία αλφαριθμητικών δεδομένων. Java 5 (jdk1.5) Σεπτέμβριος 2004 Το Σεπτέμβριο του 2004 κυκλοφορεί η έκδοση 5.0 της Java (JDK 1.5). Με την έκδοση αυτή εισάγονται νέα χαρακτηριστικά, όπως οι γενικεύσεις (generics) και οι τύποι απαρίθμησης (Enumeration types). Τέτοια χαρακτηριστικά αφαιρούν τη συμβατότητα προς τα πίσω, και σε μερικά παλιά προγράμματα κάποια τμήματα του κώδικα έπρεπε να ξαναγραφτούν. Java 6 (jdk1.6) Δεκέμβριος 2006 Το Δεκέμβριο του 2006 η Sun ανακοινώνει την επόμενη έκδοση της Java, η ο- ποία έχει το όνομα Java SE 6. Η νέα έκδοση ονομάζεται επίσης και JDK 6 ή JDK ή Java 6.0. Νέα χαρακτηριστικά: Ολοκληρωμένες υπηρεσίες Ιστού, JDBC 4.0 API, υποστήριξη σεναρίων. Java 7 (jdk 1.7) Ιούλιος 2011 Στις 28 Ιουλίου του 2011 κυκλοφορεί η Java 7 (jdk 1.7.0) εισάγοντας νέα χαρακτηριστικά, όπως η δυνατότητα χρήσης αλφαριθμητικών στις εντολές switch, ο χειρισμός πολλαπλών εξαιρέσεων, και το πακέτο Java nio. Σημαντικό είναι ότι η νέα κυκλοφορία της Java έγινε από την εταιρεία Oracle Corporation, η οποία από τον Ιανουάριο του 2010 είχε εξαγοράσει την εταιρεία Sun. Java 8 Μάρτιος 2014 Στις 18 Μαρτίου 2014 κυκλοφόρησε η έκδοση 8 (Java 8). Η Java SE 8 είναι αποτέλεσμα ανάπτυξης από το σύνολο της «κοινότητας Java», με αναθεωρήσεις και ευρεία συνεργασία ανάμεσα στους μηχανικούς της Oracle και μέλη της ανά τον κόσμο κοινότητας των προγραμματιστών Java. Μερικά νέα χαρακτηριστικά της έκδοσης 8 είναι: Εκφράσεις λάμδα (Lambda Expressions). Διοχετεύσεις και ρεύματα (Pipelines & Streams).

23 Κεφάλαιο 1: Εισαγωγή 27 Καινούργια βιβλιοθήκη ημερομηνίας και ώρας (Date and Time API). H JavaScript μηχανή Nashorn. (Nashorn JavaScript Engine). Βελτιωμένη έκδοση της εικονικής μηχανής HotSpot. Ξεκίνημα με την Java Για να μπορέσουμε να γράψουμε προγράμματα σε γλώσσα Java, χρειάζεται να διαθέτουμε το ειδικό πακέτο ανάπτυξης εφαρμογών, το JDK (Java Development Kit ). To JDK είναι κάτι παραπάνω από μια γλώσσα προγραμματισμού: περιέχει μια ομάδα από εργαλεία, στα οποία συμπεριλαμβάνονται μεταγλωττιστής, διερμηνευτής, αποσφαλματωτής (debugger), αποσυμβολομεταφραστής (disassembler), κ.λπ. Μπορούμε να το μεταφορτώσουμε δωρεάν από την ειδική σελίδα της Oracle. Εικ. 1.4 Η ιστοσελίδα της Oracle για τη μεταφόρτωση της Java.

24 28 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Στη σελίδα παρατηρούμε ότι προς τη δεξιά πλευρά υπάρχουν ενδείξεις και κουμπιά μεταφόρτωσης (download) α) για το JDK, β) για τον Server JRE, και γ) για το JRE. To JRE (Java Runtime Environment) είναι το πακέτο το οποίο πρέπει να εγκαταστήσει ο χρήστης στον υπολογιστή του προκειμένου να εκτελεί εφαρμογές Java. Το Server JRE είναι το αντίστοιχο πακέτο που πρέπει να εγκαταστήσει ο διαχειριστής σε ένα διακομιστή ώστε να μπορούν να εκτελούνται στο διακομιστή εφαρμογές Java. Εμάς μας ενδιαφέρει το κατέβασμα και η εγκατάσταση του JDK. Πατώντας στο κουμπί-σύνδεσμο DOWNLOAD κάτω από την ένδειξη JDK, οδηγούμαστε στη σελίδα μεταφόρτωσης. Εικ. 1.5 Από την ιστοσελίδα μεταφόρτωσης μπορούμε να επιλέξουμε την έκδοση του JDK για το λειτουργικό σύστημα που χρησιμοποιούμε.

25 Κεφάλαιο 1: Εισαγωγή 29 Στη σελίδα αυτή μπορούμε να επιλέξουμε το είδος του πακέτου που θα κατεβάσουμε, ανάλογα με το λειτουργικό σύστημα που χρησιμοποιούμε. Αφού κάνουμε την ε- πιλογή μας, οδηγούμαστε στη διαδικασία της μεταφοράς του πακέτου στον υπολογιστή μας. Το JDK είναι το μόνο απαραίτητο εργαλείο για να αρχίσει κανείς να γράφει προγράμματα, όμως δεν είναι ό,τι πιο εύκολο στη χρήση του. Για το λόγο αυτόν υπάρχουν προϊόντα τόσο από την Oracle όσο και από τρίτους κατασκευαστές, τα οποία ονομάζονται ενοποιημένα περιβάλλοντα ανάπτυξης (Integrated Development Environments, IDE) και μας βοηθούν να γράφουμε πιο εύκολα εφαρμογές Java. Μερικά από τα πιο δημοφιλή IDE για Java είναι το NetBeans, το Eclipse ( eclipse.org), το IntelliJ ( το BlueJ ( org/), το jedit ( και πολλά άλλα, από τα οποία τα περισσότερα είναι δωρεάν. Το IDE που διατίθεται από την Oracle είναι το NetBeans, και αν παρατηρήσουμε στην Εικόνα 1.4 προσφέρεται και αυτό για δωρεάν μεταφόρτωση. Περισσότερες πληροφορίες για τα ενοποιημένα περιβάλλοντα ανάπτυξης και για το πώς χρησιμοποιούμε κάποια από αυτά θα δούμε στο Κεφάλαιο 19. Αρκετοί είναι αυτοί που ξεκινούν το πρώτο τους πρόγραμμα μέσα από ένα IDE, εμείς όμως θα ξεκινήσουμε από το JDK το οποίο μόλις μεταφορτώσαμε στον υπολογιστή μας. Το αρχείο που περιέχει το JDK είναι αυτοαποσυμπιεζόμενο (self extracting), α- ποσυμπιέζεται δηλαδή και αρχίζει να εγκαθίσταται μόνο του, αρκεί να διπλοπατήσουμε με το ποντίκι στο όνομα ή στο εικονίδιό του. Εικ. 1.6 Το πακέτο του jdk που κατεβάσαμε προς εγκατάσταση.

26 30 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Εικ. 1.7 Η εγκατάσταση γίνεται στο φάκελο «Αρχεία Εφαρμογών» και στον υποφάκελο Java. Η εγκατάσταση θα γίνει μέσα στο φάκελο Αρχεία Εφαρμογών, στον υποφάκελο Java. Εκεί θα δημιουργηθούν από το πρόγραμμα οι κατάλληλοι υποφάκελοι, όπως μπορούμε να δούμε στην Εικόνα 1.7. Στον υποφάκελο bin υπάρχουν τα εργαλεία ανάπτυξης της γλώσσας, όπως ο μεταγλωττιστής, ο διερμηνευτής, ο αποσφαλματωτής, και πολλά άλλα. Για να μπορούμε να χρησιμοποιούμε τα εργαλεία της Java σε όποιο φάκελο και αν βρισκόμαστε, πρέπει να δηλώσουμε το φάκελο bin στη μεταβλητή περιβάλλοντος Path του λειτουργικού συστήματος που χρησιμοποιούμε. Η ρύθμιση της μεταβλητής γίνεται με παρόμοιο τρόπο για όλα τα λειτουργικά συστήματα. Στα Windows 7, για παράδειγμα, διπλοπατάμε στο εικονίδιο Υπολογιστής (ή πατάμε στο κουμπί Έναρξη Υπολογιστής) και στο παράθυρο που εμφανίζεται επιλέγουμε Ιδιότητες συστήματος.

27 Κεφάλαιο 1: Εισαγωγή 31 Εικ. 1.8 Από το παράθυρο «Υπολογιστής», επιλέγουμε «Ιδιότητες συστήματος». Από το παράθυρο που εμφανίζεται στη συνέχεια, επιλέγουμε στην αριστερή πλευρά Ρυθμίσεις συστήματος για προχωρημένους για να εμφανίσουμε το παράθυρο με τις ιδιότητες του συστήματος. Εικ. 1.9 Από το παράθυρο «Ιδιότητες συστήματος» επιλέγουμε «Μεταβλητές περιβάλλοντος».

28 32 ΕΙΣΑΓΩΓΗ ΣΤΗΝ JAVA Εικ Επιλέγουμε τη μεταβλητή Path (1), πατάμε στο κουμπί Επεξεργασία (2), και συμπληρώνουμε το περιεχόμενο της Path (3). Στο παράθυρο Ιδιότητες συστήματος πατάμε στο κουμπί Μεταβλητές περιβάλλοντος 3 για να εμφανιστεί το αντίστοιχο παράθυρο. Στις μεταβλητές περιβάλλοντος, βρίσκουμε τη μεταβλητή Path και πατώντας στο κουμπί Επεξεργασία συμπληρώνουμε το περιεχόμενό της προσθέτοντας τη διαδρομή προς το φάκελο bin της εγκατάστασης που έχουμε κάνει για την Java: ;C:\Program Files\Java\jdk1.8.0_25\bin; (Εννοείται ότι εσείς θα πρέπει να γράψετε τη διαδρομή ανάλογα με την έκδοση της Java που εγκαταστήσατε στον υπολογιστή σας και το φάκελο στον οποίο την έχετε τοποθετήσει ). Μια άλλη σημαντική μεταβλητή περιβάλλοντος για την εκτέλεση των προγραμμάτων της Java είναι η μεταβλητή CLASSPATH. Στην CLASSPATH τοποθετούνται οι φάκελοι με τις κλάσεις 4 που θα συμπεριλαμβάνονται στα προγράμματά μας. Εάν δεν 3 Οι μεταβλητές περιβάλλοντος διαθέτουν πληροφορίες, τις οποίες το λειτουργικό σύστημα παρέχει σε όλα τα προγράμματα. Χρησιμοποιούνται συνήθως για να ενημερώνουν για τη θέση σημαντικών αρχείων τα οποία βρίσκονται στον υπολογιστή. 4 Είναι τα αρχεία με τον κώδικα byte τα οποία θα εκτελεστούν από την εικονική μηχανή της Java. Θα αναφερθούμε σε αυτά σε αμέσως επόμενη ενότητα.

29 Κεφάλαιο 1: Εισαγωγή 33 Εικ Η μεταβλητή CLASSPATH πρέπει να περιλαμβάνει τις θέσεις στις οποίες βρίσκονται οι κλάσεις μας. υπάρχει στο σύστημα μεταβλητή CLASSPATH, η προεπιλεγμένη τιμή της είναι ο τρέχων φάκελος. Εάν υπάρχει, πρέπει να περιλαμβάνει και τον τρέχοντα φάκελο. Ο τρέχων φάκελος παριστάνεται με μια τελεία (.). Έστω ότι θέλουμε οι κλάσεις μας να βρίσκονται στη θέση: c:\myprograms\kef1 Μεταβαίνουμε στο παράθυρο με τις μεταβλητές περιβάλλοντος και είτε δημιουργούμε (αν δεν υπάρχει), είτε τροποποιούμε τη μεταβλητή CLASSPATH έτσι ώστε να περιλαμβάνει αφενός τον τρέχοντα φάκελο, και αφετέρου τον παραπάνω φάκελο. Η τιμή δηλαδή της CLASSPATH θα είναι: ;.; c:\myprograms\kef1 Εάν υπάρχουν και άλλοι φάκελοι στους οποίους έχουμε τοποθετήσει κλάσεις προσθέτουμε στην CLASSPATH τη διαδρομή τους με ανάλογο τρόπο. Το περιβάλλον της γλώσσας Όπως αναφέραμε και στην εισαγωγή, η Java μπορεί να δημιουργήσει προγράμματα τα οποία εκτελούνται σε μια ποικιλία υπολογιστών και λειτουργικών συστημάτων. Αυτό το καταλαβαίνουμε καλύτερα αν παρατηρήσουμε τα παρακάτω σχήματα, όπου

30

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1 Εισαγωγή... 19 Τι είναι η Java... 19 Η ιστορία της Java... 23 Εκδόσεις της Java... 25 Ξεκίνημα με την Java... 27 Το περιβάλλον της γλώσσας... 31 Δημιουργία μιας εφαρμογής

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

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

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

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

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

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

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

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

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

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

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

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

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11 Περιεχόμενα Πρόλογος... 11 Μέρος 1: Βασικές έννοιες της πληροφορικής... 13 1.1 Windows XP... 15 1.2 Επιφάνεια εργασίας... 19 1.3 Γραμμή εργασιών... 24 1.4 Χειρισμός παραθύρων... 30 1.5 Μενού... 36 1.6

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν μια

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

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

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

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

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

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

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

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

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

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

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

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

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013 ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013 1. Δίκτυα Υπολογιστών και Διαδίκτυο... 3 1.1. Όροι Και Έννοιες... 3 1.2. Ασφάλεια Στο Διαδίκτυο... 5 2. Περιήγηση στον Παγκόσμιο Ιστό 7 Το Περιβάλλον Ενός Φυλλομετρητή...

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

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

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) Πληροφορίες Μαθήματος Διαλέξεις Δευτέρα, Πέμπτη 10:30-12:00 Κτήριο ΘΕΕ01, Αίθουσα 202 Εργαστήριο Τετάρτη 10:30-12:00, Κτήριο ΘΕΕ01,

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

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

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

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS. Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java

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

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

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

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

Περιεχόμενα Πώς να χρησιμοποιήσετε το βιβλίο... 7 Αντί προλόγου... 9 Κεφάλαιο 1: Κεφάλαιο 2: Κεφάλαιο 3: Κεφάλαιο 4: Κεφάλαιο 5: Πώς να δημιουργήσω το Προφίλ μου και να γίνω μέλος στο Facebook;... 15 Τι

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5. Περιεχόμενα Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5 Περιεχόμενα 1 Βασικές Έννοιες σε Εφαρμογές με Γραφικά... 12 1.1 Οι συνιστώσες τηs Java... 12 1.2 Tα πακέτα για συνιστώσες.... 12 1.3 Η κλάσεις στο πακέτο

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

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

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Python Σύνοψη Σε αυτό το κεφάλαιο κάνουμε μια σύντομη εισαγωγή στην Python και στα εργαλεία λογισμικού που θα χρησιμοποιήσουμε στη συνέχεια του συγγράμματος. Προαπαιτούμενη γνώση

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

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

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

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

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

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

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

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

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

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

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

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

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MSSQL Manager Αναλυτικός οδηγός χρήσης: MS SQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail

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

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α

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

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

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

Περιεχόμενα. Πρόλογος...11 Περιεχόμενα Πρόλογος...11 Κεφάλαιο 1: Εισαγωγή...13 Η ιστορία της JavaScript...13 Τι είναι η JavaScript...15 Διαφορά μεταξύ σεναρίου και προγράμματος...16 Δυνατότητες και περιορισμοί της JavaScript...16

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

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

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

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

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν μια

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Στόχοι εργαστηρίου Εξοικείωση με τις βασικές

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

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

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

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προγραμματισμός Διαδικτύου Ενότητα 11 : Το πακέτο SWING Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;... Περιεχόμενα Αντί προλόγου... 7 Πώς να χρησιμοποιήσετε το βιβλίο... 13 Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...15 Κεφάλαιο 2: Τι βλέπω στην οθόνη μου όταν ολοκληρώσω τη δημιουργία του Προφίλ

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

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα

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

Copyright 2017 HP Development Company, L.P.

Copyright 2017 HP Development Company, L.P. Οδηγός χρήσης Copyright 2017 HP Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για τα προϊόντα και τις υπηρεσίες της HP είναι

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

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

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο. Εισηγητής : Χρήστος Μανώλης δάσκαλος Θεσσαλονίκη Οκτώβριος - Δεκέμβριος

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

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

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

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

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

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

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

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

Σημείωση για το προϊόν

Σημείωση για το προϊόν Έναρξη από εδώ Copyright 2013 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της Microsoft Corporation στις ΗΠΑ. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

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

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

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

Java sessions. Part 1 - Βασικά έννοιες - μέθοδοι

Java sessions. Part 1 - Βασικά έννοιες - μέθοδοι Java sessions Part 1 - Βασικά έννοιες - μέθοδοι Ενότητα 1 Η γλώσσα Java 1.1 - Ιστορία Ξεκίνησε το 1995 από τον James Gosling, υπάλληλο της Sun Microsystems Αρχικά ονομάστηκε Oak, αργότερα άλλαξε σε Java

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

Γεωργάκης Αριστείδης ΠΕ20

Γεωργάκης Αριστείδης ΠΕ20 1 Εκκίνηση για πρώτη φορά Όπως συμβαίνει και με τις υπόλοιπες εφαρμογές του OpenOffice, έτσι και το Impress μπορούμε να το εκκινήσουμε μέσω της συντόμευσης που εγκαθίσταται αυτόματα στην επιφάνεια εργασίας

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

Windows 8 2_windows8.indd 39 10/5/2014 2:10:10 μμ 10/5/2014 2:10:10

Windows 8 2_windows8.indd 39 10/5/2014 2:10:10 μμ 10/5/2014 2:10:10 2_windows8.indd 39 10/5/2014 2:10:10 μμ Εισαγωγή στα 1 ΚΥΡΙΑ ΣΗΜΕΙΑ ΤΟΥ ΚΕΦΑΛΑΙΟΥ Εισαγωγή στα Windows Διαφοροποίηση των.1 από άλλες εκδόσεις Χειρισμός των Windows με ποντίκι και αφή Οθόνη κλειδώματος

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

Certified Java Programmer (CJP)

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

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος: 2010-2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου 1. Εισαγωγή 2. Εντολές Εκχώρησης και Τελικές μεταβλητές 3. Μεταγλώττιση και διερμηνεία των

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

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Αρχείων Βασίλης Σακκάς 11/12/2013 1 Διαχείριση Αρχείων 1 Μακρόχρονη αποθήκευση πληροφοριών 1. Αποθήκευση μεγάλου όγκου δεδομένων 2. Οι αποθηκευμένες πληροφορίες πρέπει

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

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

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

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

Java 7. Οδηγός της. Εκδόσεις: Μ. Γκιούρδας. Herbert Schildt. 5 η ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού

Java 7. Οδηγός της. Εκδόσεις: Μ. Γκιούρδας. Herbert Schildt. 5 η ΕΚ ΟΣΗ. Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Οδηγός της Java 7 5 η ΕΚ ΟΣΗ Herbert Schildt Απόδοση: Αγαμέμνων Μήλιος Μηχανικός Λογισμικού Εκδόσεις: Μ. Γκιούρδας Ζωοδόχου Πηγής 70-74 - Τηλ.: 210 3630219 106 81 Αθήνα, 2012 www.mgiurdas.gr 00_CONT_java.indd

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

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

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel...9

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel...9 Περιεχόμενα Κεφάλαιο 1 Γνωριμία με το Excel...9 Τα στοιχεία του παραθύρου του Excel... 10 Κελιά και διευθύνσεις... 13 Σε ποιο κελί θα τοποθετηθούν τα δεδομένα;... 14 Καταχώριση δεδομένων... 15 Τι καταλαβαίνει

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων IDLE - Διαδικασία ανάπτυξης προγραμμάτων Python - Απλά προγράμματα

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

Μάθημα 4ο. Προγράμματα

Μάθημα 4ο. Προγράμματα Μάθημα 4ο Προγράμματα Σελίδα 47 από 106 4.1 Εγκατάσταση προγραμμάτων Όπως έχουμε πει στο πρώτο μάθημα (Σημειώσεις 1ου Μαθήματος 1.3.3.Β σελ. 12) τα προγράμματα ή αλλιώς εφαρμογές αποτελούν μέρος του λογισμικού

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

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

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 1 Προγραμματισμός Υπολογιστή Καραμαούνας Πολύκαρπος 1 7.1 Η προγραμματιζόμενη μηχανή Από τις βασικότερες διαφορές ανάμεσα στον υπολογιστή και στις περισσότερες ηλεκτρονικές συσκευές είναι η δυνατότητα

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

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

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

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

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

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

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

Οδηγός γρήγορης εκκίνησης

Οδηγός γρήγορης εκκίνησης Οδηγός γρήγορης εκκίνησης Το Microsoft Word 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης. Γραμμή

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

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

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

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

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

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

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

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

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

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

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

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 6.1 Γλώσσες και εργαλεία προγραμματισμού Τι είναι οι γλώσσες προγραμματισμού; Είναι οι τεχνητές γλώσσες στις οποίες γράφονται οι εντολές των

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

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

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

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

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήρια Δευτέρα 18:00-20:00,Τρίτη

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

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

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

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού. Κεφάλαιο 6 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία σημαντικά στάδια : Σον ακριβή προσδιορισμό του προβλήματος Σην ανάπτυξη του αντίστοιχου αλγορίθμου

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας

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

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου 1. Τι ονομάζουμε κόμβο και τι σύνδεσμο σε μια μη γραμμικά διαρθρωμένη ύλη; Με την έννοια σύνδεσμος (link) σε μια μη γραμμικά διαρθρωμένη

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

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

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

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

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