logo

Ternárny operátor Java s príkladmi

Operátori tvoria základný stavebný kameň každého programovacieho jazyka. Java poskytuje mnoho typov operátorov, ktoré možno použiť podľa potreby vykonávať rôzne výpočty a funkcie, či už logické, aritmetické, relačné atď. Sú klasifikované na základe funkčnosti, ktorú poskytujú. Tu je niekoľko typov:

  1. Aritmetické operátory
  2. Unární operátori
  3. Operátor pridelenia
  4. Vzťahoví operátori
  5. Logické operátory
  6. Ternárny operátor
  7. Bitové operátory
  8. Zmenoví operátori

Tento článok vysvetľuje všetko, čo potrebujete vedieť o ternárnych operátoroch.

Ternárny operátor v jazyku Java

Ternárny operátor Java je jediný podmienený operátor, ktorý má tri operandy. Je to jednoriadková náhrada za príkaz if-then-else a často sa používa v programovaní Java. Môžeme použiť ternárny operátor namiesto podmienok if-else alebo dokonca prepnúť podmienky pomocou vnorených ternárnych operátorov. Hoci sa riadi rovnakým algoritmom ako príkaz if-else, podmienený operátor zaberá menej miesta a pomáha písať príkazy if-else čo najkratším možným spôsobom.



Ternárny operátor v jazyku Java


Syntax:

variable = Expression1 ? Expression2: Expression3>

If funguje podobne ako príkaz if-else ako v Vyjadrenie 2 sa vykoná, ak Výraz1 je pravda inak Výraz 3 je vykonaný.

b+ stromy
if(Expression1) {  variable = Expression2; } else {  variable = Expression3; }>

Príklad:

num1 = 10; num2 = 20;  res=(num1>číslo 2) ? (num1+num2):(num1-num2) Od num1 sa vykoná druhá operácia res = num1-num2 = -10>

Vývojový diagram ternárnej prevádzky

Vývojový diagram pre ternárneho operátora

Príklady ternárnych operátorov v Jave

Príklad 1:

Nižšie je uvedená implementácia ternárneho operátora:

Java
// Java program to find largest among two // numbers using ternary operator import java.io.*; class Ternary {  public static void main(String[] args)  {  // variable declaration  int n1 = 5, n2 = 10, max;  System.out.println('First num: ' + n1);  System.out.println('Second num: ' + n2);  // Largest among n1 and n2  max = (n1>n2) ? n1: n2;  // Vypíše najväčšie číslo System.out.println('Maximum je = ' + max);  } }>

Výkon
First num: 5 Second num: 10 Maximum is = 10>

Zložitosť vyššie uvedenej metódy:

Časová zložitosť: O(1)
Pomocný priestor: O(1)

Príklad 2:

Nižšie je uvedená implementácia vyššie uvedenej metódy:

Java
// Java code to illustrate ternary operator import java.io.*; class Ternary {  public static void main(String[] args)  {  // variable declaration  int n1 = 5, n2 = 10, res;  System.out.println('First num: ' + n1);  System.out.println('Second num: ' + n2);  // Performing ternary operation  res = (n1>n2) ? (n1 + n2): (n1 - n2);  // Vypíše najväčšie číslo System.out.println('Result = ' + res);  } }>

Výkon
First num: 5 Second num: 10 Result = -5>

Zložitosť vyššie uvedenej metódy:

Časová zložitosť: O(1)
Pomocný priestor: O(1)

Príklad 3:

Implementácia ternárneho operátora na boolovské hodnoty:

Java
// Java Program for Implementing  // Ternary operator on Boolean values // Driver Class public class TernaryOperatorExample {  // main function  public static void main(String[] args)  {  boolean condition = true;  String result = (condition) ? 'True' : 'False';    System.out.println(result);  } }>

Výkon
True>

Vysvetlenie vyššie uvedenej metódy:

V tomto programe je deklarovaná booleovská premenná podmienka a je jej priradená hodnota true. Potom sa ternárny operátor použije na určenie hodnoty výsledného reťazca. Ak je podmienka pravdivá, hodnota výsledku bude True, inak bude False. Nakoniec sa hodnota výsledku vytlačí do konzoly.

Výhody Java ternárneho operátora

  • Kompaktnosť : Ternárny operátor vám umožňuje písať jednoduché príkazy if-else oveľa stručnejším spôsobom, čím sa kód ľahšie číta a udržiava.
  • Vylepšená čitateľnosť : Pri správnom použití môže ternárny operátor zlepšiť čitateľnosť kódu tým, že uľahčí pochopenie zámeru kódu.
  • Zvýšený výkon: Keďže ternárny operátor vyhodnocuje jeden výraz namiesto vykonania celého bloku kódu, môže byť rýchlejší ako ekvivalentný príkaz if-else.
  • Zjednodušenie vnorených príkazov if-else: Ternárny operátor môže zjednodušiť komplexnú logiku poskytnutím čistého a výstižného spôsobu vykonávania podmienených priradení.
  • Jednoduché ladenie : Ak sa vyskytne problém s kódom, ternárny operátor môže uľahčiť identifikáciu príčiny problému, pretože znižuje množstvo kódu, ktorý je potrebné preskúmať.

Stojí za zmienku, že ternárny operátor nenahrádza všetky príkazy if-else. Pre zložité podmienky alebo logiku je zvyčajne lepšie použiť príkaz if-else, aby sa predišlo tomu, že kód bude zložitejší na pochopenie.