Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις
2 Ανατομία ενός προγράμματος Java Σχόλια (comments) Βιβλιοθήκες (packages) Δεσμευμένες λέξεις (Reserved words) Δηλώσεις / εντολές (Statements) Ενότητες εντολών (Blocks) Κλάσεις (Classes) Μέθοδοι (Methods) Η μέθοδος main
3 Σχόλια // για σχόλια μίας γραμμής // This is one line comment /* */ για σχόλια πολλαπλών γραμμών /* This comment spans... many.. many.. too many. lines! */
Βιβλιοθήκη ή πακέτο (Package) Τόσο οι βιβλιοθήκες Java προγραμμάτων που «έρχονται» με το JDK (δηλαδή προγράμματα που μας παρέχουν «έτοιμες» κάποιες βασικές λειτουργίες ώστε να μην χρειάζεται να τις υλοποιήσουμε εξαρχής, π.χ. εύρεση και διαχείριση ημερομηνίας/ώρας), όσο και τα αρχεία Java που δημιουργούμε εμείς χωρίζονται σε πακέτα. Κάθε java αρχείο (κλάση) ανήκει σε ένα πακέτο και μπορεί να εισαγάγει άλλα πακέτα (δηλαδή να κάνει χρήση αυτών των βιβλιοθηκών) Αντιστοιχούν σε φακέλους στους οποίους είναι αποθηκευμένες οι βιβλιοθήκες
Δεσμευμένες λέξεις (Reserved Words) Οι δεσμευμένες λέξεις ή λέξεις κλειδιά (keywords) είναι λέξεις με συγκεκριμένο νόημα για τον compiler και οι οποίες δεν μπορούν να χρησιμοποιηθούν για οποιοδήποτε άλλο σκοπό σε ένα πρόγραμμα. Π.χ., όταν ο compiler «δει» τη λέξη «class», καταλαβαίνει ότι η λέξη που ακολουθεί είναι το όνομα της κλάσης. Άρα, απαγορεύεται να ονομάσεις μια μεταβλητή class Άλλες δεσμευμένες λέξεις: public, static, void,
6 Δηλώσεις (statements) Μία δήλωση είναι αυτό που απλά ονομάζουμε ως «εντολή» Μια δήλωση αναπαριστά μία δράση (action) ή σειρά από δράσεις Π.χ. η δήλωση System.out.println("Welcome to Java!"); σε ένα πρόγραμμα έχει ως αποτέλεσμα την εμφάνιση του μηνύματος Welcome to Java! Στην Java, κάθε δήλωση τελειώνει με ερωτηματικό (;)
7 Ενότητες δηλώσεων (Blocks) Ένα ζεύγος από αγκύλες {} ορίζει μια ενότητα (group) από δηλώσεις ή συστατικά ενός προγράμματος. public class Test { public static void main(string[] args) { System.out.println("Welcome to Java!"); } } Method block Class block
Κλάσεις (Classes) Η κλάση είναι η βασική δομή της γλώσσας Java. Ορίζει ένα πρότυπο το οποίο ακολουθούν τα αντικείμενα (objects) Η κατανόηση της έννοιας της κλάσης και η ικανότητα συγγραφής και χρήσης τους είναι απαραίτητη προϋπόθεση για τον προγραμματισμό σε Java. Το «μυστήριο» των κλάσεων θα ξεδιπλώνεται καθόλη τη διάρκεια του μαθήματος, για την ώρα κρατάμε την πληροφορία ότι μια Java εφαρμογή αποτελείται από μία ή περισσότερες κλάσεις. 8
Μέθοδοι (Methods) Τι είναι το System.out.println; Είναι μια μέθοδος: μια σειρά από δηλώσεις που εκτελεί κάποιες λειτουργίες ώστε αν εμφανιστεί (τυπωθεί) ένα μήνυμα στην κονσόλα. Μπορεί να χρησιμοποιηθεί χωρίς να είναι απαραίτητη η κατανόηση του τρόπου με τον οποίο φτάνει σε αυτό το αποτέλεσμα. Πρέπει ωστόσο να είναι κατανοητό πόσα και τι τύπου παραμέτρους δέχεται ώστε να φτάσει σε αυτό το αποτέλεσμα Εν προκειμένω, δέχεται μία String παράμετρο (συμβολοσειρά) την οποία και τυπώνει στην κονσόλα. 9
10 Η μέθοδος main Η μέθοδος main παρέχει ένα σημείο εισόδου (αρχής) αλλά και ελέγχου της ροής εκτέλεσης ενός προγράμματος. Ο Java διερμηνέας εκτελεί την εφαρμογή καλώντας τη μέθοδο main Σε κάθε Java εφαρμογή (δηλαδήένασύνολοαπό κλάσεις) είναι υποχρεωτικό μία από τις κλάσεις να περιέχει μία μέθοδο main. The main method looks like this: public static void main(string[] args) { // Statements; }
11 Εμφάνιση κειμένου σε παράθυρο Message Dialog Box Μπορεί να χρησιμοποιηθεί η μέθοδος showmessagedialog της κλάσης JOptionPane Η JOptionPane είναι μία από τις πολλές προκαθορισμένες κλάσεις της Java system, η οποία μπορούμε να χρησιμοποιήσουμε «έτοιμη» αντί να «ανακαλύψουμε τον τροχό»
12 Η μέθοδος showmessagedialog JOptionPane.showMessageDialog(null, "Welcome to Java!", Display Message", JOptionPane.INFORMATION_MESSAGE);
13 Δύο τρόποι γιανακαλέσειςτη μέθοδο Υπάρχουν πολλοί διαφορετικού τρόποι για να καλέσεις τη μέθοδο showmessagedialog (ανάλογα με το πόσες και ποιες παράμετροι θα χρησιμοποιηθούν). Δύο από τους τρόπους είναι οι εξής: JOptionPane.showMessageDialog(null, message, title, JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(null, message );
Άσκηση #1 Χρησιμοποιήστε το NetBeans για να δημιουργήσετε μία κλάση PrintMessage η οποία θα τυπώνει στην κονσόλα το μήνυμα Message in a bottle και στη συνέχεια να εμφανίσετε το ίδιο μήνυμα με δύο διαφορετικά dialog boxes, όπως φαίνονται παρακάτω:
Τύποι μεταβλητών στη Java boolean true, false char a, b,... byte 8bit ακέραιος (28 εύρος τιμών) short 16bit ακέραιος int 32bit ακέραιος long 64bit ακέραιος float 32bit δεκαδικός double 64bit δεκαδικός String Blah blah (το μόνο που δεν απαιτεί new!)
Μεταβλητές Εμβέλεια μεταβλητών Τοπικές (local) μεταβλητές ορίζονται εντός μιας μεθόδου (π.χ. μέσα στη main) int x= 5; αναφερόμαστε σε αυτές απλά με το όνομά τους System.out.println(x); ισχύουν μόνο για τη συγκεκριμένη μέθοδο!!! «Παγκόσμιες» (global) μεταβλητές Θα τις δούμε
Τελεστές Αριθμητικοί: +,, /, *, % Ανάθεσης: =, +=, =, /=, *=, %= Προσαύξησης / μείωσης: ++, Άλλο το x++ και άλλο το ++x Σύγκρισης: ==,!=, <, >, <=, >= Αν y = 5 τότε το x = y < 2 παράγει x = false
Άσκηση #2 Δημιουργήστε μια νέα κλάση Calculation Ορίστε τις μεταβλητές a=5.0, b=3.0, c=7.0, d=10 Ορίστε 3 επιπλέον μεταβλητές που να υπολογίζουν τις παραστάσεις: (a/(b+c))+d (a/b+c)+d a/(b+c)+d Εκτυπώστε τις τιμές αυτών των τριών μεταβλητών στην κονσόλα ως εξής: The first "calculation" is
Άσκηση #3 Δημιουργήστε μια νέα κλάση Mean ηοποίαθα υπολογίζει την μέση τιμή των αριθμών: a= 5.0, b = 6.4, c = 3.6, d = 9.0 O τύπος που υπολογίζει τη μέση τιμή είναι: mean = Επίσης να υπολογίζεται και η τυπική ( xi mean n απόκλιση std = n 1 Ημέσητιμήκαιητυπικήαπόκλισηθατυπώνονταιως εξής: 2 n n x i 2 )