Java Ternary Operator (με παράδειγμα)

Σε αυτό το σεμινάριο, θα μάθετε για τον τριμερή χειριστή και τη χρήση του στην Java με τη βοήθεια παραδειγμάτων.

Στην Java, ένας τριμερής τελεστής μπορεί να χρησιμοποιηθεί για να αντικαταστήσει τη δήλωση if… else σε ορισμένες περιπτώσεις. Πριν μάθετε για τον τριμερή τελεστή, βεβαιωθείτε ότι έχετε επισκεφθεί την Java εάν… αλλιώς δηλώνετε.

Ternary Operator στην Ιάβα

Ένας τρισδιάστατος τελεστής αξιολογεί την κατάσταση δοκιμής και εκτελεί ένα μπλοκ κώδικα με βάση το αποτέλεσμα της συνθήκης.

Η σύνταξη είναι:

 condition ? expression1 : expression2;

Εδώ, η κατάσταση αξιολογείται και

  • εάν η συνθήκη είναι true, εκτελείται η έκφραση1.
  • Και, εάν είναι η συνθήκη false, εκτελείται η έκφραση2.

Ο τριαδικός τελεστής παίρνει 3 τελεστές (συνθήκη, έκφραση1 και έκφραση2). Ως εκ τούτου, το όνομα τριαδικός τελεστής .

Παράδειγμα: Java Ternary Operator

 import java.util.Scanner; class Main ( public static void main(String() args) ( // take input from users Scanner input = new Scanner(System.in); System.out.println("Enter your marks: "); double marks = input.nextDouble(); // ternary operator checks if // marks is greater than 40 String result = (marks> 40) ? "pass" : "fail"; System.out.println("You " + result + " the exam."); input.close(); ) )

Έξοδος 1

 Εισαγάγετε τις βαθμολογίες σας: 75 Πετυχαίνετε την εξέταση.

Ας υποθέσουμε ότι ο χρήστης μπαίνει στο 75 . Στη συνέχεια, η κατάσταση marks> 40αξιολογείται σε true. Ως εκ τούτου, το πρώτο πέρασμα έκφρασης ανατίθεται στο αποτέλεσμα.

Έξοδος 2

 Εισαγάγετε τις βαθμολογίες σας: 24 Αποτυγχάνετε στην εξέταση.

Τώρα, ας υποθέσουμε ότι ο χρήστης μπαίνει στο 24 . Στη συνέχεια, η κατάσταση marks> 40αξιολογείται σε false. Ως εκ τούτου, η δεύτερη αποτυχία έκφρασης αποδίδεται στο αποτέλεσμα.

Πότε να χρησιμοποιήσετε τον Ternary Operator;

Στην Java, ο τριμερής τελεστής μπορεί να χρησιμοποιηθεί για την αντικατάσταση ορισμένων τύπων if… elseδηλώσεων. Για παράδειγμα,

Μπορείτε να αντικαταστήσετε αυτόν τον κωδικό

 class Main ( public static void main(String() args) ( // create a variable int number = 24; if(number> 0) ( System.out.println("Positive Number"); ) else ( System.out.println("Negative Number"); ) ) )

με

 class Main ( public static void main(String() args) ( // create a variable int number = 24; String result = (number> 0) ? "Positive Number" : "Negative Number"; System.out.println(result); ) )

Παραγωγή

 Θετικός αριθμός

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

Σημείωση : Θα πρέπει να χρησιμοποιείτε τον τριαδικό τελεστή μόνο εάν η δήλωση που προκύπτει είναι σύντομη.

Χειριστές Nested Ternary

Είναι επίσης δυνατό να χρησιμοποιήσετε έναν τριμερή χειριστή μέσα σε έναν άλλο τριμερή χειριστή. Ονομάζεται το ένθετο τριαδικό τελεστής στην Java

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

 class Main ( public static void main(String() args) ( // create a variable int n1 = 2, n2 = 9, n3 = -11; // nested ternary operator // to find the largest number int largest = (n1>= n2) ? ((n1>= n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3); System.out.println("Largest Number: " + largest); ) )

Παραγωγή

 Μεγαλύτερος αριθμός: 9

Στο παραπάνω παράδειγμα, παρατηρήστε τη χρήση του τριμερούς χειριστή,

 (n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);

Εδώ,

  • (n1> = n2) - πρώτη συνθήκη δοκιμής που ελέγχει εάν το n1 είναι μεγαλύτερο από n2
  • (n1> = n3) - δεύτερη συνθήκη δοκιμής που εκτελείται εάν είναι η πρώτη συνθήκηtrue
  • (n2> = n3) - τρίτη συνθήκη δοκιμής που εκτελείται εάν είναι η πρώτη συνθήκηfalse

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

ενδιαφέροντα άρθρα...