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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές

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

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

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

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

Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java

8. Μέθοδοι (Methods)

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

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

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

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

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

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

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

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

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

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 1/4/2008

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

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

Δομημένος Προγραμματισμός (ΤΛ1006)

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

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

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

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

Δεδομένα, τελεστές, είσοδος/έξοδος

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

Mεταβλητές (variables) και Σταθερές (constants)

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

Transcript:

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 6/3/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr

Βασικό λεξιλόγιο Μία ενότητα κώδικα, ένα πρόγραμμα κατά την ορολογία των διαδικαστικών γλωσσών προγραμματισμού ονομάζεται κλάση (class) Οι υπορουτίνες της ονομάζονται μέθοδοι (methods) Μία κλάση μπορεί να ορίζει μεθόδους για δική της χρήση (ιδιωτικές μέθοδοι) ή για χρήση από άλλες κλάσεις (δημόσιες μέθοδοι) Όταν καλούμε μία μέθοδο, στέλνουμε ένα μήνυμα (message) στο αντικείμενο του οποίου η κλάση υλοποιεί την ομώνυμη μέθοδο. Το πλήρες όνομα της μεθόδου είναι ΌνομαΚλάσης.ΌνομαΜεθόδου και ακολουθεί η λίστα παραμέτρων Μπορούμε να δηλώσουμε τις ιδιότητες (properties) που περιλαμβάνει μία κλάση σα να ορίζαμε ένα νέο τύπο δεδομένων Σε αυτή την περίπτωση οι κλάσεις λειτουργούν ως πρότυπα ή καλούπια δεδομένων Κατά την εκτέλεση δημιουργούνται αντικείμενα (objects) που είναι στιγμιότυπα των κλάσεων

Βασικές αρχές λειτουργίας ενός τυπικού περιβάλλοντος Java Συστήματα ανάπτυξης εφαρμογών σε Java Αποτελούνται από το περιβάλλον ανάπτυξης, την γλώσσα, Java Applications Programming Interface (API), class libraries Τα προγράμματα Java ακολουθούν τις εξής φάσεις δημιουργίας: Edit (πληκτρολόγηση) Χρήση ενός editor ώστε να γραφτεί το πρόγραμμα Java vi,emacs, notepad, Jbuilder, Visual J++.java extension Compile (μετάφραση) Μεταφράζει το πρόγραμμα σε μορφή που είναι κατανοητή σε έναν μεταφραστή Java javac εντολή: javac myprogram.java Δημιουργεί.class αρχείο που περιέχει σειρά από bytes (myprogram.class)

Βασικές αρχές λειτουργίας ενός τυπικού περιβάλλοντος Java Loading (φόρτωμα) Ο Class loader μεταφέρει το αρχείο τύπου.class στη μνήμη Εφαρμογές: τρέχουν στον υπολογιστή του χρήστη Applets: φορτώνονται, προσωρινά, στο web browser του χρήστη Οι κλάσεις φορτώνονται και εκτελούνται από τον διερμηνευτή με χρήση της εντολής java, π.χ. java Welcome Τα έγγραφα σε μορφή HTML μπορούν να αναφέρονται σε Java Applets, που είναι φορτωμένα στο web browser

Βασικές αρχές λειτουργίας ενός τυπικού περιβάλλοντος Java Verify (επαλήθευση) Ο Bytecode verifier επαληθεύει ότι ο ενδιάμεσος κώδικας είναι σωστός και δεν παραβιάζει την ασφάλεια Η Java πρέπει να είναι ασφαλής δυνατή η πρόκληση προβλημάτων (π.χ. από ιούς) Execute (εκτέλεση) Ο υπολογιστής εκτελεί τον κώδικα, ένα-ένα bytecode Έτσι, εκτελεί τον υπολογισμό που περιγράφεται στο πρόγραμμα Debugging (αποσφαλμάτωση) καθώς τα προγράμματα (συνήθως) δεν τρέχουν σωστά με την πρώτη! Κάνουμε τις απαραίτητες αλλαγές και επαναλαμβάνουμε τη διαδικασία

Βήματα Δημιουργίας Προγράμματος σε Java (1/3) Δημιουργία του πηγαίου κώδικα (source code) με τη χρήση ενός editor (π.χ. Notepad, Textpad, κλπ.) MyProgram.java

Βήματα Δημιουργίας Προγράμματος σε Java (2/3) Μεταγλώττιση (compilation) του πηγαίου κώδικα (MyProgram.java) σε Java bytecode (MyProgram.class) από τον Java Compiler javac MyProgram.java Αν δεν υπάρχουν λάθη MyProgram.class

Βήματα Δημιουργίας Προγράμματος σε Java (3/3) Εκτέλεση προγράμματος του bytecode (MyProgram.class) από τον Java Interpreter java MyProgram Αν δεν υπάρχουν λάθη ΑΠΟΤΕΛΕΣΜΑΤΑ (υπολογισμοί, εκτύπωση στην οθόνη, άλλες λειτουργίες, κλπ.)

Compiling Java

Παρατήρηση H Java είναι case-sensitive (διάκριση μεταξύ πεζών και κεφαλαίων χαρακτήρων) Myprogram MyProgram myprogram

Εκτός από το JDK, επιπλέον Ένας απλός editor (Notepad, WordPad, κλπ.) ή Ένα ολοκληρωμένο περιβάλλον ανάπτυξης IDE (Integrated Development Environment) π.χ. JBuilder, Eclipse, NetBeans, κλπ.

Το πρώτο πρόγραμμα σε Java Παράδειγμα Εκτύπωση μιας γραμμής κειμένου

Εκτύπωση μιας γραμμής κειμένου 1 // Welcome.java 2 // Text-printing program. 3 4 public class Welcome { 5 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.println( "Welcome to Java Programming!" ); 10 11 } // end method main 12 13 } // end class Welcome Welcome to Java Programming!

Δομή προγράμματος class CLASSNAME { public static void main(string[] arguments){ STATEMENTS } }

1 // Welcome.java Σχόλια αρχίζουν με // Αγνοούνται κατά την εκτέλεση Περιγραφή και τεκμηρίωση κώδικα Αναγνωσιμότητα Επίσης με /*... */ /* αυτό είναι ένα παραδοσιακό σχόλιο και μπορεί να χωριστεί σε πολλές γραμμές */ 2 // Text-printing program Άλλο ένα σχόλιο Προσοχή: Οι αριθμοί των γραμμών δεν είναι μέρος του προγράμματος, προστίθενται για ευκολία

4 public class Welcome { Δήλωση κλάσης για την κλάση Welcome Κάθε πρόγραμμα Java έχει τουλάχιστον μία κλάση που ορίζεται από το χρήστη (user-defined class) Λέξη κλειδί class ακολουθούμενη από το όνομα της κλάσης Κατά την επικρατούσα προγραμματιστική σύμβαση τα ονόματα των κλάσεων ξεκινούν με κεφαλαίο Το ίδιο ισχύει για κάθε νέα λέξη εντός του ονόματος της κλάσης Π.χ. SampleClassName

4 public class Welcome { Δήλωση κλάσης για την κλάση Welcome Σειρά χαρακτήρων από γράμματα, ψηφία, underscores ( _ ) και dollar ( $ ) Δεν αρχίζει με ψηφίο, δεν έχει κενά Παραδείγματα: Welcome, $value, _value, button7 7button δεν είναι έγκυρο Η Java διακρίνει τα πεζά και τα κεφαλαία γράμματα (case sensitive) Τα a1 και A1 είναι διαφορετικά Προς το παρόν θα ασχοληθούμε μόνο με public κλάσεις

4 public class Welcome { Αποθήκευση αρχείων Το όνομα το αρχείου προκύπτει από το όνομα της κλάσης με την επέκταση.java Welcome.java Αριστερή αγκύλη { Ξεκινά το σώμα κάθε κλάσης Δεξιά αγκύλη τερματίζει τις δηλώσεις (γραμμή 13) ΠΡΟΣΟΧΗ!!!! Τι γίνεται όταν το όνομα του αρχείου.class είναι διαφορετικό από το όνομα της κλάσης που έχει δηλωθεί ως public μέσα στο αρχείο?

Καλή Προγραμματιστική Τεχνική Όταν πληκτρολογείτε μία αριστερή αγκύλη, {, στο πρόγραμμά σας, αμέσως πληκτρολογείστε και τη δεξιά αγκύλη, }, και μετά βάλτε τον κέρσορα μεταξύ των δύο αγκυλών και ξεκινείστε να γράφετε το σώμα. Έτσι αποφεύγετε λάθη αγκυλών που λείπουν.

7 public static void main( String args[] ) Όλες οι εφαρμογές στη Java ξεκινούν την εκτέλεσή τους σε μία main και περιέχουν μία ή περισσότερες μεθόδους Ακριβώς ΜΙΑ μέθοδος πρέπει να ονομάζεται main Οι μέθοδοι μπορούν να εκτελούν λειτουργίες και να επστρέφουν πληροφορία Το void σημαίνει ότι η main δεν επιστρέφει πληροφορία 8 { Η αριστερή αγκύλη ξεκινά το σώμα της δήλωσης μιας μεθόδου (εδώ της main) Τερματισμός με δεξιά αγκύλη } (γραμμή11)

9 System.out.println( "Welcome to Java Programming!" ); Δίνει οδηγία στον υπολογιστή να εκτελέσει μια λειτουργία Εκτυπώνει string χαρακτήρων String σειρά χαρακτήρων εντός διπλών εισαγωγικών Τα κενά εντός των strings δεν αγνοούνται από τον compiler System.out Στάνταρτ αντικείμενο εξόδου (output object) Εκτύπωση στο command window (δηλ. MS-DOS prompt) Η μέθοδος System.out.println - η println είναι μέθοδος του αντικειμένου System.out Εμφανίζει γραμμή κειμένου Το όρισμα μέσα σε παρενθέσεις Ως εντολή θα πρέπει να τερματίζει με ;

11 } // end method main Τερματίζει τη δήλωση της μεθόδου 13 } // end class Welcome Τερματίζει τη δήλωση της κλάσης Τα σχόλια διευκολύνουν την αναγνωσιμότητα και την παρακολούθηση του προγράμματος

Εκτύπωση μιας γραμμής κειμένου Μεταγλώττιση ενός προγράμματος javac Welcome.java Αν δεν υπάρχουν λάθη, δημιουργείται το αρχείο Welcome.class Περιέχει τα bytecodes που αντιστοιχούν στην εφαρμογή Τα bytecodes περνούν στο μεταφραστή της Java

Εκτύπωση μιας γραμμής κειμένου Εκτέλεση ενός προγράμματος java Welcome Ο μεταφραστής φορτώνει το αρχείο.class για την κλάση Welcome Η επέκταση.class παραλείπεται

You type this command to execute the application The program outputs Welcome to Java Programming! Executing Welcome in a Microsoft Windows Command Prompt window.

Τροποποίηση του πρώτου προγράμματος Τροποποίηση του πρώτου προγράμματος για να εκτυπώνει τα ίδια με πριν 9 System.out.print( "Welcome to " ); 10 System.out.println( "Java Programming!" ); Η γραμμή 9 εμφανίζει Welcome to με τον κέρσορα να παραμένει στη γραμμή Η γραμμή 10 εμφανίζει Java Programming! στην ίδια γραμμή με τον κέρσορα να πηγαίνει επόμενη

1 // Welcome2.java 2 // Printing a line of text with multiple statements. Τροποποίηση του πρώτου 3 4 προγράμματος public class Welcome2 { 5 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.print( "Welcome to " ); 10 System.out.println( "Java Programming!" ); 11 12 } // end method main 13 14 } // end class Welcome2 Η System.out.print διατηρεί τον κέρσορα στην ίδια γραμμή και η System.out.println συνεχίζει στην επόμενη Welcome to Java Programming!

Τροποποίηση του πρώτου προγράμματος Escape χαρακτήρες Backslash ( \ ) Σηματοδοτεί ειδικούς χαρακτήρες Newline characters (\n) Ερμηνεύονται ως ειδικοί χαρακτήρες από τις μεθόδους System.out.print και System.out.println Σημαίνει ότι ο κέρσορας θα πάει στην αρχή της επόμενης γραμμής 9 System.out.println( "Welcome\nto\nJava\nProgramming!" ); Σπάσιμο γραμμής στο \n

1 // Welcome3.java 2 // Printing a line of text with multiple statements. 3 Τροποποίηση του πρώτου 4 public class Welcome3 { 5 προγράμματος 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.println( "Welcome\nto\nJava\n Programming!" ); 11 12 } // end method main 13 14 } // end class Welcome3 Για κάθε ακολουθία \n μία νέα γραμμή είναι η έξοδος Welcome to Java Programming!

Χαρακτήρες διαφυγής...κατά τα γνωστά Escape sequence Description \n Newline. Position the screen cursor at the beginning of the next line. \t Horizontal tab. Move the screen cursor to the next tab stop. \r Carriage return. Position the screen cursor at the beginning of the current line do not advance to the next line. Any characters output after the carriage return overwrite the characters previously output on that line. \\ Backslash. Used to print a backslash character. \" Double quote. Used to print a double-quote character. For example, System.out.println( "\"in quotes\"" ); displays "in quotes"

Κενά White spaces Κενά, κενές γραμμές και tabs ονομάζονται συλλογικά white space και χρησιμοποιούνται για το διαχωρισμό λέξεων και συμβόλων σε ένα πρόγραμμα Extra white space αγνοείται, επομένως ένα έγκυρο Java πρόγραμμα μπορεί να γίνει formatted με πολλούς διαφορετικούς τρόπους Τα προγράμματα θα πρέπει να γράφονται με τέτοιο τρόπο έτσι ώστε να αυξάνεται η αναγνωσιμότητά τους

Εμφάνιση κειμένου με την printf System.out.printf Νέο χαρακτηριστικό στο J2SE 5.0 Εμφανίζει μορφοποιημένα τα δεδομένα Ακολουθία χαρακτήρων μορφής Σταθερό κείμενο Προσδιοριστικό μορφής % και ένας χαρακτήρας που αναπαριστά τον τύπο δεδομένων Π.χ. %s θέση για ακολουθία χαρακτήρων

Εμφάνιση κειμένου με την printf 1 // Welcome3a.java 2 // Printing multiple lines in a dialog box. 3 4 public class Welcome3a 5 { 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 System.out.printf( "%s\n%s\n", 10 "Welcome to", "Java Programming!" ); 11 12 } // end method main 13 14 } // end class Welcome3a System.out.printf εμφανίζει μορφοποιημένα τα δεδομένα Welcome to Java Programming!

Τύποι και μεταβλητές Είδη τιμών που μπορούν να αποθηκευτούν και να τις επεξεργαστεί κάποιος boolean: Truth value (true or false) int: Integer (0, 1, -47) double: Real number (3.14, 1.0, -2.1) String: Text ( hello, example ). Μεταβλητές Ονοματισμένη θέση που αποθηκεύει μία τιμή ενός τύπου. Ορισμός: TYPE NAME; Παράδειγμα:String foo;

Καταχώρηση (Assignment) Χρησιμοποιούμε = για να δώσουμε τιμή σε μεταβλητή Παράδειγμα: String foo; foo = IAP 6.092 ; Μπορεί να συνδυαστεί με δήλωση τύπου Παράδειγμα: double badpi = 3.14; boolean ismarch = true;

Εμφάνιση κειμένου με μεταβλητή 1 // Welcome3b.java 2 // Printing variable value 3 4 public class Welcome3b 5 { 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 String foo= Welcome to Java Programming 10 System.out.println(foo); 11 foo= Something else ; 12 System.out.println(foo); 13 } // end method main 14 15 } // end class Welcome3b Welcome to Java Programming Something else

Τελεστές Σύμβολα για απλούς υπολογισμούς Καταχώρηση: = Πρόσθεση: + Αφαίρεση: - Πολλαπλασιασμός: * Διαίρεση: / Σειρά εκτέλεσης πράξεων Standard κανόνες μαθηματικών: Παρενθέσεις Πολλαπλασιασμός και διαίρεση Πρόσθεση και αφαίρεση

Συνένωση ακολουθιών String Concatenation (+) String text = "hello" + " world"; text = text + " number " + 5; // text = "hello world number 5"

Μία δεύτερη εφαρμογή Java Πρόσθεση 2 ακέραιων αριθμών Χρήση της Scanner για ανάγνωση 2 ακέραιων από το χρήστη Χρήση printf για εμφάνιση του αθροίσματος των 2 τιμών Χρήση packages

1// Fig. 2.7: Addition.java 2// Addition program that displays the sum of two numbers. 3import java.util.scanner; // program uses class Scanner 4 Πρόσθεση 2 ακέραιων Η δήλωση import εισάγει την 5public class Addition κλάση Scanner από το πακέτο 6{ (package) java.util. 7 // main method begins execution of Java application 8 public static void main (String args[]) 9 { 10 // create Scanner to obtain input from command window 11 Scanner input = new Scanner(System.in); 12 13 int number1; // first number to add 14 int number2; // second number to add 15 int sum; // sum of number1 and number2 16 17 System.out.print("Enter first integer: "); // prompt 18 number1 = input.nextint(); // read first number Δήλωση και αρχικοποίηση της μεταβλητής input, που είναι μία Scanner. Δήλωση μεταβλητών number1, number2 και sum. Διαβάζει έναν integer από το χρήστη και τον αναθέτει στη number1.

20 System.out.print( "Enter second integer: " ); //prompt 21 number2 = input.nextint(); // read second number from user 22 23 sum = number1 + number2; // add numbers 24 Πρόσθεση 2 ακέραιων 25 System.out.printf( "Sum is %d\n", sum ); // display sum 26 στη number2. 27 } // end method main 28 29} // end class Addition Enter first integer: 45 Enter second integer: 72 Sum is 117 Εμφανίζει το sum με χρήση μορφοποιημένης εξόδου Διαβάζει έναν integer από το χρήστη και τον αναθέτει Υπολογίζει το άθροισμα των number1 και number2, και θέτει το αποτέλεσμα στη sum.

Πρόσθεση 2 ακέραιων 3 import java.util.scanner; // program uses class Scanner Δηλώσεις import Χρησιμοποιούνται από τον compiler για να προσδιορίζει και να εντοπίζει classes Του υποδεικνύει να φορτώσει την κλάση Scanner από το package java.util 5 public class Addition 6 { Έναρξη κλάσης public class Addition Το όνομα του αρχείου πρέπει να είναι Addition.java Γραμμές 8-9: ξεκινά η main

Αποφυγή λαθών Όλες οι δηλώσεις import πρέπει να εμφανίζονται πριν τη δήλωση της κλάσης στο αρχείο Διαφορετικά (π.χ. Στο σώμα δήλωσης ή μετά τη δήλωση της κλάσης) syntax error Αν ξεχάσουμε να συμπεριλάβουμε μια δήλωση import για μια κλάση που χρησιμοποιούμε στο πρόγραμμα Συνήθως cannot resolve symbol.

10 // create Scanner to obtain input from command window 11 Scanner input = new Scanner( System.in ); Πρόσθεση 2 ακέραιων Η input είναι αντικείμενο τύπου Scanner δίνει τη δυνατότητα στο πρόγραμμα να διαβάσει δεδομένα για χρήση Έχουμε δήλωση μεταβλητής Θέση στη μνήμη που αποθηκεύει μία τιμή Δήλωση με όνομα και τύπο πριν τη χρήση Με το = η input αποκτά ένα στιγμιότυπο της κλάσης Scanner Αυτή η έκφραση δημιουργεί ένα αντικείμενο της κλάσης Scanner που διαβάζει τα δεδομένα που πληκτρολογεί ο χρήστης Όνομα μεταβλητής: any valid identifier Declarations end with semicolons ; Initialize variable in its declaration Equal sign Standard input object System.in

Πρόσθεση 2 ακέραιων Δήλωση μεταβλητών number1, number2 και sum τύπου int int holds integer values (whole numbers): i.e., 0, -4, 97 Types float and double can hold decimal numbers Type char can hold a single character: i.e., x, $, \n, 7 int, float, double and char are primitive types Προσθήκη σχολίων για σκοπό των μεταβλητών 13 int number1; // first number to add 14 int number2; // second number to add 15 int sum; // second number to add Κλασικά, μπορούμε να δηλώσουμε πολλαπλές μεταβλητές του ίδιου τύπου μαζί int number1, // first number to add number2, // second number to add sum; // second number to add Χρήση διαχωριστή (comma)

Προσοχή Κατά συνθήκη, τα ονόματα των μεταβλητών ξεκινούν με πεζά γράμματα Και κάθε λέξη στο όνομα μετά την πρώτη λέξη ξεκινά με κεφαλαίο γράμμα Παράδειγμα firstnumber

Ορισμός Μεταβλητών Τύπος μεταβλητής Γενικά Όνομα_Μεταβλητής παραδείγματα int number1; float a, b, c = 5.5; boolean temp; char mychar = c ; Δήλωση και αρχικοποίηση μαζί

Οι βασικοί τύποι δεδομένων στη Java Τύποι Δεδομένων byte Ακέραιοι short, int, long Κινητής Υποδιαστολής float, double boolean Χαρακτήρες char

Τύποι Δεδομένων (με παραδείγματα) Literal Data Type 178 int 8864L long 37.266 double 37.266D double 87.363F float 26.77e3 double c true false char boolean boolean

Primitive datatypes (integers) Πρωταρχικοί τύποι δεδομένων

Primitive datatypes (floating point)

Miscellaneous datatypes

Πρόσθεση 2 ακέραιων 17 System.out.print( "Enter first integer: " ); // prompt Καλείται ένα prompt κατευθύνει το χρήστη να κάνει μια λειτουργία Package java.lang 18 number1 = input.nextint(); // read first number from user Το αποτέλεσμα της κλήσης του nextint δίνεται στη number1 με χρήση του τελεστή ανάθεσης = Τελεστής ανάθεσης = δυαδικός τελεστής έχει δύο τελεστέους Η έκφραση στα δεξιά υπολογίζεται και ανατίθεται στη μεταβλητή στα αριστερά Δηλ: η number1 παίρνει την τιμή της input.nextint()

Προσοχή!!! Εξ ορισμού, το πακέτο (package) java.lang εισάγεται σε κάθε πρόγραμμα Java Επομένως, το java.lang είναι το μόνο package στο Java API που δε χρειάζεται δήλωση import

Πρόσθεση 2 ακέραιων 20 System.out.print( "Enter second integer: " ); // prompt Ομοίως με πριν για το δεύτερο ακέραιο 21 number2 = input.nextint(); // read second number from user Ομοίως με πριν, αναθέτει στη number2 τον δεύτερο εισαχθέντα ακέραιο 23 sum = number1 + number2; // add numbers Δήλωση ανάθεσης Υπολογίζει το άθροισμα των number1 και number2 (right hand side) Χρήση τελεστή ανάθεσης = για ανάθεση αποτελέσματος στη μεταβλητή sum Δηλ.: Η sum παίρνει την τιμή του number1 + number2

Πρόσθεση 2 ακέραιων 25 System.out.printf( "Sum is %d\n: ", sum ); // display sum Χρήση System.out.printf για εμφάνιση αποτελεσμάτων Χρήση %d για μορφοποίηση σε int System.out.printf( "Sum is %d\n: ", ( number1 + number2 ) ); Οι υπολογισμοί μπορούν να γίνουν εντός της printf Οι παρενθέσεις για την έκφραση number1 + number2 δεν είναι απαραίτητες Άσκηση! Αντίστοιχα με την πρόσθεση 2 ακεραίων, γράψτε ένα ολοκληρωμένο πρόγραμμα που υπολογίζει και προβάλει το γινόμενο τριών ακεραίων!

Διαίρεση Η διαίρεση ( / ) λειτουργεί διαφορετικά σε integers και doubles! Παράδειγμα: double a = 5.0/2.0; int b = 4/2; int c = 5/2; double d = 5/2; // a = 2.5 // b = 2 // c = 2 // d = 2.0

Προτεραιότητα πράξεων Από αριστερά προς δεξιά Το δεξί μέρος του = υπολογίζεται πρώτα Παράδειγμα: double x = 3 / 2 + 1; double y = 3 / (2 + 1); // x = 2.0 // y = 1.0

Mismatched Types Η Java πάντα ελέγχει ότι οι τύπου ταιριάζουν: String five = 5; // ERROR! test.java.2: incompatible types found: int required: java.lang.string String five = 5;

Μετατροπή με casting int a = 2; // a = 2 double a = 2; // a = 2.0 (Implicit) int a = 18.7; // ERROR int a = (int)18.7; // a = 18 double a = 2/3; // a = 0.0 double a = (double)2/3; // a = 0.6666.

Methods

Προσθήκη μεθόδων public static void NAME() { } STATEMENTS Για την κλήση μιας μεθόδου: NAME();

Προσθήκη μεθόδων class NewLine { public static void newline() { System.out.println(""); } public static void threelines() { } newline(); newline(); newline(); } public static void main(string[] arguments){ System.out.println("Line 1"); threelines(); System.out.println("Line 2"); }

Παράμετροι public static void NAME(TYPE NAME) { } STATEMENTS Για την κλήση: NAME(EXPRESSION);

Προσθήκη μεθόδων class Square { public static void printsquare(int x){ System.out.println(x*x); } } public static void main(string[] arguments){ int value = 2; printsquare(value); printsquare(3); printsquare(value*2); }

What s wrong here? class Square2 { public static void printsquare(int x){ System.out.println(x*x); } } public static void main(string[] arguments){ printsquare( hello ); printsquare(5.5); }

Πολλαπλές παράμετροι [ ] NAME(TYPE NAME, TYPE NAME) { } STATEMENTS Για την κλήση: NAME(ΑRG1, ARG2);

Προσθήκη μεθόδων class Multiply { public static void times (int a, int b){ System.out.println(a * b); } } public static void main(string[] arguments){ times (2, 2); times (3, 4); }

Τιμές επιστροφής public static TYPE NAME( ) { STATEMENTS return EXPRESSION; } void: σημαίνει no type

Τιμές επιστροφής class Square3 { public static void printsquare(int x){ System.out.println(x*x); } } public static void main(string[] arguments){ } printsquare(5);

Τιμές επιστροφής class Square4 { public static double square(int x){ return x*x; } } public static void main(string[] arguments){ } System.out.println(square(5)); System.out.println(square(2));

Methods: Building Blocks Τα μεγάλα προγράμματα χτίζονται με μικρές μεθόδους Οι μέθοδοι μπορούν να αναπτυχθούν, ελεγχθούν και ξαναχρησιμοποιηθούν ανεξάρτητα Ο χρήστης της μεθόδου δεν χρειάζεται να ξέρει πώς δουλεύει! Αυτό στην Επιστήμη των Υπολογιστών, ονομάζεται abstraction (αφαίρεση)

Εμφάνιση κειμένου σε παράθυρο διαλόγου Εμφάνιση Οι περισσότερες εφαρμογές Java χρησιμοποιούν παράθυρα ή dialog boxes Μέχρι τώρα χρησιμοποιήσαμε παράθυρο εντολών Η κλάση JOptionPane επιτρέπει τη χρήση Η JOptionPane βρίσκεται στο πακέτο javax.swing Το πακέτο γενικά περιέχει κλάσεις για τη χρήση γραφικών διεπαφών χρήστη (Graphical User Interfaces GUIs)

1 // Welcome4.java 2 // Printing multiple lines in a dialog box. 3 Εμφάνιση κειμένου σε 4 // Java packages 5 import javax.swing.joptionpane; // program uses JOptionPane παράθυρο διαλόγου 6 7 public class Welcome4 { 8 9 // main method begins execution of Java application 10 public static void main( String args[] ) 11 { 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); 14 15 System.exit( 0 ); // terminate application with window 16 17 } // end method main 18 19 } // end class Welcome4

Εμφάνιση κειμένου σε παράθυρο διαλόγου 4 // Java packages 2 ομάδες πακέτων στο Java API Core packages Ξεκινούν με java Extension packages Ξεκινούν με javax 5 import javax.swing.joptionpane; // program uses OptionPane import δήλωση Όπως είπαμε χρησιμοποιείται από τον compiler για να αναγνωρίσει και να εντοπίσει κλάσεις Εδώ λέει στον compiler να φορτώσει την κλάση JOptionPane από το πακέτο javax.swing

Εμφάνιση κειμένου σε παράθυρο διαλόγου 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); Κλήση μεθόδου showmessagedialog της κλάσης JOptionPane Απαιτεί 2 ορίσματα Πολαπλλά ορίσματα χωρίζονται με (,) Για την ώρα, το 1ο όρισμα θα είναι πάντα null Το 2ο όρισμα είναι το string προς εμφάνιση Η showmessagedialog είνα μία static μέθοδος τη κλάσης JOptionPane Κλήση με το όνομα της κλάσης, τελεία (dot.) και μετά το όνομα της μεθόδου Δεν χρειάζεται στιγμιότυπο της κλάσης

Εμφάνιση κειμένου σε παράθυρο διαλόγου Η εκτέλεση των γραμμών 12 και 13 εμφανίζει το dialog box Αυτόματα περιλαμβάνει το κουμπί ΟΚ (OK button) Κρύβει το dialog box Ο τίτλος του παραθύρου έχει το string Message

Εμφάνιση κειμένου σε παράθυρο διαλόγου 15 System.exit( 0 ); // terminate application with window Καλεί τη static μέθοδο exit της κλάσης System Τερματίζει την εφαρμογή Χρήση με κάθε εφαρμογή που εμφανίζει ένα GUI Το όρισμα 0 σημαίνει ότι η εφαρμογή τερματίστηκε επιτυχώς Συνήθως αν είναι μη-μηδέν σημαίνει ότι συνέβη κάποιο σφάλμα ΕΡΩΤΗΣΗ: Σε ποιο πακέτο βρίσκεται η System??? ΑΠΑΝΤΗΣΗ: Η κλάση System ανήκει στο πακέτο java.lang Δε χρειάζεται δήλωση import Το java.lang εισάγεται (imported) φορτώνεται αυτόματα σε κάθε πρόγραμμα Java

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων Χρήση input dialogs για εισαγωγή 2 τιμών από το χρήστη με τη χρήση της μεθόδου JOptionPane.showInputDialog Χρήση message dialog για εμφάνιση του αθροίσματος των δύο τιμών με τη χρήση της μεθόδου JOptionPane.showMessageDialog

1 // AdditionΑ.java 2 // Addition program that displays the sum of two numbers. 3 4 Άλλο // Java packages ένα παράδειγμα: 5 import javax.swing.joptionpane; // program uses JOptionPane 6 7 public class AdditionΑ { πρόσθεση ακεραίων 8 9 // main method begins execution of Java application 10 public static void main( String args[] ) 11 { 12 String firstnumber; // first string entered by user 13 String secondnumber; // second string entered by user 14 15 int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number2 18 19 // read in first number from user as a String 20 firstnumber = JOptionPane.showInputDialog( "Enter first integer" ); 21 22 // read in second number from user as a String 23 secondnumber = 24 JOptionPane.showInputDialog( "Enter second integer" ); 25 26 // convert numbers from type String to type int 27 number1 = Integer.parseInt( firstnumber ); 28 number2 = Integer.parseInt( secondnumber ); 29 30 // add numbers 31 sum = number1 + number2; 32 Πρόσθεση, τοποθέτηση του αποτελέσματος στη sum. Δήλωση μεταβλητών : όνομα και τύπος Εισαγωγή 1 ου ακέραιου ως String, ανάθεση στον firstnumber. 04/04/2008 Αντικειμενοστρεφής Προγραμματισμός Μετατροπή strings σε integers. Τμήμα Διδακτικής της Τεχνολογίας & Ψηφιακών Συστημάτων

33 // display result 34 JOptionPane.showMessageDialog( null, "The sum is " + sum, Άλλο ένα παράδειγμα: 35 "Results", JOptionPane.PLAIN_MESSAGE ); 36 πρόσθεση ακεραίων 37 System.exit( 0 ); // terminate application with window 38 39 } // end method main 40 41 } // end class AdditionΑ

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 5 import javax.swing.joptionpane; // program uses JOptionPane Θέση της JOptionPane για χρήση από το πρόγραμμα 7 public class AdditionΑ { Εκκίνηση public κλάσης AdditionΑ ΘΥΜΗΘΕΙΤΕ ότι το όνομα του αρχείου πρέπει να είναι AdditionΑ.java 12 String firstnumber; // first string entered by user 13 String secondnumber; // second string entered by user Δήλωση firstnumber και secondnumber είναι μεταβλητές

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 12 String firstnumber; // first string entered by user 13 String secondnumber; // second string entered by user Μεταβλητές Θέση στη μνήμη που αποθηκεύει μια τιμή Declare with name and type before use Οι firstnumber και secondnumber είναι τύπου String (package java.lang) Κρατά strings Όνομα μεταβλητής: ο,τιδήποτε Οι δηλώσεις τερματίζουν με ;

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 15 int number1; // first number to add 16 int number2; // second number to add 17 int sum; // sum of number1 and number2 Δηλώσεις μεταβλητών int holds integer values

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 20 firstnumber = JOptionPane.showInputDialog( "Enter first integer" ); Διαβάζει ένα String από το χρήστη, που αντιστοιχεί στον πρώτο προσθετέο Η μέθοδος JOptionPane.showInputDialog εμφανίζει το ακόλουθο: Καλείται ένα prompt κατευθύνει το χρήστη να κάνει μια ενέργεια Το όρισμα εμφανίζεται ως κείμενο στο prompt Αν εισαχθεί λάθος τύπος δεδομένων (π.χ. non-integer) ή πατήσουμε Cancel, συμβαίνει σφάλμα

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 20 firstnumber = JOptionPane.showInputDialog( "Enter first integer" ); Το αποτέλεσμα της κλήσης showinputdialog δίνεται στο firstnumber με χρήση του τελεστή = Δηλ.: Ο firstnumber παίρνει την τιμή που επιστρέφει η JOptionPane.showInputDialog( "Enter first integer" )

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 23 secondnumber = 24 JOptionPane.showInputDialog( "Enter second integer" ); Όπως πριν για τον secondnumber 27 number1 = Integer.parseInt( firstnumber ); 28 number2 = Integer.parseInt( secondnumber ); Μέθοδος Integer.parseInt Μετατρέπει το όρισμα String σε έναν ακέραιο (type int) Η κλάση Integer είναι στο πακέτο java.lang Ο ακέραιος που επιστρέφεται από την κλήση Integer.parseInt ανατίθεται στη μεταβλητή number1 (line 27) Θυμηθείτε ότι για number1 δηλώθηκε ως type int Ομοίως για τη γραμμή 28

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 31 sum = number1 + number2; Προφανές

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 34 JOptionPane.showMessageDialog( null, "The sum is " + sum, 35 "Results", JOptionPane.PLAIN_MESSAGE ); Χρήση της showmessagedialog για εμφάνιση αποτελεσμάτων "The sum is " + sum Χρησιμοποιεί τον τελεστή + για να «προσθέσει-ενώσει» τα "The sum is" και sum Αλληλουχία (Concatenation) ενός String και ενός άλλου τύπου Αποτέλεσμα = νέο string Αν η sum περιέχει το 117, τότε "The sum is " + sum δίνει το νέο string "The sum is 117" Προσοχή στο κενό (space) στο "The sum is "

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων 34 JOptionPane.showMessageDialog( null, "The sum is " + sum, 35 "Results", JOptionPane.PLAIN_MESSAGE ); Άλλη έκδοση της showmessagedialog Απαιτεί 4 ορίσματα (αντί για 2 όπως πριν) 1 ο όρισμα: για τώρα null 2 ο όρισμα: string προς εμφάνιση 3 ο όρισμα: string στο title bar 4 ο όρισμα: τύπος μηνύματος με ή χωρίς εικόνα (icon) Γραμμή Line 35 χωρίς εικόνα : JOptionPane.PLAIN_MESSAGE

Άλλο ένα παράδειγμα: πρόσθεση ακεραίων

Πηγές/Acknowledgements http://java.sun.com/j2se H. M. Deitel, P. J. Deitel, Java Προγραμματισμός, 6η έκδοση, Μ. Γκιούρδας, 2006 D. Barnes, M. Kolling, Αντικειμενοστρεφής Προγραμματισμός σε Java, Κλειδάριθμος, 2008 Βασίλης Χριστοφίδης, Αντικειμενοστρεφής Προγραμματισμός, Πανεπιστήμιο Κρήτης Κ. Τσαγκάρης, Εισαγωγή στις εφαρμογές της Java, Πανεπιστήμιο Πειραιώς Jones, Evan, Adam Marcus, and Eugene Wu. 6.092 Introduction to Programming in Java,January IAP 2010. (Massachusetts Institute of Technology: MIT OpenCourseWare), http://ocw.mit.edu (Accessed 10 Mar, 2013). License: Creative Commons BY-NC-SA