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

Ο αριθμός τελεστών που παίρνει ένας χειριστής καθορίζει τον τύπο του. Ένας χειριστής που παίρνει έναν τελεστή ονομάζεται "unary". Ένας χειριστής που παίρνει δύο τελεστές ονομάζεται "δυαδικό".

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

Λογικοί χειριστές

Χρησιμοποιούνται για τη δημιουργία λογικών δηλώσεων κατά τον προγραμματισμό. Υπάρχουν έξι λογικοί τελεστές στην Java. Ο παρακάτω πίνακας τους συνοψίζει.

Χειριστής Ονομα Τύπος
| Boolean Λογική Ή Δυάδικος
& Λογιστική Boolean AND Δυάδικος
^ Boolean Logical Exclusive Ή Δυάδικος
|| Υπό όρους Ή Δυάδικος
&& Υπό όρους ΚΑΙ Δυάδικος
! Λογικά ΟΧΙ Unary
instagram viewer

Εάν θέλετε να ελέγξετε εάν ισχύει μία ή και οι δύο συνθήκες, χρησιμοποιήστε αυτόν τον τελεστή. Μια συνθήκη είναι μια έκφραση που μπορεί να είναι αληθινή ή ψευδής.

Boolean Logical Inclusive Ή (|)

Η λογική Ή ελέγχει αν και οι δύο τελεστές είναι αληθείς πριν από την αξιολόγηση της έκφρασης.

εάν (dob <2005 | ύψος <= 5) {
χρήματα ++;
}

Το παραπάνω παράδειγμα θα δώσει σε κάποιον περισσότερα χρήματα εάν η ημερομηνία γέννησής του (dob) είναι μικρότερη από το 2005 ή εάν το ύψος του είναι μικρότερο ή ίσο με 5 πόδια.

Boolean Logical AND (&)

Αυτός ο τελεστής χρησιμοποιείται για να ελέγξει αν και οι δύο συνθήκες είναι αληθινές προτού ακολουθήσουν μια συγκεκριμένη διαδρομή εκτέλεσης στο πρόγραμμα. Πρώτα ελέγχει εάν και οι δύο συνθήκες είναι αληθείς πριν από την αξιολόγηση ολόκληρης της έκφρασης.

Σχετιζομαι με: Πώς να επικυρώσετε συμβολοσειρές χρησιμοποιώντας Boolean μεθόδους στο Python

Boolean Logical Exclusive Ή (^)

Εάν θέλετε να ελέγξετε εάν ισχύει μία από τις προϋποθέσεις, αλλά όχι και οι δύο, τότε αυτός είναι ο χειριστής που θα χρησιμοποιήσει. Ο παρακάτω πίνακας αλήθειας συνοψίζει τα αποτελέσματα που θα δείτε όταν το χρησιμοποιείτε.

έκφραση1 έκφραση2 έκφραση1 ^ έκφραση2
ψευδής ψευδής ψευδής
ψευδής αληθής αληθής
αληθής ψευδής αληθής
αληθής αληθής ψευδής

Boolean υπό όρους ΚΑΙ (&&)

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

Εάν το αριστερό μέρος είναι ψευδές, τότε η εκτέλεση σταματά αμέσως. Διαφορετικά, η αξιολόγηση του σωστού μέρους θα συνεχιστεί. Αυτή η δυνατότητα είναι γνωστή ως αξιολόγηση βραχυκυκλώματος.

Δείτε τον παρακάτω πίνακα αλήθειας για να βάλετε την κατανόησή σας για αυτόν τον χειριστή.

έκφραση1 έκφραση2 έκφραση1 && έκφραση2
ψευδής ψευδής ψευδής
ψευδής αληθής ψευδής
αληθής ψευδής ψευδής
αληθής αληθής αληθής

Υπό όρους Ή (||)

Εάν κάποια από τις συνθήκες είναι λανθασμένη, τότε η εκτέλεση θα μεταβεί στο επόμενο μέρος του προγράμματος. Με άλλα λόγια, και οι δύο προϋποθέσεις πρέπει να ισχύουν.

Αυτός ο τελεστής είναι παρόμοιος με το λογικό OR. Ελέγχει επίσης εάν ισχύει μία ή και οι δύο προϋποθέσεις πριν από την εκτέλεση συγκεκριμένου κώδικα.

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

Σχετιζομαι με: Τι είναι κατασκευαστής στην Java και πώς το χρησιμοποιείτε;

Εάν η συνθήκη στα αριστερά είναι αληθινή, τότε δεν χρειάζεται να ελέγξετε τη σωστή. Διαφορετικά, η αξιολόγηση προς τα δεξιά θα συνεχιστεί.

Λογική ΟΧΙ (!)

Αυτός ο τελεστής χρησιμοποιείται για να αναιρέσει μια συνθήκη. Απλώς αντιστρέφει το νόημα του τι λειτουργεί.

αν (! (x> 5)) {
// δηλώσεις
}

Η παραπάνω δήλωση σημαίνει ότι εάν το "x είναι μεγαλύτερο από 5" ΔΕΝ είναι αληθές, τότε εκτελέστε τις δηλώσεις μέσα στο αν.

Παρατηρήστε τη χρήση στρογγυλών αγκυλών με την έκφραση (x> 5). Εάν δεν συμπεριλάβετε αυτές τις αγκύλες ενώ γράφετε το πρόγραμμά σας, θα λάβετε ένα σφάλμα χρόνου μεταγλώττισης. Ο λόγος είναι επειδή ! είναι ένας unary χειριστής που ενεργεί υπό όρους. Χωρίς αγκύλες, ο μεταγλωττιστής θα το ερμήνευε ως χειριστή που ενεργεί στο x, όχι x> 5.

Η συμπερίληψη αγκυλών δεν είναι μόνο για να επιτρέψει στον μεταγλωττιστή να ερμηνεύσει σωστά μια έκφραση. Μπορούν επίσης να χρησιμοποιηθούν ως τρόπος για τον προγραμματιστή να κατανοήσει καλύτερα τις πιο περίπλοκες εκφράσεις. Δείτε το παρακάτω παράδειγμα:

ηλικία> = 7 && ύψος <5

Μερικοί άνθρωποι ίσως δυσκολεύονται να ακολουθήσουν τη λογική. Επομένως, ορισμένοι προγραμματιστές προτιμούν να προσθέτουν περιττές παρενθέσεις για λόγους αναγνωσιμότητας:

(ηλικία> = 7) && (ύψος <5)

Σχεσιακοί χειριστές

Αυτοί οι τελεστές χρησιμοποιούνται για τη σύγκριση απλών σχέσεων μεταξύ τελεστών.

Χειριστής Ονομα
> Μεγαλύτερος από
< Λιγότερο από
>= Μεγαλύτερο ή ίσο με
<= Λιγότερο από ή ίσο με

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

αν (x <= 7) {
x ++;
}

Τα παραπάνω αν Η δήλωση ελέγχει εάν το x είναι μικρότερο ή ίσο με 7. Εάν είναι αλήθεια, τότε εκτελούνται οι δηλώσεις εντός των αγκυλών, διαφορετικά δεν ισχύουν.

Τώρα θα ήταν μια καλή στιγμή να αναφέρουμε τους φορείς ισότητας. Υπάρχουν μόνο δύο από αυτά (ίσο με, == και! =, Όχι ίσο με). Όπως υποδηλώνει το όνομά τους, χρησιμοποιούνται για τη δοκιμή της ισότητας μεταξύ δύο τελεστών.

Σχετιζομαι με: Πώς να δημιουργήσετε και να εκτελέσετε λειτουργίες σε συστοιχίες σε Java

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

Ο τελεστής ανάθεσης (=) εκχωρεί μια τιμή σε μια μεταβλητή, ενώ ο τελεστής ισότητας (==) ελέγχει για ισότητα. Δείτε το παρακάτω παράδειγμα για να κατανοήσετε τη διαφορά:

αν (x = 5) {
// δηλώσεις
}

Ο παραπάνω κώδικας θα εκτελείται πάντα ανεξάρτητα από το αν το x είναι στην πραγματικότητα ίσο με 5. Εν τω μεταξύ, ο παρακάτω κώδικας θα εκτελεστεί μόνο εάν το x είναι ίσο με 5. Επομένως, είναι σημαντικό να μην αναμιχθούν τα δύο.

αν (x == 5) {
// δηλώσεις
}

Οι δύο αναφερόμενοι φορείς ισότητας έχουν το ίδιο επίπεδο προτεραιότητας, αν και χαμηλότεροι από εκείνους των σχετικών φορέων.

Οι σχετικοί χειριστές έχουν επίσης το ίδιο επίπεδο προτεραιότητας. Η εκτέλεση αυτών των τελεστών ξεκινά από αριστερά προς τα δεξιά.

Περαιτέρω εκτιμήσεις των χειριστών Java

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

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

Y> = 7 // χωρίς κενό διάστημα
Y> = 7 // με κενό διάστημα

Οι σχετικοί χειριστές χρησιμοποιούνται γενικά για να εκφράσουν απλές συνθήκες. Για να συνδυάσετε απλές συνθήκες σε πιο περίπλοκες, θα πρέπει να χρησιμοποιήσετε λογικούς τελεστές. Οι λογικοί τελεστές μπορούν να δοκιμάσουν πολλαπλές συνθήκες, σε αντίθεση με τους σχετικούς τελεστές που δοκιμάζουν μόνο μία συνθήκη.

Είναι επίσης σημαντικό να σημειωθεί ότι οι λογικοί τελεστές (|, &, ^) μπορούν να είναι δυαδικοί τελεστές όταν έχουν ενσωματωμένους τελεστές. Όταν χρησιμοποιούνται ως bitwise τελεστές, θα λειτουργούν στα bit των τελεστών τους.

Με αυτήν τη γνώση των χειριστών, θα πρέπει τώρα να προετοιμαστείτε για να μάθετε μαθήματα Java.

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Μάθετε πώς να δημιουργείτε μαθήματα στην Java

Εάν μαθαίνετε να προγραμματίζετε σε Java, θα πρέπει να γνωρίζετε πώς να δημιουργείτε μαθήματα.

Διαβάστε Επόμενο

Σχετικά θέματα
  • Προγραμματισμός
  • Ιάβα
  • Εκμάθηση κωδικοποίησης
Σχετικά με τον Συγγραφέα
Τζέρομ Ντέιβιντσον (Δημοσιεύθηκαν 9 άρθρα)

Ο Jerome είναι συγγραφέας προσωπικού στο MakeUseOf. Καλύπτει άρθρα σχετικά με τον προγραμματισμό και το Linux. Είναι επίσης λάτρης της κρυπτογράφησης και παρακολουθεί πάντα τη βιομηχανία κρυπτογράφησης.

Περισσότερα από τον Jerome Davidson

Εγγραφείτε στο Newsletter μας

Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Ένα ακόμη βήμα…!

Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.

.