java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Blogs > partsch

Bewerten

Bedingungsoperatoren

"Bedingungsoperatoren" bei Mister Wong speichern "Bedingungsoperatoren" bei YiGG.de speichern "Bedingungsoperatoren" bei Google speichern "Bedingungsoperatoren" bei del.icio.us speichern
Veröffentlicht: 29.11.2009 um 14:13 von partsch

So wie in C++ gibt es auch in Java diesen ternären Operatoren den ich leider in vielen Codes die ich oft sehe vermisse und der auch in manchen Programmier-Klassen nicht einmal mehr unterrichtet wird.
Dank diesen Operatoren sind Bedingungen nicht unbedingt von einem if-else abhängig.
Das Trennzeichen zwischen Bedingung und Body ist ein ? und die zwei Möglichkeiten werden mit einem : getrennt.
Hier mal ein kleines Beispiel dazu: Von zwei Random zahlen in int max die größere Abspeichern
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
 
int a = (int) (Math.random()*100);
int b = (int) (Math.random()*100);
 
/* Die if-Lösung */
int max;
if(a > b)
    max = a;
else
    max = b;
 
/* nun die Lösung mit Bedingungsoperatoren: */
int max = (a>b) ? a : b;

Man erspart sich dabie gleich einmal 4 Zeilen
(Natürlich können diese auch geschachtelt werden)

Quelle: Java ist auch eine Insel; Stanford Methodology Lecture's; Verschiedene Turorials
Kategorie: Kategorielos
Hits 2113 Kommentare 4
« Zurück     Startseite des Blogs     Nächste »
Kommentare 4

Kommentare

  1. Alter Kommentar
    Hat auch seinen Grund, warum das Teil selten gebraucht wird.
    Für solche Demonstrationsfälle vielleicht recht einleuchtend - aber viele Bedingungen sind einfach zu komplex.
    permalink
    Veröffentlicht: 03.12.2009 um 02:05 von
  2. Alter Kommentar
    Benutzerbild von bygones
    nicht nur die komplexitaet spielt hier eine rolle - logik kann auch nicht wirklich damit weitergenutzt werden
    Java Code: Quelltext in neuem Fenster öffnen
    1
    2
    3
    4
    5
    6
    
     if (irgendwas) {
       foo();
    }
    else {
       bar();
    }
    permalink
    Veröffentlicht: 07.12.2009 um 14:01 von bygones bygones ist offline
  3. Alter Kommentar
    Was hier viel wichtiger ist, ist die Laufzeitkomplexität des Bedingungsoperators.
    Die ist nähmlich geringer als bei If else, und spart somit Rechenzeit
    permalink
    Veröffentlicht: 07.11.2010 um 18:37 von DrCode DrCode ist offline
  4. Alter Kommentar
    Benutzerbild von bygones
    oja... ein ganz wichtiger punkt.... NICHT

    laufzeit ist bei weitem das kleinste Problem - ich behaupte mal überhaupt kein problem
    permalink
    Veröffentlicht: 11.11.2010 um 12:17 von bygones bygones ist offline
 

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de