Παρασκευή 23 Οκτωβρίου 2009

Τελεστές

Οι τελεστές είναι ειδικά σύμβολα που χρησιμοποιούνται για μαθηματικές συναρτήσεις, για κάποιους τύπους προτάσεων εκχώρησης και για λογικές συγκρίσεις.

 
Οι αριθμητικοί τελεστές είναι αυτοί που χρησιμοποιούνται για να κάνουν βασικές αριθμητικές πράξεις και στη java και είναι 5:

  • πρόσθεση: +  
  • αφαίρεση: –
  • πολλαπλασιασμός: *
  • διαίρεση: /
  • υπόλοιπο διαίρεσης: %
 
Η πράξη που χρειάζεται ιδιαίτερη προσοχή είναι η διαίρεση. Αν το αποτέλεσμα της διαίρεσης αποθηκευτεί σε έναν ακέραιο τότε το αποτέλεσμα της πράξης θα είναι η στρογγυλοποίηση του αριθμού στο ακέραιο μέρος.

 
 Οι τελεστές εκχώρησης είναι ο “=” και οι συνδυασμοί τελεστών εκχώρησης και αριθμητικών τελεστών. Για παράδειγμα

 
  • x+=y ισοδυναμεί με x=x+y
  • x-=y ισοδυναμεί με x=x-y
  • x*=y ισοδυναμεί με x=x*y
  • x/=y ισοδυναμεί με x=x/y
  • x%=y ισοδυναμεί με x=x%y
 
Μοναδιαίοι τελεστές είναι οι τελεστές προσαύξησης ή μείωσης που αυξάνουν ή μειώνουν την τιμή μιας μεταβλητής κατά 1.

  
  • x++; (αυξάνει την τιμή του x κατά 1) 
  • x--; (μειώνει την τιμή του x κατά 1)

 
  Οι τελεστές αυτοί είναι τελεστές προθέματος και τελεστές επιθέματος. Για παράδειγμα:

 
  
1.   int x,y,z;

2.   x=12;

3.   y=x++;

4.   z=++x;

 
Στην γραμμή 3 το y γίνεται ίσο με το x δηλαδή παίρνει την τιμή 12 και στη συνέχεια το x αυξάνεται κατά 1 και ισούτε τώρα με 13. Στη συνέχεια στη γραμμή 4 το x αυξάνεται κατά 1 και η τιμή του είναι 14 ενώ το z παίρνει την τιμή του x αφού ολοκληρωθεί η προσαύξηση. Επομένως η τιμή του z είναι 14.

 
Ο τελεστής προθέματος αυξάνει την τιμή της μεταβλητής και στη συνέχεια την χρησιμοποιεί. Αντίθετα ο τελεστής επιθέματος αυξάνει τη μεταβλητή αφού εκείνη έχει προηγουμένως χρησιμοποιηθεί.

 
  
Οι τελεστές σύγκρισης χρησιμοποιούνται για να κάνουμε συγκρίσεις σε μεταβλητές. Οι τελεστές αυτοί χρησιμοποιούνται σε εκφράσεις και επιστρέφουν boolean τιμές.

 

Τελεστές σύγκρισης είναι οι εξής:

 
  • == ισότητας (επιστρέφει true αν οι μεταβλητές είναι ίσες)
  • != ανισότητας (επιστρέφει true αν οι μεταβλητές δεν είναι ίσες)
  •  < μικρότερο (επιστρέφει true αν η μεταβλητή στα αριστερά είναι μικρότερη)
  •  >  μεγαλύτερο (επιστρέφει true αν η μεταβλητή στα αριστερά είναι μεγαλύτερη)
  •  <= μικρότερο ή ίσο (επιστρέφει true αν η μεταβλητή στα αριστερά είναι μικρότερη ή ίση με την μεταβλητή στα δεξιά)
  •  >= μεγαλύτερο ή ίσο (επιστρέφει true αν η μεταβλητή στα αριστερά είναι μεγαλύτερη ή ίση με την μεταβλητή στα δεξιά)

Οι λογικοί τελεστές χρησιμοποιούνται για να συνδυαστούν εκφράσεις που παράγουν λογικές τιμές. Χρησιμοποιούνται για τους λογικούς συνδυασμούς and, or, xor, και το λογικό not και είναι οι παρακάτω:

 

&, &&  χρησιμοποιούνται για να εκφράσουν το λογικό and και επιστρέφουν true αν και οι δύο λογικές εκφράσεις είναι true.

 

| , || χρησιμοποιούνται για να εκφράσουν το λογικό or και επιστρέφουν true αν τουλάχιστον μία από τις δύο λογικές εκφράσεις είναι true.

  
^ : χρησιμοποιείται για να εκφράσει το λογικό xor και επιστρέφει true μόνο αν οι δύο λογικές εκφράσεις είναι η μία true και η άλλη false.

  
! : χρησιμοποιείται για να εκφράσει το λογικό not και επιστρέφει true μόνο αν η λογική έκφραση είναι false.

 
 
Παρατήρηση: Για το λογικό and και το λογικό or χρησιμοποιούνται 2 τελεστές (&, && για το and και  || για το or). Η διαφορά τους έγγειται στην εργασία που κάνει η Java για να αποτιμήσει την έκφραση. Έτσι αν χρησιμοποιήσουμε τον τελεστή && αποτιμάται αρχικά η αριστερή πλευρά και αν είναι false δεν χρειάζεται να αποτιμηθεί η δεύτερη. Ομοίως αν η έκφραση στα αριστερά του || αποτιμηθεί σε true δεν υπάρχει λόγος να αποτιμηθεί η δεξιά πλευρά.

 
  
Ο τελεστής + όταν χρησιμοποιείται σε συμβολοσειρές ενώνει τις 2 συμβολοσειρές σε μία πρόταση. Για παράδειγμα:

 

String name = “IEK”;

 

System.out.println( name + " Katerinis);

 

Οι δύο παραπάνω γραμμές κώδικα δίνουν σαν αποτέλεσμα

 
 IEK Katerinis

 
 
 Η προτεραιότητα των τελεστών που έχουμε μάθει έως τώρα με φθίνουσα σειρά έχει ως εξής:

 

•Μοναδιαίοι τελεστές

 

•Αριθμητικοί τελεστές

 

•Τελεστές σύγκρισης

 

•Λογικοί τελεστές

 

•Τελεστές εκχώρησης

 
 Σε τελεστές με την ίδια προτεραιότητα ισχύει η προτεραιότητα της πράξης στα αριστερά. Οι τελεστές της ίδιας ομάδας δεν έχουν την ίδια προτεραιότητα. Για παράδειγμα η πρόσθεση έχει μικρότερη προτεραιότητα από τον πολλαπλασιασμό. Χρησιμοποιούμε παρενθέσεις αν δεν είμαστε βέβαιοι για την προτεραιότητα.

 

Δεν υπάρχουν σχόλια: