Java Tutorial 19 - Switch (Reloaded?)

preview_player
Показать описание
Danke an Kurieita

Рекомендации по теме
Комментарии
Автор

@gerald2385 Die Methode selbst wird durch die Variable st in der main methode (!) gestartet. In der Methode selbst gibt es die Variable st garnicht und die Methode weiß selbst auch nichts von der Variable st. Die Methode weiß lediglich, dass sie verschiedene Werte von irgendwoher bekommt und dann in einem Format zurück geben soll. Diese Werte werden in der Main methode übergeben und dann direkt, weil ein String "returned" wird, in st gespeichert.

MfG

Brotcrunsher
Автор

Jain. Also direkt mit if und else geht das nicht, allerdings mit Schleifen und blöcken. Setz den If/switch Block einfach in eine Endlosschleife (while(true){//if} und du springst mit break erst dann aus der if anweisung heraus, wenn die richtige antwort gewählt wurde. Wenn du das ganze mit Switch machen willst, dann brauchst du noch ein Label für die Schleife (habe ich bereits in einem anderen VIdeo erklärt).

MfG

Brotcrunsher
Автор

Sagmal wieso meckert bei dir Eclipse eigentlich nicht, dass du den Scanner nicht closet? Also wieso kommt bei dir kein Hinweis? liegt das an der Version?

kaif.
Автор

Hey du hilfst mir grade dabei meine Informatik Klausur bestehen zu können :) Danke mann!
Btw: Jetzt wo man schon so tolle Funktionen mit Arrays gelernt hat, hab ich die Hausaufgabe direkt mal viel komplizierter gemacht :D Aber auch schöner ;)

TheMarshallFan
Автор

@apenrad Hey, thx für den Hinweis. Ich wusste bisher wirklich nicht, dass man Strings nicht in Switch/Case benutzen kann, du hast allerdings recht.
Zu dem Punkt, dass es schneller ist: Ja. Allerdings kaum spürbar. Ich hab mal ein Array mit zufallswerten zwischen 0 und 4 gefüllt und dann jeweils alle Zustände mit switch/case und if/else abgefragt. Ergebnis:
If/Else: 76 Millisekunden
Switch/case: 75 Millisekunden
Google hab ich auch befragt, sagt auch das selbe ;)

MfG

Brotcrunsher
Автор

@gerald2385 Kommt drauf an welches Java du installiert hast.
Ab Java 7 ist es möglich auch über strings zu switchen!
Vorher war es allerdings nicht möglich.
Ich nehme an Brotcrunsher hat noch die alte Version.

apenrad
Автор

@apenrad Ich habe mir die Systemzeit in einer Variable am anfang vom testen gespeichert und nochmal in einer anderen am Ende vom Testen. Daraufhin einfach die Differenz der beiden ausgegeben ;)
Zu Systemzeit habe ich bereits ein anderes Tutorial gemacht, Episode 55.

Brotcrunsher
Автор

@VikiBreanaqa856 Bitte was? Hast du diese Episode nicht verstanden? Welcher Punkt war denn unklar?

Brotcrunsher
Автор

Wenn du bei String.format ( ... %02d ...) eingibst werden so lange vorne Nullen eingefügt bis die in diesem Fall 2 Plätze voll sind, das bedeuted dann bekommst du:
[01:14:07] z.B.

Markuspaschi
Автор

@gerald2385 Hmmm, bei mir geht das so aber nicht. Er meckert bei mir rum, dass es nicht auf eine Variable vom Typ String switchen könnte.

Brotcrunsher
Автор

Nein, in Java gibt es kein goto / Sprungbefehl. Übrigens: der Befehl goto ist in Java als Keyword registriert, hat aber keinerlei nutzen. Daher wird goto auch als Keyword in eclipse gekennzeichnet. Sun hat das damals gemacht um die Freiheit zu haben das Keyword später noch eventuell zu implementieren. Das ist aber bisher nicht passiert und wird vermutlich auch nicht mehr kommen.
MfG

Brotcrunsher
Автор

Deine Videos sind so verdammt gut! :D mehr davon

TheKraiburgBoy
Автор

@Brotcrunsher kann man ein if-else oder switch-case konstrukt so breaken, dass es bei einer bestimmten antwort wieder von vorne anfängt?

swaggerchegger
Автор

Du hättest in deinem Video noch erwähnen sollen, dass man nicht über alle Datentypen zwitschern kann, so z.b. über einen String. Dafür müsste man dann wieder mit if-else arbeiten.
Ausserdem ist ein switch-case-Konstrukt schneller in der Abarbeitung als if-else.

apenrad
Автор

Hallo ich habe eine dringende Frage-die da wäre: Ich habe die Aufgabe ein Monatskürzel einzulesen (z.B: Jan, Feb, Mar, Apr, usw.) und nun muss ich diese Monatskürzel mit Hilfe des Switch-Befehles in die dazugehörigen Zahlen umwandeln. Jan entspricht 1, Feb entspricht 2 Dez entspricht 12. Wie mache ich das? Ich bin schon echt verzweifelt....

lillyschallauer
Автор

+Brotcrunsher wozu braucht man denn eigentlich die zusätzliche methode bei HA von folge 18? Es geht auch ohne:


package ersten_projekte;

public class Übung_1 {

public static void main(String[] args) {

int x, y, z;

x = 17;
y = 54;
z = 12;

String s = String.format("Es ist %d:%d:%d", x, y, z);

System.out.printf(s);

}

}

nemanjatomic
Автор

@Brotchrunsher: Woher weis die Methode das er in den String "st" "returnen" soll? In der return - Zeile wird nicht auf "st" hingewiesen?!?!? Es könnten ja am Anfang mehrere Strings deklariet sein.
Ich steh auf der Leitung!
thx

gerald
Автор

@Brotcrusher gibt es eine sprung befehl in java, wenn ja wie heißt er?
(z.B. in assembler jmp loop)

yourplayer
Автор

Kann man auch > oder < benutzen?

Schieber
Автор

Wenn ich nun Switch in eine For schleife ienbaue, kann ich die for-schleife doch nicht mehr mit brake beenden, odeR?

MrKuesli