Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Variablen und Zuweisungen

< Javakurs‎ | Übungsaufgaben
Version vom 22. März 2010, 11:10 Uhr von 130.149.17.55 (Diskussion) (Deklaration und Initialisierung)

Hinweis: Alle in diese Übung verwendeten Klassen findest du auch als Vorgabedateien unter http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/VariablenUndZuweisungen.tar

(Die Datei wird mit dem Kommando tar -xf entpackt)


Deklaration und Initialisierung

  • An welcher Stelle im folgenden Programm wird die Variable aWholeNumber deklariert?
  • An welcher Stelle im folgenden Programm wird die Variable aWholeNumber initialisiert?
  • Beantworte diese Fragen auch für die Variablen: notAWholeNumber, aString, anotherWholeNumber, anotherNotSoWholeNumber, anotherString
  • Erkläre deine Meinung einem Tutor oder diskutiere sie mit der Person am Rechner nebenan.


class DeklarationUndInitialisierung {
	public static void main(String [] ignored) {
		int aWholeNumber; //Deklaration
		double notAWholeNumber; //Deklaration
		String aString;//Deklaration

		aWholeNumber = 0; //Initialisierung
		notAWholeNumber = 0.0; //Initialisierung
		aString = ""; //Initialisierung
		System.out.println(aWholeNumber);
		System.out.println(notAWholeNumber);
		System.out.println(aString);

		int anotherWholeNumber = 0; //Daklaration und Initialisierung
		double anotherNotSoWholeNumber = 0; //Deklatation und Initialisierung
		String anotherString = ""; //Deklaration und Initialisierrung
		System.out.println(anotherWholeNumber);
		System.out.println(anotherNotSoWholeNumber);
		System.out.println(anotherString);
	}
}

Selber Deklarationen und Definitionen durchführen

  • Realisiere die Kommentare im folgenden Codestück.
  • Denke daran die Kommentarzeichen "//" vor der zugehörigen Ausgabeanweisung vor dem Kompilieren und Ausführen zu entfernen
  • Teste deinen Code.
class SelbstDeklarierenUndDefinieren {
	public static void main(String [] ignored) {
		// 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);

		
	}
}

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?
  • Diskutiere die Unterschiede mit der Person am Rechner nebenan, oder einem Tutor.


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);
	}
}


Variablen ändern ihre Werte

  • Ü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?
  • Diskutiere die Unterschiede mit der Person am Rechner nebenan, oder einem Tutor.


class VariablenAendernIhreWerte {
	public static void main(String [] ignored) {
		int number = 1;
		System.out.println(number);
		number = 1;
		System.out.println(number);
		number = 2;
		System.out.println(number);
		number = 3;
		System.out.println(number);
		number = 1;
		System.out.println(number);
		number = 17;
		System.out.println(number);
	}
}


Formatierung und Namen

  • Wieso haben wir die Code-Beispiele nach den geschweiften Klammern eingerückt und die Variablen so benannt, wie wir es taten und nicht so:
class _{static long _
(long __,long  ___) {
return __==0 ?___+ 1:
___==0?_(__-1,1):_(__
-1,_(__, ___-1)) ;  }
static  {int _=2 ,___
= 2;System.out.print(
"a("+_+’,’+___+ ")="+
_ (_,  ___) ) ;System
.exit(1);}}//(C) Ulli


  • Etwas weniger Extrem: Was ist im folgenden Beispiel bei der Formatierung schief gelaufen?
class Formatierung1 {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)
;}}


  • Warum ist der folgende Code so schlecht lesbar?
  • Woran erinnert er dich?
class b {
	public static void main(String [] i) {
		System.out.println(0);
		int a = 0;
		System.out.println(a);
		int b = 1;
		int c = a;
		System.out.println(c);
		c = b;
		System.out.println(c);
	}
}


Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)