"Javakurs Freitagsrunde" - Lösungen

Hallo,

ich wurde, hier im Forum, auf die Javakurs/Übungsaufgaben aufmerksam gemacht um meine Grundkenntnisse zu vertiefen.:)
Hier würde ich gerne meine Lösung(en) posten und erfragen ob es noch einfacher gegangen wäre oder nicht.

Meine Lösungen im Spoiler, damit man nicht gleich die Lösung per Google findet (da ja nicht angemeldete User den Inhalt von Spoilern nicht sehen sollten).;)

Die Aufgabenstellung:
Selber Deklarationen und Definitionen durchführen
Java:
class SelbstDeklarierenUndDefinieren {
    public static void main(String[] args) {
        // deklariere eine Variable "birnen"  vom Typ int
        
        // weise ihr den Wert drei zu

        System.out.println("3 erwartet: " + birnen);
        // addiere fuenf zu dem Wert

        System.out.println("8 erwartet: " + birnen);
        // deklariere eine Variable "aepfel" und weise ihr den Wert fuenf zu

        System.out.println("5 erwartet: " + aepfel);
        // subtrahiere zwei von dem Wert

        System.out.println("3 erwartet: " + aepfel);

        
    }
}
Java:
public class SelbstDeklarierenUndDefinieren {
    public static void main(String[] args) {
        // deklariere eine Variable "birnen"  vom Typ int
        int birnen;
        // weise ihr den Wert drei zu
birnen = 3;
        System.out.println("3 erwartet: " + birnen);
        // addiere fuenf zu dem Wert
birnen = birnen + 5; 
//oder birnen = 3 + 5;
        System.out.println("8 erwartet: " + birnen);
        // deklariere eine Variable "aepfel" und weise ihr den Wert fuenf zu
int aepfel = 5;
        System.out.println("5 erwartet: " + aepfel);
        // subtrahiere zwei von dem Wert
aepfel = aepfel -2; 
// oder aepfel = 5 - 2;
        System.out.println("3 erwartet: " + aepfel);

        
    }
}
 
Aufgabenstellung:
Zuweisung an Variablen

  • Überlege dir, was für eine Ausgabe der folgende Code erzeugen würde.
  • Compiliere den Code, führe ihn aus und vergleiche das Resultat mit deinen Erwartungen.
  • Was sind die Unterschiede?
Java:
class ZuweisungenAnVariablen {
    public static void main(String [] ignored) {
        System.out.println(0);
        int zero = 0;
        System.out.println(zero);
        int one = 1;
        int whatsThis = zero;
        System.out.println(whatsThis);
        whatsThis = one;
        System.out.println(whatsThis);
    }
}
Hier war ich echt überrascht, dass das Wort "ignored" "akzeptiert" wurde.:oops:
Klar war mir, dass das erste " int whatsThis = zero;" einen anderen Wert (zero = 0;) bei dieser Systemausgabe (System.out.println(whatsThis);) hat als das zweite "whatsThis = one;" (System.out.println(whatsThis);).;)

Logisch, dass die Reigenfolge der variablen egal ist und ebenso wann diese abgerufen werden.
Ich hätte es wohl dennoch so geschrieben:
Java:
public class ZuweisungenAnVariablen {
    public static void main(String [] ignored) {
        System.out.println(0);
        int zero = 0;
        System.out.println(zero);
        int whatsThis = zero;
        System.out.println(whatsThis);
int one = 1;
        whatsThis = one;
        System.out.println(whatsThis);
    }
}
 
Ein paar Leerzeilen zwischendurch wären auch nicht verkehrt. Bei den kleinen Progrämmchen ist das ja noch ganz übersichtlich, aber bei längeren Methoden ist eine Leerzeile ab und an ganz angenehm. Längere Texte ohne Absätze kann man zwar auch lesen, aber Absätze unterstützen die Orientierung doch erheblich.
 
Ach so, das war auf die beiden Positionen in Deinem Kommentar bezogen. Ja, damit erhältst Du tatsächlich das gleiche Ergebnis.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben