# Goto in java?



## Ocean-Driver (20. Mai 2008)

Hallo,


Ich hab nicht vor es zu nutzen, aber wofür gibts die Klasse GoTo in Java?Wenn z.B. folgendes garnichts bringt:


```
GOTO EXIT;
        
                System.out.println("Sollte nicht ausgeführt werden!");
                
                EXIT: 
                    System.exit(1);
```


----------



## voidee (20. Mai 2008)

wenn ich mich recht entsinne gibt es goto seit anbeginn bei java. Vermutlich ist es vorhanden um für die damals junge Sprache bei Anderen zu werben, dass GoTo auch verfügbar ist (auch wenn man es nicht braucht). Ist m.E. nur Marketing.


----------



## Ocean-Driver (20. Mai 2008)

Mir stellt sich sowieso die Frage warum man jemals überhaupt goto implementiert hat, wenn es doch nur unleserlichen Code produziert..


----------



## Marco13 (20. Mai 2008)

http://java.sun.com/docs/white/langenv/Simple.doc2.html

Zitat:
*2.2.6 No More Goto Statements*
_
Java has no goto statement. Studies illustrated that goto is (mis)used more often than not simply "because it's there". Eliminating goto led to a simplification of the language--there are no rules about the effects of a goto into the middle of a for statement, for example. Studies on approximately 100,000 lines of C code determined that roughly 90 percent of the goto statements were used purely to obtain the effect of breaking out of nested loops. As mentioned above, multi-level break and continue remove most of the need for goto statements._

Goto ist überflüssig, und provoziert (bei exzessiver Verwendung) unleserlichen, unwartbaren Spaghetticode. Nicht zuletzt deswegen ist es zwar ein "reserviertes" Wort in Java - aber es ist ihm keine Funktionalität zugeordnet: Man sollte es einfach nicht verwenden. Ganz allgemein wird es (das klingt jetzt so drastisch, aber so lautete der Titel dieses Aufsatzes) "als gefährlich" (oder "potentiell schädlich") angesehen: http://david.tribble.com/text/goto.html

Mit Marketing hat das jedenfalls nichts zu tun. :roll:


----------



## semi (20. Mai 2008)

Echte Programmierer haben keine Angst vor goto.  :lol:


----------



## voidee (20. Mai 2008)

na dann . Meine Java 1.0.x Tage liegen ein bisschen zurück. Und mein Server-Client-Chat Programm auch


----------



## AlArenal (21. Mai 2008)

semi hat gesagt.:
			
		

> Echte Programmierer haben keine Angst vor goto.  :lol:



Die programmieren aber vermutlich auch nicht in Java


----------



## Jango (21. Mai 2008)

voidee hat gesagt.:
			
		

> wenn ich mich recht entsinne gibt es goto *seit anbeginn bei java*. Vermutlich ist es vorhanden um für die damals junge Sprache bei Anderen zu werben, dass GoTo auch verfügbar ist (auch wenn man es nicht braucht). Ist m.E. nur Marketing.


Kompletter Blödsinn. Das Wort 'GOTO' wurde als Schlüsselwort reserviert - allerdings ohne Funktion.


----------



## lhein (21. Mai 2008)

Es gibt vielleicht keinen funktionierenden Goto Befehl, aber das heisst nicht, dass ich keine Sprungmarken definieren kann. Über Labels kannst Du Marken definieren, die dann unter bestimmten Bedingungen angesprungen werden können.

Hier ein absolut sinnfreies Beispiel 


```
int alter = 0;
        
looper:
        while (alter < 50)
            {
            System.out.println("Aktuelles Alter: " + alter++);
            if (alter >= 50)
                {
                alter = 0;
                continue looper;
                }
            }
```


lhe


----------



## Leroy42 (21. Mai 2008)

Ocean-Driver hat gesagt.:
			
		

> Ich hab nicht vor es zu nutzen, aber wofür gibts die Klasse GoTo in Java?



Kannst du dir aussuchen!


```
public class GoTo {
    public GoTo() {
        System.out.println("Nee, ich gehe nirgendwo hin!");
    }
}
```


----------

