ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer...

23
Ειδικά Θέματα Προγραμματισμού Ενότητα 1: Εισαγωγή Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Transcript of ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer...

Page 1: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Ειδικά Θέματα Προγραμματισμού

Ενότητα 1: Εισαγωγή

Μιχάλας Άγγελος

Τμήμα Μηχανικών Πληροφορικής ΤΕ

Page 2: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Άδειες Χρήσης

• Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

• Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

2

Page 3: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Χρηματοδότηση • Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα

πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

• Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα του ΤΕΙ Δυτικής Μακεδονίας και της Ανώτατης Εκκλησιαστικής Ακαδημίας Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού.

• Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

3

Page 4: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Εισαγωγή

Page 5: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Σκοποί ενότητας

• Σε αυτή την εκπαιδευτική ενότητα κάνουμε μια εισαγωγή στη γλώσσα προγραμματισμού Java.

5

Page 6: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Περιεχόμενα ενότητας (1/2)

• Εισαγωγή στη Java.

• Χρήσιμες Διευθύνσεις.

• Χαρακτηριστικά της Java.

• Εργαλεία της Java.

• Μεταγλώττιση στοιχειωδών εφαρμογών.

6

Page 7: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

• Δομή ενός αυτόνομου προγράμματος σε Java.

• Μια απλή εφαρμογή.

• Μια παραλλαγή με εισαγωγή δεδομένων.

• Δημιουργία ενός Java applet.

• Hello.html που καλεί το Applet.

7

Περιεχόμενα ενότητας (2/2)

Page 8: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Χρήσιμες Διευθύνσεις

• Java Tutorial.

– http://download.oracle.com/javase/tutorial.

• Java API.

– http://download.oracle.com/javase/1.5.0/docs/api.

• Java Platform.

– http://www.oracle.com/technetwork/java/javase/downloads/index.html.

8

Page 9: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Χαρακτηριστικά της Java (1/2) • Αντικειμενοστραφής.

– Εφαρμόζονται οι κλασικές έννοιες αντικειμενοστραφούς προγραμματισμού (κλάσεις, αντικείμενα, κληρονομικότητα κοκ).

• Κατανεμημένη. – Είναι δυνατός ο συντονισμός εκτέλεσης

τμημάτων κώδικα που εγκαθίστανται σε διαφορετικούς υπολογιστές.

• Πολυνηματική (Multithreaded). – Επιτρέπει την ταυτόχρονη εκτέλεση πολλών

νημάτων κώδικα (threads).

9

Page 10: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Χαρακτηριστικά της Java (2/2)

• Μεταφέρσιμη (Portable). – Ο ίδιος κώδικας μπορεί να εκτελεστεί σε

οποιονδήποτε υπολογιστή ανεξαρτήτως OS. (Αρκεί να είναι εγκατεστημένος ο αντίστοιχος μεταγλωττιστής Java).

• Ασφαλής. – Αποτρέπεται η μη εξουσιοδοτημένη πρόσβαση

στους σταθμούς πελατών που εκτελούν κώδικα σε Java μέσω δικτύου (λ.χ. applets).

10

Page 11: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Εργαλεία της Java (1/2)

• Java compiler (javac). – Μεταγλωττίζει πηγαίο κώδικα της Java

(myClass.java) σε αρχεία κλάσεων (myClass.class).

– Σε αντίθεση με τη γλώσσα C, ο compiler της Java ΔΕΝ εξάγει εκτελέσιμο πρόγραμμα (.exe).

• Java Interpreter (java). – Χρησιμοποιείται για την εκτέλεση ενός αρχείου

myClass.class μετά τη φάση της μεταγλώττισης.

11

Page 12: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Εργαλεία της Java (2/2)

• Applet viewer (appletviewer). – Χρησιμοποιείται για την εκτέλεση και γραφική

απεικόνιση των Java applets σε περιβάλλον γραμμής εντολών (DOS mode).

– Εναλλακτικά τα applets εκτελούνται από Java enabled web browsers (Netscape, Internet Explorer, Mozilla).

12

Page 13: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Μεταγλώττιση στοιχειωδών εφαρμογών

Σχήμα 1. Επεξεργαστής κειμένου.

13

Page 14: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Δομή ενός αυτόνομου προγράμματος σε Java (1/3)

• Κάθε αυτόνομο πρόγραμμα σε Java αποτελείται από μία κλάση (σύνθετος τύπος δεδομένων).

• Η κλάση ενός αυτόνομου προγράμματος περιέχει μια κύρια συνάρτηση-μέλος που δεν επιστρέφει τιμή (void main) και που ο κώδικάς της εκτελείται κατά την έναρξη του προγράμματος.

14

Page 15: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Δομή ενός αυτόνομου προγράμματος σε Java (2/3)

15

Page 16: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Δομή ενός αυτόνομου προγράμματος σε Java (3/3)

• *String[] args. – Array με strings που ο χρήστης περνάει ως

παραμέτρους στο πρόγραμμα από τη γραμμή εντολών.

16

Page 17: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Μια απλή εφαρμογή

1. Εγγραφή πηγαίου κώδικα σε αρχείο

(HelloWorld.java).

2. Μεταγλώττιση του κώδικα

javac HelloWorld.java.

3. Εκτέλεση κώδικα

java HelloWorld.

17

Page 18: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Μια παραλλαγή με εισαγωγή δεδομένων

1. Εγγραφή πηγαίου κώδικα σε αρχείο (PrintMe.java).

2. Μεταγλώττιση του κώδικα

javac PrintMe.java.

3. Εκτέλεση κώδικα

java PrintMe arg1 arg2 arg3 ….

18

Page 19: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Δημιουργία ενός Java applet

javac HelloWorldApp.java

19

Page 20: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Hello.html που καλεί το Applet (1/2)

20

Page 21: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Hello.html που καλεί το Applet (2/2)

• Φορτώστε το HTML αρχείο σε κάποιον Java-enabled browser πχ το Internet Explorer και θα δείτε το αποτέλεσμα "Hello World!" μέσα από τον browser.

21

Page 22: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Βιβλιογραφία 1. “Java προγραμματισμός”, Όγδοη έκδοση, Deitel Paul J., Deitel

Harvey M., Εκδόσεις Γκιούρδας Μ..

2. “Απόλυτη Java”, Savitch, Εκδόσεις ΙΩΝ, 2008.

3. “Πλήρες εγχειρίδιο της Java 6”, Lemay Cadenhead, Εκδόσεις Γκιούρδας Μ., Αθήνα 2007.

4. http://download.oracle.com/javase/tutorial, προσπελάστηκε

12/2014.

5. http://download.oracle.com/javase/1.5.0/docs/api, προσπελάστηκε 12/2014.

6. http://www.oracle.com/technetwork/java/javase/downloads/index.html, προσπελάστηκε 12/2014.

22

Page 23: ιικά έμανα Προραμμανισμού - TEIWM · 2015-12-02 · •Applet viewer (appletviewer). –ρησιμοποιεί αι για ην εκέλεση και γραφική

Τέλος Ενότητας