Gymnasium Uebung1 2010
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
= Einführung =
Wir werden uns in diesem Kurs mit der Sprache Java beschäftigen. Java ist eine leistungsfähige und moderne Programmiersprache, welche außerdem z.Zt. am häufigsten auf dieser Welt programmiert wird. Da Java eine sehr schwere Sprache ist (weil man muss eigtl. zu Beginn schon alles wissen, um loslegen zu können) benutzen wir dieses Wiki, da dieses vor allem Einsteigern den Zugang zu Java erleichtert (hier muss man eben nicht schon alles wissen, um loslegen zu können).
= Zahlen, Ausdrücke, Einfache Programme =
== Zahlen ==
Wir beginnen ganz einfach und "reden" mit unserem Computer.
Da Computer grundsätzlich "dumm" sind geben Sie einfach das zurück was wir ihm sagen.
Probiere auch mal "Hallo!" aus (mit Anführungszeichen).
<eval id="4aa27774ce666">5</eval>
== Mathematische Operationen ==
Wir erweitern das "Frage-Antwort" spiel um eine einfache Operation:
<eval id="4aa27774cee2e">5+5</eval>
'''Übung'''
Probiere in dem Feld auch einige komplexe Operationen aus.
Neben den arithmetischen Operationen aus der Grundschule gibt es auch einige komplexere Operationen:
wie z.B. die Berechnung des Quadrats zu einer Zahl.
<eval id="4aa27774cf5fc">Math.pow(5,2)</eval>
Schaue hier [http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html Bibliothek] nach, was die Bibliothek "Math" noch zubieten hat und probiere es aus.
Das gleiche kannst du auch in einer anderen Programmiersprache ausprobieren: [Gymnasium_Uebung1_Scheme]
'''Übung'''
Quadriere die Zahl 4 mit Hilfe von Math
<eval id="4aa27774d01b7" rows=2/>
'''Übung'''
Berechne den Sinus von 60 Grad
<eval id="4aa27774d0dd9"/>
'''Übung'''
Berechne das Maximum von 30 und 100
<eval id="4aa27774d19af"/>
== Variablen ==
== Die Zuweisung ==
Auf Dauer wird das natürlich langweilig. Als nächster Schritt kommt das Speichern von Werten. Kein Programm funktioniert ohne.
Wir weißen einer Variable '''x''' nun den Wert 5 zu.
Beachte, dass wir nun mehrere Zeilen verwenden und jede Zeile mit einem Semikolon (''';''') abgeschlossen werden muss.
<eval id="4aa27774d24ed">int x = 5;
x;
</eval>
'''Übung'''
Weise der Variable einen anderen Wert zu
'''Übung'''
Lasse mal zum Spass das erste Semikolon weg. Was passiert?
'''Übung'''
Gib der Variable einen anderen Namen
'''Übung'''
Weise der Variable einen komplexen mathematischen Ausdruck zu. (z.B. mit Hilfe von Math oder Klammern)
'''Übung'''
Was bedeutet das '''int''' vor dem VariablenNamen
=== Die Benutzung ===
Jetzt wollen wir mit dieser neuen Variable arbeiten, indem wir sie z.B. in eine komplexe Aufgabe einbauen.
<eval id="4aa27774d2cc7">5+x</eval>
'''Übung'''
Baue mit '''x''' einen komplexen Ausdruck
== Ausgabe ==
Um eine coolere Bildschirmausgabe zu realisieren steht uns in der Sprache Java das Element '''System.out.print''' zur Verfügung.
Du musst nicht verstehen warum, das so heisst, sondern nur, dass man nette Sprachausgaben damit gestalten kann.
<eval id="4aa27774d38fa">System.out.println("Hallo Welt!")</eval>
wir können nun auch unsere Variable mit einbauen
<eval id="4aa27774d44bc">System.out.println("Der Werte meines x="+x);</eval>
'''Übung'''
Was macht das plus? Was bedeuten die Anführungszeichen?
== Einfach Programme ==
Wie haben jetzt schon eine Menge gelernt. Abschließend wollen wir das gelernte benutzen, um ein erstes richtiges programm zu schreiben.
Unser erstes richtiges Programm macht nix weiter als die Zahl die wir ihm geben wieder auszuspucken.
<code id="4aa27774cbf5c">
int ersteFunktion(int x) {
return x;
}
</code>
<eval id="4aa27774d507c">ersteFunktion(100);</eval>
'''Übung'''
Schreibe mit dem Wissen aus der Vorlesung und dem Musterbeispiel eine Funktion die die Summe zweier Zahlen berechnet.
<code id="4aa27774ccaf6">
int berechneSumme(int x, int y) {
//füge hier deinen code ein
}
</code>
<eval id="4aa27774d5c29">
//rufe berechneSumme hier auf
</eval>
<check>return (berechneSumme(10,15)==25);</check>
'''Übung'''
Schreibe eine Funktion die eine Temperatur von Grad Celcius nach Fahrenheit umrechnet.
Die Formel lautet:
<math>
Fahrenheit = Celcius * 9 / 5 + 32
</math>
Nenne die Funktion '''toFahrenheit'''
<code id="4aa27774cd2ca">
//implementiere hier toFahrenheit
</code>
<eval id="4aa27774d67e7">
//teste hier toFahrenheit
</eval>
<check> return ((int)toFahrenheit(30))==86;</check>
'''Übung'''
Entwickle selbst eine Funktion zur Berechnung des Volumeninhalts eines Quaders.
Achte bitte darauf Kommazahlen zu verwenden. Wähle also einen richtigen Typ.
Nenne die Funktion '''Quadervolumen'''
<code id="4aa27774cda9d">
//implementiere hier Quadervolumen
</code>
<eval id="4aa27774d7338">
//teste hier Quadervolumen
</eval>
<check>
return ((int)Quadervolumen(3,4,4) == 48 && (int)Quadervolumen(2.0,7.5,3.0) == 45);
</check>
== Zusammenfassung ==
=== Variablentypen ===
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#FFE466;"
! Typ !! Byte !! Wertebereich !! Standardwert
|- style="background:#FFE466;"
| ganze Zahlen || || ||
|-
| <span style="color:red">byte</span> || 1 || -128 bis 127 || 0
|-
| <span style="color:red">short</span> || 2 || - 32768 bis 32767 || 0
|-
| <span style="color:red">int</span> || 4 || - 2<sup>31</sup> bis 2<sup>31</sup>-1 || 0
|-
| <span style="color:red">long</span> || 8 || - 2<sup>63</sup> bis 2<sup>63</sup>-1 || 0
|- style="background:#FFE466;"
| Fließkommazahlen || || ||
|-
| <span style="color:red">float</span> || 4 || - 3.40282347 *10<sup>38</sup> bis 3.40282347 *10<sup>38</sup> || 0.0
|-
| <span style="color:red">double</span> || 8 || - 1.79769313486231570 *10<sup>308</sup> bis 1.79769313486231570 *10<sup>308</sup> || 0.0
|- style="background:#FFE466;"
| Wahrheitswert || || ||
|-
| <span style="color:red">boolean</span> || 1 || true,false || false
|- style="background:#FFE466;"
| Zeichen || || ||
|-
| <span style="color:red">char</span> || 2 || alle Unicode - Zeichen || \n0000
|}
</center>
=== Arithmetische Operatoren ===
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#FFE466;"
! Operator !! Bezecihnung !! Bedeutung
|-
| <span style="color:red">+</span> || Positives Vorzeichen || +n ist gleichbeduetend mit n
|-
| <span style="color:red">-</span> || Negatives Vorzeichen || -n kehrt das Vorzeichen von n um
|-
| <span style="color:red">+</span> || Summe || a+b ergibt die Summe von a und b
|-
| <span style="color:red">-</span> || Differenz || a - b ergbit die Differenz von a und b
|-
| <span style="color:red">*</span> || Produkt || a * b ergibt das Produkt aus a und b
|-
| <span style="color:red">/</span> || Quotient || a / b ergibt den Quotient aus a und b
|-
| <span style="color:red">%</span> || Restwert || a%b ergibt den Rest der ganzzahligen Division von a durch b
|-
| <span style="color:red">++</span> || Präinkrement || ++a ergibt a+1 und speichert das gleich in a
|-
| <span style="color:red">++</span> || Postinkrement || a++ ergibt a+1 und speichert das gleich in a
|-
| <span style="color:red">--</span> || Prädekrement || --a ergibt a-1 und speichert das gleich in a
|-
| <span style="color:red">--</span> || Postinkrement || --a ergibt a-1 und speichert das gleich in a
|}
</center>
=== Zuweisungsoperatoren ===
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#FFE466;"
! Operator !! Bezecihnung !! Bedeutung
|-
| <span style="color:red">=</span> || Einfache Zuweisung || a=b, weist a den wert von b zu
|-
| <span style="color:red">+=</span> || Additionszuweisung || a+=b weist a den Wert von a + b zu.
|-
| <span style="color:red">-=</span> || Differenzuweisung || a-=b weist a den Wert von a - b zu.
|-
| <span style="color:red">*=</span> || Multiplikationszuweisung || a*=b weist a den Wert von a * b zu.
|-
| <span style="color:red">/=</span> || Divisionszuweisung || a /= b weist a den Wert von a / b zu.
|-
| <span style="color:red">%=</span> || Modulozuweisung || a %= b weist a den Wert von a % b zu.
|-
| <span style="color:red">&=</span> || UND-Zuweisung || a &= b weist a den Wert von a & b zu.
|-
| <span style="color:red">|=</span> || ODER Zuweisung || a |= b weist a den Wert von a | b zu.
|-
| <span style="color:red">^=</span> || Exklusiv-ODER-Zuweisung || a^=b weist a den Wert von a ^ b zu.
|-
| <span style="color:red"><<=</span> || Linksschiebezuweisung || a<<=b weist a den Wert von a << b zu.
|-
| <span style="color:red">>>=</span> || Rechtsschiebezuweisung || a>>=b wreist a den Wert von a >> b zu.
|}
</center>