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