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

Σχετικά έγγραφα
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

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

ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΑΤΙΣΜΟΣ Α (C++) ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΤΩΝ Δρ. Νικόλαος Ζ. Ζάχαρης

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

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

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

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

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

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

Πληροφορίες για το μάθημα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

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

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Ανάπτυξη Plugins για το AgentSheets

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ

Τύποι δεδομένων, τελεστές, μεταβλητές

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

3. Εκφράσεις και έλεγχος ροής

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

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

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

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

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

. Μεθοδολογία Προγραμματισμού. Εισαγωγή στη Java. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

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

6. Εισαγωγή στον προγραµµατισµό

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

B. Ενσωμάτωση Ιθαγενών Μεθόδων

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

2.1. Εντολές Σχόλια Τύποι Δεδομένων

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Γλώσσα προγραμματισμού python

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις

Εργαλεία ανάπτυξης εφαρμογών internet Ι

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

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Η γλώσσα προγραμματισμού C

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

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

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

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

Προγραμματισμός Ι (HY120)

Δομημένος Προγραμματισμός

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

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

Transcript:

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

Εισαγωγή στη Java Java is not just a programming language, but literally a world of information technology, in which a broad range of technologies have become easily accessible by enterprise applications developers. (Deitel& Deitel, 1999) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 2

Αντικειμενοστραφής προγραμματισμός Τεχνική προγραμματισµού, κεντρική ιδέα: κλάση Στιγμιότυπο κλάσης = αντικείμενο Βασικό γνώρισμα του αντικ/φούς προγρ/σμού: κληρονομικότητα Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 3

Java vs JavaScript H JavaScript και η Java είναι δύο αντικειμενοστραφείς γλώσσες προγραμματισμού, που δεν έχουν σχεδόν τίποτα κοινό εκτός από το όνοmα τους. Η JavaScript σχεδιάστηκε αρχικά για να μοιάζει στην Java, η οποία µε τη σειρά της μοιάζει στη C και στη C++. H Java αναπτύχθηκε ως µία γλώσσα γενικού σκοπού, ενώ η JavaScript περιορίζεται στην ανάπτυξη ιστοσελίδων µε απλό και γρήγορο τρόπο. Η JavaScript είναι πιο εύκολη στη χρήση της από την Java. O κώδικας της JavaScript ενσωματώνεται στην σελίδα HTML ως µία απλή ακολουθία μεθόδων, δηλώσεων και εντολών. Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 4

Java vs JavaScript Ο κώδικας JavaScript φορτώνεται ως μέρος του εγγράφου HTML και εκτελείται από τους περισσότερους browser χωρίς να απαιτείται εκ των προτέρων μεταγλώττιση (compilation). Οι γλώσσες σεναρίων επιτρέπουν τη διασύνδεση εντολών µε αντικείμενα της σελίδας, αλλά δεν έχουν απόλυτο έλεγχο πάνω στην εμφάνιση της σελίδας. Η Java επιτρέπει ολόκληρες εφαρμογές, που ονομάζονται applets, να κατεβαίνουν και να τρέχουν στο μηχάνημα του χρήστη. Οι εφαρμογές σε Java δεν εξαρτώνται από το browser. Η Java δε χρησιμοποιείται µόνο για ανάπτυξη εφαρμογών στο ιαδίκτυο. Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 5

Περισσότερα για Java Αναπτύχθηκε κυρίως για να επιλύσει το πρόβλημα της ασυμβατότητας και της µη μεταφερσιμότητας (portability) των προγραμμάτων σε διαφορετικά μηχανήματα και επεξεργαστές. Ο προγραμματισμός σε Java είναι διαφορετικός διότι δε χρειάζεται να ενσωματωθούν κλήσεις σε βιβλιοθήκες του συγκεκριμένου λειτουργικού συστήματος (π.χ. Windows, MacOS). H Java έχει δικές της βιβλιοθήκες, που ονομάζονται πακέτα (packages). Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 6

Περισσότερα για Java Τα προγράμματά της δεν παρουσιάζουν διαφορά στην εκτέλεσή τους από διαφορετικούς επεξεργαστές. Ο μεταγλωττιστής της Java δεν μεταφράζει το πρόγραμμα σε πρωτογενείς εντολές, αλλά σε bytecode που εκτελούνται από τη JVM (Java Virtual Machine). Η JVM δεν είναι µία πραγματική μηχανή, αλλά ένα λογισμικό το οποίο έχει υλοποιηθεί από την εταιρεία Sun, σε διάφορες εκδόσεις, για τις πιο συνηθισμένες πλατφόρμες. Το αρχείο, που έχει μορφή bytecode (δηλαδή το αρχείο class), φορτώνεται σε µία μηχανή και εκτελείται από τη JVM της μηχανής αυτής. Η JVM διαβάζει το αρχείο class και εκτελεί τις εντολές που έχουν προσδιοριστεί στο αρχείο Java. Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 7

Περισσότερα για Java Η Java είναι µία αντικειμενοστραφής γλώσσα προγραμματισµού και οι εφαρμογές σε Java αντιμετωπίζονται σαν ένα σύνολο από κλάσεις που σχετίζονται μεταξύ τους. Οι κλάσεις περιλαμβάνουν μεθόδους που είτε έχουν υλοποιηθεί και υποστηρίζονται από τη Java είτε μπορούν να οριστούν και να δημιουργηθούν από προγραμματιστές. Η Java επέκτεινε τις βιβλιοθήκες για να υποστηρίξουν δικτυακή επικοινωνία. Για παράδειγμα η Java επιτρέπει να πραγματοποιηθεί µία σύνδεση µε µία σελίδα ή µία εφαρμογή ιαδικτύου και να γράψει ή να διαβάσει δεδομένα. Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 8

Τύποι δεδομένων Η Java πιο αυστηρή στη δήλωση μεταβλητών από Javascript. Ο τύπος δηλώνεται εξαρχής και δεν μπορεί να αλλάξει Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 9

Τελεστές Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 10

Ορισμός αντικειμένου στη Java Για να χρησιμοποιήσουμε ένα αντικείμενο στη Java πρέπει πρώτα να το δηλώσουμε και να το αρχικοποιήσουμε. Παράδειγμα: Button b; b = new Button() ή Button b = new Button(); Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 11

Πίνακες στη Java Οι πίνακες στη Java δεν είναι απλοί τύποι δεδομένων αλλά κλάσεις. Για να ορίσουμε έναν πίνακα, πρώτα δηλώνουμε τι τύπου είναι και στη συνέχεια ορίζουμε ένα συγκεκριμένο αντικείμενο για τον πίνακα αυτόν. Παράδειγμα: float[] arrayoffloats = new float[]; Για να αναφερθούμε σε ένα στοιχείο του πίνακα χρησιµοποιούμε το όνοµα του πίνακα και τη θέση του στοιχείου, π.χ. arrayoffloats[6] Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 12

Συμβολοσειρές στη Java Η συμβολοσειρά (String) στη Java είναι μια κλάση και όχι ένας απλός τύπος δεδομένων. Ισοδύναμοι τρόποι ορισμού και ανάθεσης τιμής σε συμβολοσειρά: String str = sentence ; ή String str = new String( sentence ); ή Char data[] = { s, e, n, t, e, n, c, e }; String str = new String(data); Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 13

Εντολές υπό συνθήκη στη Java if else String remark; if (grade>=5) { remark = You passed ;} else {remark = You have failed ;} if else if String remark; if (grade>=8.5) {remark = Excellent ;} else if (grade>=6.5 && grade<8.5){remark = Very Good ;} else if (grade>=5 && grade<6.5){remark = Good ;} else {remark = Fail ;} Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 14

Εντολές υπό συνθήκη στη Java switch case Int weekday=4; switch (weekday) { case 1: System.out.println( Sunday ); break; case 2:System.out.println( Monday );break; case 3:System.out.println( Tuesday );break; case 4:System.out.println( Wednesday );break; case 5:System.out.println( Thursday );break; case 6:System.out.println( Friday );break; case 7:System.out.println( Saturday );break;} Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 15

Εντολές βρόχου στη Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 16

Σχόλια στη Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 17