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: Unterschied zwischen den Versionen

(Kommentare)
(Kommentare)
Zeile 192: Zeile 192:
 
Reiner -->
 
Reiner -->
 
Bisher laeuft alles ganz klasse, weiter so!
 
Bisher laeuft alles ganz klasse, weiter so!
 +
 +
Die erste Aufgabe "SelbstDeklarieren und Definieren" ist etwas unverständlich. Das mit den eingebauten "Testfunktionen" kapiert man als Anfänger nicht unbedingt, also dass man da zum testen die Kommentarzeichen löschen muss.

Version vom 7. April 2008, 10:18 Uhr

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;
		double notAWholeNumber;
		String aString;

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

		int anotherWholeNumber = 0;
		double anotherNotSoWholeNumber = 0;
		String anotherString = "";
		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.
  • 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 ;)

hallo alle freitagsrunde Team,

diese lehrveranstaltung finde ich persönlich super megageil, aber ich wünsche,dass die Musterlösungen von solchen schweren Aufgaben im Netz gestellt werden.

ich wünsche Euch viel Erfolg und weiterso...:-)

Bisher laeuft alles ganz klasse, weiter so!

Die erste Aufgabe "SelbstDeklarieren und Definieren" ist etwas unverständlich. Das mit den eingebauten "Testfunktionen" kapiert man als Anfänger nicht unbedingt, also dass man da zum testen die Kommentarzeichen löschen muss.