Javakurs2006/Uebungsaufgaben: Unterschied zwischen den Versionen
(variablen verlinkt) |
|||
Zeile 1: | Zeile 1: | ||
+ | = Variablen = | ||
+ | == Variablendeklaration und Initialisierung == | ||
+ | <nowiki> | ||
+ | class Beispiel { | ||
+ | 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); | ||
+ | } | ||
+ | } | ||
+ | </nowiki> | ||
+ | * An welcher Stelle im Programm wird die Variable ''aWholeNumber'' definiert? | ||
+ | * An welcher Stelle im 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. | ||
+ | |||
+ | == Selber Deklarationen und Definitionen durchführen == | ||
+ | <nowiki> | ||
+ | class Beispiel { | ||
+ | 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 fünf zu dem Wert | ||
+ | |||
+ | // System.out.println("7 erwartet: " + birnen); | ||
+ | // deklariere eine Variable "aepfel" und weise ihr den Wert fünf zu | ||
+ | |||
+ | // System.out.println("5 erwartet: " + aepfel); | ||
+ | // subtrahiere zwei von dem Wert | ||
+ | |||
+ | // System.out.println("3 erwartet: " + aepfel); | ||
+ | |||
+ | |||
+ | } | ||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | |||
+ | == Zuweisung an Variablen == | ||
+ | <nowiki> | ||
+ | class Beispiel { | ||
+ | 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); | ||
+ | } | ||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | Überlege dir was dieses Code-Fragment ausgeben würde. | ||
+ | Führe es aus und vergleiche die Resultate. (Kopiere | ||
+ | * Was sind die Unterschiede? | ||
+ | * Warum? | ||
+ | Erkläre einem Tutor zu welchem Schluss du gekommen bist und frage ihn ob du Recht hast. | ||
+ | |||
+ | == Variablen ändern ihre Werte == | ||
+ | <nowiki> | ||
+ | class Test { | ||
+ | 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); | ||
+ | } | ||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | Überlege dir was dieser Code ausgeben würde. | ||
+ | Schreibe ihn in eine Datei, kompiliere ihn und führe ihn aus. | ||
+ | * Was gibt er tatsächlich aus? | ||
+ | * Gibt es unterschiede? | ||
+ | |||
+ | == Formatierung == | ||
+ | Wieso haben wir das Beispiel nach den geschweiften Klammern eingerückt und die Variablen so gestellt wie wir es gestellt haben und nicht so: | ||
+ | <nowiki> | ||
+ | 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 | ||
+ | </nowiki> | ||
+ | Nenne mindestens einen Grund und erkläre ihn deinem Tutor. | ||
+ | |||
+ | Etwas weniger Extrem, wieso haben wir unser zweites Beispiel nicht so gestellt? | ||
+ | <nowiki> | ||
+ | class Beispiel {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) | ||
+ | ;}} | ||
+ | </nowiki> | ||
+ | Nenne mindestens einen Grund und erkläre ihn deinem Tutor. | ||
+ | |||
+ | Wieso haben wir unser zweites Beispiel nicht so gestellt? | ||
+ | <nowiki> | ||
+ | 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); | ||
+ | } | ||
+ | } | ||
+ | </nowiki> | ||
+ | Nenne mindestens einen Grund und erkläre ihn deinem Tutor. | ||
+ | |||
+ | == Variablen mit verschiedenen Typen zuweisen == | ||
+ | <nowiki> | ||
+ | class Test { | ||
+ | public static void main(String [] ignored) { | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </nowiki> | ||
+ | |||
== If == | == If == | ||
Version vom 4. April 2006, 18:21 Uhr
Inhaltsverzeichnis
Variablen
Variablendeklaration und Initialisierung
class Beispiel { 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); } }
- An welcher Stelle im Programm wird die Variable aWholeNumber definiert?
- An welcher Stelle im 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.
Selber Deklarationen und Definitionen durchführen
class Beispiel { 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 fünf zu dem Wert // System.out.println("7 erwartet: " + birnen); // deklariere eine Variable "aepfel" und weise ihr den Wert fünf zu // System.out.println("5 erwartet: " + aepfel); // subtrahiere zwei von dem Wert // System.out.println("3 erwartet: " + aepfel); } }
Zuweisung an Variablen
class Beispiel { 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); } }
Überlege dir was dieses Code-Fragment ausgeben würde. Führe es aus und vergleiche die Resultate. (Kopiere
- Was sind die Unterschiede?
- Warum?
Erkläre einem Tutor zu welchem Schluss du gekommen bist und frage ihn ob du Recht hast.
Variablen ändern ihre Werte
class Test { 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); } }
Überlege dir was dieser Code ausgeben würde. Schreibe ihn in eine Datei, kompiliere ihn und führe ihn aus.
- Was gibt er tatsächlich aus?
- Gibt es unterschiede?
Formatierung
Wieso haben wir das Beispiel nach den geschweiften Klammern eingerückt und die Variablen so gestellt wie wir es gestellt haben 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
Nenne mindestens einen Grund und erkläre ihn deinem Tutor.
Etwas weniger Extrem, wieso haben wir unser zweites Beispiel nicht so gestellt?
class Beispiel {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) ;}}
Nenne mindestens einen Grund und erkläre ihn deinem Tutor.
Wieso haben wir unser zweites Beispiel nicht so gestellt?
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); } }
Nenne mindestens einen Grund und erkläre ihn deinem Tutor.
Variablen mit verschiedenen Typen zuweisen
class Test { public static void main(String [] ignored) { } }
If
1.
public class If_Uebung1 { /* Eure Aufgabe: * Versucht nachzuvollziehen, was dieses Programm macht * und schaut Euch den Code an. */ public static void main(String[] args) { /* * wir erzeugen uns hier eine Zufallszahl im * Bereich 1-6. Warum funktioniert das so? * Math.random ist eine statische Funktion im * Math-Paket, dass und eine double-Zahl, die kleiner * als 1.0 aber groesser oder gleich 0 ist. * Mit 6 multipliziert und um eins erhöht erhalten wir * Zahlen von 1.0 bis 6.99999... * Durch das Umwandeln in int werden die Nachkommastellen abgeschnitten * und wir erhalten ein int von 1 bis 6. */ int wuerfelzahl = (int) (1 + (6 * Math.random())); /* * Zur Kontrolle geben wir das Ergebnis aus */ System.out.println("Der Würfel hat " + wuerfelzahl + " ergeben."); /* * Ist das Ergebnis groesser als 3 ? */ if (wuerfelzahl > 3) { // Wenn ja gib diesen Text aus: System.out.println("mehr als 3!"); } } }
2.
public class If_Uebung2 { /* * Eure Aufgabe: * Schaut Euch das Programm an und überlegt, was fuer verschiedene * Werte passiert. * Welche If-Abfragen sind unnötig, weil man die Ausgaben in else-Zweige von * bereits vorhandenen schreiben könnte? */ public static void main(String[] args) { int wert; wert = 5; if (wert<5){ System.out.println("Der Wert ist echt kleiner 5."); } if (wert>5){ System.out.println("Der Wert ist echt groesser 5."); } if (wert==5){ System.out.println("Der Wert ist gleich 5"); } if (wert>=5){ System.out.println("Der Wert ist groesser oder gleich 5"); } if (wert<=5){ System.out.println("Der Wert ist kleiner oder gleich 5"); } } }
For
1.
public class For_Uebung1 { /* * Eure Aufgabe: * Schaut Euch dieses Programm an und überlegt, welche Zahlen * es ausgeben wird. * Anschliessend kompiliert das Programm, führt es aus und überprüft * Eure Vermutungen. * */ public static void main(String[] args) { System.out.println("erste for Schleife:"); for (int i = 1; i <= 10; i = i + 1) { System.out.print(" " + i); } System.out.println(); // Zeilenumbruch System.out.println("zweite for Schleife:"); for (int i = 1; i <= 10; i = i + 2) { System.out.print(" " + i); } System.out.println(); // Zeilenumbruch System.out.println("dritte for Schleife:"); for (int i = 1; i <= 10; i = i * 2) { System.out.print(" " + i); } System.out.println(); // Zeilenumbruch } }
2.
public class ForIf_Uebung { // Welche Zahlen gibt dieses Programm aus ? public static void main(String[] args) { for (int i=1;i<10;i++){ if ((i % 2)==0){ // % ist der Modulo-Operator System.out.println("Die Zahl "+i+" ist gerade."); } } } }