kostenloser Webspace werbefrei: lima-city


Java-Tutorial für Anfänger, If-Abfrage

lima-cityForumSonstigesSpam und sonstiges Unvergütetes

  1. Autor dieses Themas

    k**************s

    Ich habe hier mal ein kleines Tutorial für Anfänger in Sachen Java geschrieben. Das gleiche Tutorial habe ich bereits im Board RR gepostet und ist hier zu erreichen: Tutorial

    Ziel dieses Tutorials: Grundlagen vermitteln
    Vorraussetzungen: Java installiert, Datentypen schon bekannt und HelloWorld Programme ausgeführt,
    Themengebiete: If-Abfragen

    Die if-Abfrage

    Eine if-Abfrage ist eine Bedingung. Wenn diese Bedingung erfüllt wird, wird ein bestimmter Teil Code ausgeführt. Das heißt, dass das Programm Entscheidungen fällen kann.

    Ein kleines Beispiel:

    Sie wollen Fußball spielen und besitzen einen Ball. Es kann vorkommen, dass nach längerer Zeit der Ball Luft verliert und sie ihn vorher aufpumpen müssen.
    Es gibt also zwei Möglichkeiten.
    Entweder: Der Ball ist aufgepumpt und sie können gleich anfangen zu spielen
    Oder: Sie müssen erst den Ball aufpumpen und können erst dann anfangen zu spielen.

    Wir wollen jetzt ein kleines Programm schreiben, das testet, ob der Ball platt ist oder nicht.

    Hier mal die Struktur des Programms:
    Code:
    Los
                           |
                           |
                       Ball testen
                       |         |
            wenn aufgepumpt      wenn platt
                       |         |
                       |         ball aufblasen
                       |         | 
                   SPIELEN!    <--
    Der 'magische' Befehl heißt 'if', 'wenn' auf Englisch.

    Hinter dem 'if' kommt die Bedingung, die getestet werden soll und danach in {} das, was passieren soll, wenn die Bedingung stimmt.

    Code:
    if(BEDINGUNG)
    {
        ANWEISUNG
    }

    Wenn es sich nur um einen Befehl in der Anweisung handelt, können die geschweiften Klammern ( {} ) auch ausgelassen werden.

    Code:
    if(BEDINGUNG)
        ANWEISUNG;

    Um auf unser Ball-Problem zurückzukommen. Der Pseudocode sieht bisher so aus:

    Code:
    if(ball ist platt)
    {
        ball aufblasen;
    }
    
    System.out.println("LASS UNS JETZT SPIELEN!");

    Der if-Bereich wird nur ausgeführt, wenn der Ball platt ist. Ist dies nicht der Fall, wird auch der Bereich in {} ausgelassen.
    Die Ausgabe wird in jedem Fall ausgeführt, da sie sich nicht mehr in dem Bereich der {} befindet.

    So, jetzt ist es Zeit, den Pseudocode in richtigen JAVA-kompilierbaren Code zu verwandeln.

    Für den 'Status' (platt oder nicht platt) wird ein boolean verwendet.
    Im folgenden Beispiel ist der Ball nicht platt, siehe Zeile 5.

    Code:
    class BallTester
    {
       public static void main(String[]args)
       {
          boolean platt=false;
          
          if(platt==true)
          {
             System.out.println("Der Ball ist platt");
             platt=false;
             System.out.println("Der Ball wurde aufgepumpt");
          }
          
          System.out.println("Lass uns spielen, der Ball ist aufgepumpt");
       }
    }

    Da der Ball ja nicht platt ist, wird auch nicht der if-Teil ausgeführt. Wenn man jetzt anstatt platt= false; , platt=true; schreibt, werden folgende Ausgaben erscheinen:

    Der Ball ist platt
    Der Ball wurde aufgepumpt
    Lass uns spielen, der Ball ist aufgepumpt.

    Dies war jetzt eine Einführung zu der einzweigigen if-Anweisung, einzweigig, weil es nur den 'if'-Teil gibt, aber der 'else'-Teil fehlt.

    Der Befehl 'else' kann nur existieren, wenn es davor einen if Befehl gab.

    also:

    Code:
    if(....)
    {
        IRGENDWAS;
    }
    else
    {
        IRGENDWAS ANDERES;
    }

    Der else-Teil wird ausgeführt, wenn die if-Bedingung falsch war. Bei unserem BallTester kann dies nun so angewendet werden:

    Code:
    class BallTester
    {
       public static void main(String[]args)
       {
          boolean platt=false;
          
          if(platt==true)
          {
             System.out.println("Der Ball ist platt");
             platt=false;
             System.out.println("Der Ball wurde aufgepumpt");
          }
          else
             System.out.println("Der Ball war schon aufgepumpt");
    
          System.out.println("Lass uns spielen, der Ball ist aufgepumpt");
       }
    }

    Hier noch einige Beispiele:

    Code:
    class WasserTemperaturTester
    {
       public static void main(String[]args)
       {
          int wasserTemperatur=60;
          
          if(wasserTemperatur=>100)
             System.out.println("Das Wasser kocht!"); 
          else
             System.out.println("Das Wasser kocht noch nicht.");
          
       }
    }

    Ausgabe bei wasserTemperatur=60: Das Wasser kocht noch nicht.
    Ausgabe bei wasserTemperatur=120: Das Wasser kocht!

    Code:
    class NamenTester
    {
    	public static void main(String[]args)
    	{
    		String name="Thomas";
    
    		if(name.equals("Tom"))
    			System.out.println("Die Namen sind identisch");
    		else
    			System.out.println("Die Namen sind nicht identisch");
    	}
    }

    Ausgabe bei name="Tom": Die namen sind identisch
    Ausgabe bei name="Tim": Die namen sind nicht identisch

    /!\ Strings werden mit der Methode equals("...") verglichen und nicht mit ==.

    Ich hoffe, dieses Tutorial war soweit verständlich und ich konnte einigen helfen

    Beitrag zuletzt geändert: 2.8.2012 3:19:21 von kingofexceptions
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Tutorial, fehlende Diskussionsgrundlage
    -> verschoben
  4. Autor dieses Themas

    k**************s

    Man kann ja keine Tutorials mehr hinzufügen und um in dieser Zeit trotzdem Usern zu helfen, habe ich das dann halt dort gepostet. Was ist daran so schlimm und immerhin ist das Tutorial glaube ich nicht so schlecht, als dass es als Spam gilt oder?
  5. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    kingofexceptions schrieb:
    Man kann ja keine Tutorials mehr hinzufügen und um in dieser Zeit trotzdem Usern zu helfen, habe ich das dann halt dort gepostet. Was ist daran so schlimm und immerhin ist das Tutorial glaube ich nicht so schlecht, als dass es als Spam gilt oder?


    Das Spamforum ist nicht der alleinige Mülleimer, sondern auch Platzhalter für Sachen, die zT sinnvoll sind, aber nirgendwo anders hinpassen. Es ist also keine Wertung Deines Tutorials.
  6. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Nichts für ungut, aber If beschränkt sich nicht auf Java. Ich würde das allgemeiner halten...
    Außerdem gibts da nicht so viel zu verstehen. Ich meine, ein einfaches If ist schnell erklärt. Also ich würde da nicht so viel Zeit in etwas investieren, das im Internet schon x-hundert-tausend-mal erklärt ist und sich, evtl. in die deutsche Sprache übersetzt, von selbst erklärt...
    Außerdem verwirrt dein Tutorial mehr, denn man könnte fragen "Was ist 'Class?'" oder "Was ist 'public static void main'?". Du verwirrst den Leser hier mehr mit objektorientierten Konstrukten als dass du ihm die If-Abfrage näher bringst. Das würde ich eher in einem PHP-Script bzw. einer Batch-Datei erklären. Halt etwas wofür sich der Nutzer nicht erst eine Laufzeitumgebung, einen Compiler, evtl eine Entwicklungsumgebung und und und einrichten muss...

    Beitrag zuletzt geändert: 2.8.2012 14:55:59 von schrotti12
  7. Autor dieses Themas

    k**************s

    Dass sich if nicht nur auf JAVA beschränkt, ist mir auch klar. Jedoch sind die kleinen Codes nunmal in JAVA und deswegen ist es auch ein JAVA-Tutorial.

    Was die OO-Konstrukts angeht: Du fängst ja auch nicht an, einem Anfänger public, static und class zu erklären, sondern lässt ihn erst einmal ein HelloWorld Programm schreiben und erst dann erklärst du ihm kompliziertere Dinge.
    Ich weiß auch, dass dieses Tutorial nicht 100% nützlich ist, aber wenn ich hier Threads sehe, in denen Leute Probleme mit IFs haben, dann denke ich, ist dieses Tutorial nicht ganz unnütz.
  8. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Um deine Tutorials auszuführen müssen aber nichts desto weniger eine Java-Runtime installiert und eine Entwicklungsumgebung vorhanden sein. (weils einfacher ist und ich keinem Anfänger zutrauen will den Java-Compiler mit Class-Path, Packages, etc. auf Konsole auszuführen).

    Und wenn jemand Probleme mit ifs hat, sind das schon sehr viele Voraussetzungen.

    Wie gesagt... PHP bietet sich da v.a. im Ramen dieses Forums besser an, da ein Editor schon im Web verfügbar ist...
    Sprich: Neue Datei anlegen, testen...

    Wie gesagt, du kannst gerne Tutorials schreiben, aber ich würde mir die Arbeit nicht antun. V.a. nicht für Sachen, die so schnell erklärt sind...

    Beitrag zuletzt geändert: 2.8.2012 15:44:54 von schrotti12
  9. Autor dieses Themas

    k**************s

    Ok, Kritik verstanden xD

    Was hältst du von einem Tutorial zum Screenshot aufnehmen? Mit Mouseposition und Frame Opacity etc?
  10. kingofexceptions schrieb:
    Ok, Kritik verstanden xD

    Was hältst du von einem Tutorial zum Screenshot aufnehmen? Mit Mouseposition und Frame Opacity etc?

    Wenn du umbedingt ein Tutorial machen willst, warum erstellst du das dann nicht einfach auf deiner Webseite? Da hast du doch viel mehr Gestaltungsmöglichkeiten als hier im Forum. Und wenn du das dann bekannter machen willst, kannst du die Tutorials einfach in deiner Signatur verlinken.

    Und ein Screenshot-Tutorial würde mich nicht interessieren. Das kriege ich auch alleine hin :smile:
  11. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    kingofexceptions schrieb:
    Ok, Kritik verstanden xD

    Was hältst du von einem Tutorial zum Screenshot aufnehmen? Mit Mouseposition und Frame Opacity etc?


    schrotti12 schrieb:
    Also ich würde da nicht so viel Zeit in etwas investieren, das im Internet schon x-hundert-tausend-mal erklärt ist [...]


    hmm
  12. Autor dieses Themas

    k**************s

    okok schon verstanden, ich lass mir was besseres einfallen.
  13. Nettes Tutorial. Was vielleicht noch eine gute Idee wäre: Die Erklärung der else-if schreibweise als Code

    if (boolean1)
    	boolean1 = !boolean1;
    			
    else if (boolean2)
    	boolean2 = !boolean2;
    		
    else
    	boolean1 = !boolean2;


    falls jemand eine längere Kette bilden will. Man kann natürlich auch { ... } Blöcke benutzen, alles kein Problem.

    kennst du auch die for Schleife und vorallem: for each Schleife?

  14. Was komplett fehlt sind mehrfach Bedingungen ala:
    if(ball == aufgepumt || ball.neuerBallVerfügbar() == true){
       doSth();
    }else{
       if(newBallPrice <= 5.00){
           buyBall(amount);
           ball.setNeuerBallVerfügbar(true);
       }else{
    System.out.println("Ich kann kein Fußball spielen, verdammter Ball")
      }
    }
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!