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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

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

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

Προγραμματισμός Ι (ΗΥ120)

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

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

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

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

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

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

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

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

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

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

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

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

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

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

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

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

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

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

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

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

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

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

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

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

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

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

Θα εμφανίσει την τιμή 232 αντί της ακριβούς

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

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

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

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

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

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

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

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

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

2. Προσδιοριστές, δεσμευμένες λέξεις και τύποι

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

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

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.

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

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

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

Transcript:

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες με τον τύπο που έχει δηλωθεί για καθεμία. Οι μεταβλητές έχουν ένα όνομα, ένα τύπο και μία τιμή. Μία μεταβλητή πρέπει πρώτα να δηλωθεί πριν να χρησιμοποιηθεί. Μετά τη δήλωση της μπορούν να της ανατεθούν τιμές. Η Java διαθέτει τρία είδη μεταβλητών 1

Κατηγορίες Μεταβλητών στιγμιαίες μεταβλητές (instance variables) : χρησιμοποιούνται για να δηλώσουν τα χαρακτηριστικά ή την κατάσταση ενός συγκεκριμένου αντικειμένου και μπορεί να είναι διαφόρων τύπων. Η εξ ορισμού αρχική τιμή μίας αριθμητικής μεταβλητής είναι 0, μίας μεταβλητής χαρακτήρων είναι \0 ενώ μίας λογικής (boolean) μεταβλητής είναι false. μεταβλητές κλάσεων (class variables) : παρόμοιες με τις στιγμιαίες μεταβλητές, με τη διαφορά ότι οι τιμές τους αφορούν σε όλες τις υπάρξεις της κλάσης τους χωρίς να χρειάζεται να δίνονται διαφορετικές τιμές για κάθε αντικείμενο. Η εξ ορισμού αρχική τιμή μίας μεταβλητής κλάσης είναι null. τοπικές μεταβλητές (local variables) : δηλώνονται και χρησιμοποιούνται στο εσωτερικό της δήλωσης των μεθόδων και αφορούν συνήθως μεταβλητές προσωρινής χρήσης, όπως για παράδειγμα μετρητές, αθροιστές κλπ. Οι τοπικές μεταβλητές πρέπει να έχουν πάντοτε κάποια τιμή πριν χρησιμοποιηθούν. Ολικές Μεταβλητές (Global Variables)???? Η Java δε διαθέτει ολικές μεταβλητές (global variables) όπως άλλες συμβατικές γλώσσες προγραμματισμού. Οι στιγμιαίες και οι μεταβλητές κλάσεων χρησιμοποιούνται για την ολική επικοινωνία των μεταβλητών μεταξύ των διαφόρων αντικειμένων. 2

Ορισμός Μεταβλητών Ο ορισμός μίας μεταβλητής περιλαμβάνει τη δήλωση του τύπου της και του ονόματος της, όπως για παράδειγμα : int mycomputer; String myaddress; Boolean iscompleted; Οι ορισμοί των μεταβλητών μπορούν να τεθούν σε οποιοδήποτε σημείο δήλωσης μίας μεθόδου αλλά συνήθως τοποθετούνται στην αρχή της δήλωσης της μεθόδου. Μεταβλητές του ίδιου τύπου μπορούν να δηλωθούν μαζί και επίσης υπάρχει δυνατότητα ανάθεσης αρχικών τιμών. Παραδείγματα : int mycomputer, myjob, numterminals=44; Boolean iscompleted = false; String myaddress = 22 Egnatia Str ; int x=2, y=8, z=10; Ονοματολογία Μεταβλητών Τα ονόματα των μεταβλητών στη Java αρχίζουν με κάποιο γράμμα, το σύμβολο υπογράμμισης (underscore) (_) ή το σύμβολο του δολαρίου ($). Δεν μπορούν να ξεκινούν με αριθμό. Μετά τον πρώτο χαρακτήρα, οι υπόλοιποι χαρακτήρες μπορεί να περιλαμβάνουν οποιονδήποτε αριθμό ή γράμμα ή σύμβολο. Τα σύμβολα %, *, @ αφορούν τελεστές στην Java και θα πρέπει να χρησιμοποιούνται με προσοχή στα ονόματα των μεταβλητών. Η Java κάνει διάκριση μεταξύ των κεφαλαίων και των μικρών γραμμάτων. Γενικά ισχύει ο κανόνας ότι τα ονόματα των μεταβλητών είναι ενδεικτικά του περιεχομένου τους, μπορεί να αποτελούνται από πολλές λέξεις με την πρώτη λέξη σε μικρά γράμματα και στις υπόλοιπες λέξεις το πρώτο τους γράμμα να είναι κεφαλαίο ενώ τα υπόλοιπα να είναι μικρά 3

Παράδειγμα δήλωσης μεταβλητών Class Test{ public static void main(string args[]){ int x; //δήλωση int y= 1; //αρχικοποίηση x=5; //ανάθεση Πρωταρχικοί τύποι Δεδομένων 4

Class Types Πέρα από τους πρωταρχικούς τύπους η Java περιέχει και ένα άλλο είδος τύπων δεδομένων που ονομάζονται Class Types (Τύποι κλάσεων) Οι τύποι κλάσεων είναι σαν τους πρωταρχικούς αλλά ξεκινούν με κεφαλαίο το πρώτο γράμμα Παράδειγμα string και String int και Int Διαφορά μεταξύ πρωταρχικών και τύπων κλάσεων Εκτύπωση Μεταβλητών-1 Η εκτύπωση μεταβλητών στην κονσόλα γίνεται με την system.out.print system.out.println() system.out.printf() Οι μεταβλητές μπορούν να εκτυπωθούν σε συνδυασμό με αλφαριθμητικά με τη χρήση του + Παραδείγμα 5

Εκτύπωση Μεταβλητών-2 Class Test{ public static void main(string args[]){ String name = Kostas ; int age=20; system.out.println( my name is + name + and I am + age + years old ); system.out.println(7+9); system.out.println( Result = +7+9); // Result = 79 system.out.println( Result = +(7+9)); // Result = 16 Μετατροπή τύπων Σε κάθε ανάθεση τιμής ο τύπος αριστερά πρέπει να είναι ίδιος με τον τύπο στα δεξιά από το σύμβολο της ανάθεσης (=), π.χ. αν έχουμε x=y, ο τύπος της μεταβλητής x πρέπει να είναι ίδιος με τον τύπο της μεταβλητής y. Αν δεν είναι θα πρέπει το δεξί μέρος της ανάθεσης να το μετατρέψουμε με σαφή τρόπο στον ίδιο τύπο με το αριστερό μέρος κάνοντας μετατροπή τύπου (type casting). Μετατροπές τύπων πραγματοποιούνται μόνο μεταξύ πρωταρχικών τύπων και όχι μεταξύ τύπων κλάσης 6

Παράδειγμα μετατροπής τύπων Class Test{ public static void main(string args[]){ int x; double y=5.2; x=(int)y; system.out.println(x); Αριθμητικοί Τελεστές Η Java περιλαμβάνει πέντε τελεστές για τις βασικές πράξεις : + ΠΡΟΣΘΕΣΗ * ΠΟΛΛΑΠΛΑΣΙΑΣΜΟ - ΑΦΑΙΡΕΣΗ / ΔΙΑΙΡΕΣΗ % ΥΠΟΛΟΙΠΟ 7

Παράδειγμα class operationarithmetic { public static void main (String args[]) { short a = 14; int b = 2; float a1 = 10.5f; float b1 = 8; System.out.println( a+b= + (a+b)); System.out.println( a-b= +(a-b)); System.out.println( a/b= + (a/b)); System.out.println( a%b= + (a%b)); System.out.println( a1/b1= +(a1/b1)); Ανάθεση τιμών σε μεταβλητές Η ανάθεση τιμών στις μεταβλητές αποτελεί μία μορφή έκφρασης, διότι κάθε ανάθεση τιμών καταλήγει σε μία τιμή η οποία στη συνέχεια μπορεί να δοθεί σε άλλες μεταβλητές, όπως για παράδειγμα : a = b = c = 1; Υπολογίζεται η έκφραση μετά το σύμβολο του ίσον και το αποτέλεσμα ανατίθεται στη μεταβλητή αριστερά του ίσον. Υπάρχει συντομογραφία των συχνότερα χρησιμοποιούμενων αναθέσεων τιμών : a += b (που σημαίνει a=a+b) a -= b (που σημαίνει a=a-b) a *= b (που σημαίνει a=a*b) a /= b (που σημαίνει a=a/b) 8

Αυξο-μείωση τιμών Όπως στην C, οι τελεστές ++ και -- χρησιμοποιούνται για την αύξηση ή αντίστοιχα μείωση μίας τιμής κατά 1. Η Java επιτρέπει στην έκφραση a++ η μεταβλητή a να είναι και τύπου float. Οι τελεστές ++ και - - μπορεί να προηγούνται ή να έπονται του ονόματος μίας μεταβλητής : b = a++; η b παίρνει την τιμή της a πριν την αύξηση της κατά 1 b = ++a; η b παίρνει την τιμή της a μετά την αύξηση της κατά 1 Ακολουθεί ένα παράδειγμα με αυξο-μειώσεις τιμών : Παράδειγμα class incdecr { public static void main (String args[]) { int a = 0; int b = 0; b = a++; System.out.println( αύξηση μετά ); System.out.println( a= + a+ b= +b); b = ++a; System.out.println( αύξηση πριν ); System.out.println( a= + a+ b= +b); 9

Συγκρίσεις-Τελεστές Σύγκρισης-1 Η Java διαθέτει ένα σύνολο από εκφράσεις που χρησιμοποιούνται για έλεγχο και συγκρίσεις. Όλες οι εκφράσεις αυτές επιστρέφουν boolean τιμή (δηλαδή true ή false). Στον παρακάτω πίνακα παρουσιάζονται οι τελεστές σύγκρισης καθώς και οι λογικοί τελεστές της Java : ΤΕΛΕΣΤΗΣ ΕΝΕΡΓΕΙΑ = = ισότητα < (<=) μικρότερο (ίσον) & ή && λογικό AND ^ λογικό XOR!= ανισότητα > (>=) μεγαλύτερο (ίσον) ή λογικό OR! λογικό NOT Συγκρίσεις-Τελεστές Σύγκρισης-2 Με τους τελεστές &,, ^ υπολογίζονται πάντοτε οι τιμές και των δύο ορισμάτων μίας έκφρασης ανεξάρτητα από το αποτέλεσμα ενώ αντίστοιχα με τους && και εάν το αριστερό μέρος μίας έκφρασης είναι false δεν υπολογίζεται το δεξιό μέρος της έκφρασης και επιστρέφεται η τιμή false ως τελική απάντηση. 10

Δυαδικοί Τελεστές Η Java υποστηρίζει και δυαδικούς τελεστές, κληρονομώντας την C. Οι δυαδικοί τελεστές περιλαμβάνουν : ΤΕΛΕΣΤΗΣ ΕΝΕΡΓΕΙΑ << αριστερά μετατόπιση <<= ανάθεση αριστερά μετατόπισης(a=a<<b) >>> μηδενισμός δεξιά μετατόπισης >> δεξιά μετατόπιση >>= ανάθεση δεξιά μετατόπισης(a=a>>b) >>>= ανάθεση από μηδενισμό δεξιά μετατόπισης & ^ a &= b δυαδικό AND δυαδικό XOR AND ανάθεση (a =a&b) a ^= b XOR ανάθεση (a =a ^ b) δυαδικό OR ~ δυαδικό συμπλήρωμα a = b OR ανάθεση (a =a b) 11