Οντοκεντρικόσ Προγραμματιςμόσ Ενότθτα 2: Η ΓΛΩΣΣΑ JAVA Βιβλιοκικεσ Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικών Η/Υ & Πλθροφορικισ
ΒΙΒΛΙΟΘΗΚΗ JAVA
ΒΑΙΚΗ ΒΙΒΛΙΟΘΗΚΗ JAVA Ζνα ςφνολο κλάςεων και διεπαφών οργανωμζνων ςε πακζτα Βαςικά πακζτα java.applet java.awt java.io java.lang java.math java.net Για να χρθςιμοποιιςουμε κλάςεισ ι μεκόδουσ κλάςεων από τα πακζτα τθσ βιβλιοκικθσ (πλθν αυτών του java.lang), πρζπει να τισ ειςάγουμε ςτο πρόγραμμά μασ με τθν εντολι import 3/18
ΚΛΑΗ System (1) public final class System extends Object Η κλάςθ System περιζχει τθ βαςικι μεταβλθτι εξόδου out (μεταβλθτι κλάςθσ) Η out είναι τφπου PrintStream (μια άλλθ κλάςθ του πακζτου) Η γνωςτι εντολι εκτφπωςθσ ςτθν οκόνθ System.out.println ουςιαςτικά αποτελεί αποςτολι μυνιματοσ (println) ς ζνα ςτιγμιότυπο τθσ PrintStream, του οποίου αναφορά είναι θ μεταβλθτι out τθσ System.Το ςτιγμιότυπο δθμιουργείται αυτόματα από το ςφςτθμα. 4/18
ΚΛΑΗ System (2) Η println είναι μζκοδοσ ςτιγμιοτφπων τθσ κλάςθσ PrintStream Αν θ println ιταν μζκοδοσ κλάςθσ, δεν κα χρειαηόταν να ςτείλουμε μινυμα ςε ςτιγμιότυπο τθσ PrintStream Π.χ. οι μζκοδοι tostring, valueof είναι μζκοδοι κλάςθσ. Οπότε μπορώ να ςτείλω κατ ευκείαν μινυμα ςτθν κλάςθ τουσ. 5/18
ΚΛΑΗ Double (1) public final class Double extends Number implements Comparable Προςοχι!!! Άλλο θ κλάςθ Double, άλλο ο πρωτογενισ τφποσ double Περιζχει ζνα απλό πεδίο (μεταβλθτι) τφπου double 6/18
ΚΛΑΗ Double (2) Μζκοδοι (κλάςθσ) static String tostring (double d) (δθμιουργεί ςτιγμιότυπο τθσ String που είναι θ αλφαρικμθτικι αναπαράςταςθ του d, επιςτρζφει αναφορά ςτο ςτιγμιότυπο) Π.χ. double d1 = 1821; String mystring; mystring = Double.toString(d1); System.out.println(myString); "1821" 7/18
ΚΛΑΗ Double (3) static Double valueof (String s) (δθμιουργεί ςτιγμιότυπο τθσ Double με αρχικι τιμι τθν αρικμθτικι αναπαράςταςθ του s) Π.χ. Double mydouble; String s1 = "1821"; mydouble = Double.valueOf(s1); System.out.println(myDouble); "1821" 8/18
ΓΗΜΙΟΤΡΓΙΑ ΣΙΓΜΙΟΣΤΠΟΤ (ΥΩΡΙ NEW) Με τθ χριςθ μεκόδου που επιςτρζφει αναφορά ςε ςτιγμιότυπο του ηθτοφμενου τφπου. Π.χ. Double mydouble = Double.valueOf("2000") Προςοχι!!! Η doublevalueof() είναι μζκοδοσ Double mydouble; ςτιγμιοτφπου και επιςτρζφει double. double d1 = mydouble.doublevalueof(); Double mydouble; mydouble = new Double ("2000"); double d1 = mydouble.doublevalueof(); Δεν αναφζρεται ςε ςυγκεκριμζνο ςτιγμιότυπο 9/18
ΚΛΑΗ String (1) public final class String extends Object implements Serializable, Comparable (Όλεσ οι αλφαρικμθτικζσ ςτακερζσ, π.χ. "abc", υλοποιοφνται ςαν ςτιγμιότυπά τθσ) Μζκοδοι int length () (επιςτρζφει τον αρικμό χαρακτιρων) char charat(int index) (επιςτρζφει τον χαρακτιρα ςτθ κζςθ index) 10/18
ΚΛΑΗ String (2) indexof(char ch) (επιςτρζφει τθν πρώτθ κζςθ που βρίςκεται ο ch, αλλιώσ -1) lastindexof(char ch) (επιςτρζφει τθν τελευταία κζςθ που βρίςκεται ο ch, αλλιώσ -1) equals(string s) (επιςτρζφει true, αν το ίδιο αντικείμενο με αυτό που καλεί τθ μζκοδο, αλλιώσ false ) replace(char oldchar, char newchar) (επιςτρζφει ζνα νζο String, ίδιο με αυτό που καλεί, αλλά με newchar όπου oldchar) 11/18
ΚΛΑΗ StringBuffer Μέθοδοι char setcharat(int x, char newchar) (αλλάηει τον χαρακτιρα ςτθ κζςθ x με τον newchar) replace(char oldchar, char newchar) (αλλάηει με newchar όπου oldchar) Προςοχι!!! Διαφορά από τθν αντίςτοιχθ τθσ String: Δεν δθμιουργεί νζο String, αλλάηει αυτό που καλεί τθ μζκοδο. 12/18
Χρθματοδότθςθ Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτo πλαίςιo του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο Πανεπιςτιμιο Ακθνών» ζχει χρθματοδοτιςει μόνο τθν αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. 13/18
Σθμείωμα Ιςτορικοφ Εκδόςεων Ζργου Το παρόν ζργο αποτελεί τθν ζκδοςθ 1.0. 14/18
Σθμείωμα Αναφοράσ Copyright: Πανεπιςτιμιον Πατρών, Ιωάννθσ Χατηθλυγεροφδθσ, 2015. «Οντοκεντρικόσ Προγραμματιςμόσ». Ζκδοςθ: 1.0. Πάτρα 2015. Διακζςιμο από τθ δικτυακι διεφκυνςθ: https://eclass.upatras.gr/courses/ceid1105/ 15/18
Σθμείωμα Αδειοδότθςθσ Το παρόν υλικό διατίκεται με τουσ όρουσ τθσ άδειασ χριςθσ Creative Commons Αναφορά, Μθ Εμπορικι Χριςθ Παρόμοια Διανομι 4.0 *1+ ι μεταγενζςτερθ, Διεκνισ Ζκδοςθ. Εξαιροφνται τα αυτοτελι ζργα τρίτων π.χ. φωτογραφίεσ, διαγράμματα κ.λ.π., τα οποία εμπεριζχονται ςε αυτό και τα οποία αναφζρονται μαηί με τουσ όρουσ χριςθσ τουσ ςτο «Σθμείωμα Χριςθσ Ζργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ωσ Μθ Εμπορικι ορίηεται θ χριςθ: που δεν περιλαμβάνει άμεςο ι ζμμεςο οικονομικό όφελοσ από τθν χριςθ του ζργου, για το διανομζα του ζργου και αδειοδόχο που δεν περιλαμβάνει οικονομικι ςυναλλαγι ωσ προχπόκεςθ για τθ χριςθ ι πρόςβαςθ ςτο ζργο που δεν προςπορίηει ςτο διανομζα του ζργου και αδειοδόχο ζμμεςο οικονομικό όφελοσ (π.χ. διαφθμίςεισ) από τθν προβολι του ζργου ςε διαδικτυακό τόπο Ο δικαιοφχοσ μπορεί να παρζχει ςτον αδειοδόχο ξεχωριςτι άδεια να χρθςιμοποιεί το ζργο για εμπορικι χριςθ, εφόςον αυτό του ηθτθκεί.
Διατιρθςθ Σθμειωμάτων Οποιαδιποτε αναπαραγωγι ι διαςκευι του υλικοφ κα πρζπει να ςυμπεριλαμβάνει: το Σθμείωμα Αναφοράσ το Σθμείωμα Αδειοδότθςθσ τθ διλωςθ Διατιρθςθσ Σθμειωμάτων το Σθμείωμα Χριςθσ Ζργων Τρίτων (εφόςον υπάρχει) μαηί με τουσ ςυνοδευόμενουσ υπερςυνδζςμουσ. 17/18
Σθμείωμα Χριςθσ Ζργων Τρίτων 18/18