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

Σχετικά έγγραφα
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 4: Αντικειμενοστραφής Προγραμματισμός (Μέθοδοι, Κλάσεις, Αντικείμενα)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors)

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning

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

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

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

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

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

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

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

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

Κλάσεις και Αντικείµενα

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Tοπικές μεταβλητές To αντικείμενο this Accessor, Mutator μέθοδοι

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 7: Πίνακες (Arrays)

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

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

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

Δοκιμή και Αποσφαλμάτωση Testing and Debugging

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

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

Στοιχειώδης προγραμματισμός σε C++

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

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

Transcript:

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008 Εκτέλεση μεθόδου του αντικειμένου μιας κλάσης: 1) Δημιουργία αντικειμένου (στιγμιότυπου) της κλάσης: <Κλάση> <αντικείμενο> = new <Κλάση>( ); 2) Κλήση μεθόδου της κλάσης (στην ουσία, του αντικειμένου της κλάσης): <αντικείμενο>.<μέθοδος>( ); ή, εάν η μέθοδος επιστρέφει κάτι: <μεταβλητή> = <αντικείμενο>.<μέθοδος>( ); Διακρίνουμε 3 είδη μεθόδων: 1) Operation methods (λειτουργικές): public void opmethod() //δηλώσεις; //υπολογισμοί; (είναι πάντα void, δεν επιστρέφουν τίποτα, απλά υπολογίζουν κάτι) 2) Modifier methods (τροποποιητικές) private double var; public void modmethod(double x) var = x; (δέχονται πάντα κάποια παράμετρο εισόδου (π.χ. x), την τιμή της οποίας «περνάνε» σε κάποια private μεταβλητή της κλάσης τους (π.χ. var) ) 1

3) Accessor methods (πρόσβασης) private int var2; public int accessmethod() return var2; (είναι πάντα public, επιστρέφουν (return) μια private μεταβλητή και είναι του ίδιου τύπου με τη μεταβλητή που επιστρέφουν στο παραπάνω παράδειγμα int) Συχνά υπάρχουν μέθοδοι που είναι συνδυασμοί των παραπάνω τύπων, κυρίως των τύπων (2) και (3). Παράδειγμα: Κλάση υποστήριξης: public class ClassA // metavlites: private int a = 5; private int b; private double c; // modifier method: public void setb(int x) b = x; // operation method: public void calcc() c = 0.5*(a+b); // accessor method: public double getc() return c; 2

Κλάση εφαρμογής: public class ClassB public static void main (String [ ] args) // dimiourgia 4 antikeimenwn tis ClassA: ClassA obj1 = new ClassA(); ClassA obj2 = new ClassA(); ClassA obj3 = new ClassA(); ClassA obj4 = new ClassA(); // klisi diaforwn methodwn gia ta antikeimena: obj1.setb(10); obj1.calcc(); obj2.setb(20); obj2.calcc(); obj3.setb(15); obj4.calcc(); // ektypwsi stin othoni: System.out.println(obj1.getC()); // tha typwsei: 7.5 System.out.println(obj2.getC()); // tha typwsei: 12.5 System.out.println(obj3.getC()); // tha typwsei: 0 System.out.println(obj4.getC()); // tha typwsei: 2.5 // end method // end class Το obj1.getc() είναι 7.5 γιατί έχουμε καλέσει πριν τη μέθοδο setb για το συγκεκριμένο αντικείμενο (obj1) στέλνοντας στο b την τιμή 10, οπότε το c υπολογίζεται σαν 0.5*(5+10). Ομοίως για το obj2.getc(), μόνο που τώρα η τιμή του b είναι 20, οπότε το c γίνεται 12.5. Στην περίπτωση του obj3.getc(), η τιμή είναι 0 γιατί δεν έχουμε καλέσει τη μέθοδο calcc για το αντικείμενο αυτό (obj3), οπότε δεν έχει υπολογιστεί κάποια τιμή για το c αυτού του αντικειμένου. Αντίστοιχα, στην περίπτωση του αντικειμένου obj4, δεν στάλθηκε κάποια τιμή στη μεταβλητή b του αντικειμένου αυτού (μέσω της setb(...)), οπότε το c που υπολογίζεται είναι το 0.5*(5+0) = 2.5. Έχοντας δηλώσει private τις μεταβλητές της κλάσης υποστήριξης (ClassA) και κυρίως τη μεταβλητή c, δεν επιτρέπεται στην ClassB να αλλάξει την τιμή τους όπως θέλει, άρα π.χ. η c αλλάζει μόνο όπως ο προγραμματιστής έχει επιλέξει στην ClassA (μέσω της calcc()). Αυτός θεωρείται ασφαλής τρόπος προγραμματισμού, και είναι ο ενδεδειγμένος. 3

Ένα πιο χαρακτηριστικό παράδειγμα για το ότι οι μέθοδοι και οι μεταβλητές μιας κλάσης ανήκουν στην ουσία στα αντικείμενά της: Αν έχουμε μια κλάση υποστήριξης: public class Dog private String color; public void setcolor(string a) color = a; public String accesscolor() return color; τότε από κάποια άλλη κλάση υποστήριξης ή από την κλάση εφαρμογής, μπορούμε να φτιάξουμε αντικείμενα της κλάσης Dog, να στείλουμε τα χρώματα των αντικειμένων αυτών, ή από κάπου αλλού να «διαβάσουμε» τα χρώματά τους: // δημιουργία αντικειμένων της κλάσης Dog Dog azor = new Dog(); Dog ivan = new Dog(); // αποστολή του χρώματος του κάθε αντικειμένου azor.setcolor( μαύρο ); ivan.setcolor( άσπρο );... // Όταν κάπου αλλού θέλουμε να ανακτήσουμε τα χρώματα // των αντικειμένων που έχουμε φτιάξει: System.out.println( Το χρώμα του Αζώρ είναι + azor.accesscolor()); System.out.println( Το χρώμα του Ιβάν είναι + ivan.accesscolor()); και αυτό που θα εκτυπωθεί στην οθόνη είναι το εξής: Το χρώμα του Αζώρ είναι μαύρο Το χρώμα του Ιβάν είναι άσπρο Δηλαδή, η μεταβλητή color της κλάσης Dog, στην ουσία δεν έχει κάποια συγκεκριμένη τιμή. Συγκεκριμενοποιείται μόνο όταν φτιάξουμε κάποιο αντικείμενο της κλάσης Dog και έχει τόσα «αντίγραφα» όσα είναι τα αντικείμενα. Αφού συγκεκριμενοποιηθεί από τη δημιουργία αντικειμένου, το κάθε «αντίγραφό» της παίρνει συγκεκριμένη τιμή όταν καλέσουμε τη μέθοδο setcolor. 4

Κάποια βασικά στοιχεία της Java Πρωτογενείς τύποι μεταβλητών (Primitive Types) Για ακέραιους: byte -128 ακέραιος 127 short -32768 ακέραιος 32767 int -2 31 ακέραιος 2 31-1 long -2 63 ακέραιος 2 63-1 Για πραγματικούς: float ακρίβεια: ±10-46, εύρος: ±10 38 double ακρίβεια: ±10-324, εύρος: ±10 308 Χαρακτήρας Unicode: τύπος char true / false: τύπος boolean Αλφαριθμητικά: Τύπος String (κλάση όχι πρωτογενής τύπος) (Η κλάση String θα αναφερθεί αναλυτικά σε επόμενο μάθημα) Μετατροπή τύπων: doublevar = (double) intvar; intvar = (int) doublevar; Παράδειγμα μετατροπής τύπων: int a = 32, b = 10; double c, d; c = a/b; c=3.0 d = a/(double)b; d=3.2 Τελεστές πράξεων: +, -, *, /. % (υπόλοιπο διαίρεσης) 3/4 0 (ακέραιοι!), (double)3/4 0.75, 3.0/4 0.75, 3%4 3, 11%3 2 Μαθηματικές συναρτήσεις: Math.sin(x) ημ(x), Math.cos(x) συν(x), Math.exp(x) e x, Math.pow(x,y) x y Math.sqrt(x) x, Math.abs(x) x, Math.PI π 5

Συντομογραφίες πράξεων: a+=x; a=a+x; a-=x; a=a-x; a*=x; a=a*x; a/=x; a=a/x; a++; a=a+1; ++a; a--; a=a-1; --a; π.χ. int a=2, b, c; a+=6; a=8 a-=3; a=5 a*=2; a=10 b = 2 * a++; a=11, b=20 c = 2 * ++a; a=12, b=24 Σύγκριση μεταβλητών: a==b a<b a>b boolean a!=b a<=b a>=b Λογικές σχέσεις: Α&&Β, Α&Β AND (το && σταματάει αν η πρώτη έκφραση είναι false) Α Β, Α Β OR (το σταματάει αν η πρώτη έκφραση είναι true)!a NOT (3==7) && (2==(3/0)) false (3==7) & (2==(3/0)) σφάλμα στο compilation (division by zero) 6