Benutzer-Werkzeuge

Webseiten-Werkzeuge


einstieg:variablen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
einstieg:variablen [2020/06/18 18:36] – [Beispiel 3: Erhöhung des Wertes einer Variablen] Martin Pabsteinstieg:variablen [2022/11/04 19:54] (aktuell) – [Beispiel 3: Erhöhung des Wertes einer Variablen] Martin Pabst
Zeile 10: Zeile 10:
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-**In der Informatik ist eine Variable etwas ganz anderes, viel Einfacheres!**+**Variablen in der Informatik unterscheiden sich deutlich von Variablen in der Mathematik und (da kann ich Dich beruhigen!) sie sind viel einfacher zu verstehen!** 
 </WRAP> </WRAP>
  
 ===== Variablen in der Informatik ===== ===== Variablen in der Informatik =====
 <WRAP center round tip 80%> <WRAP center round tip 80%>
-Eine **Variable** ist ein benannter Speicherplatz. Jede Variable hat einen **Bezeichner** (also einen Namen) und einen **Datentyp**. \\ \\  +Eine **Variable** ist ein benannter Speicherplatz. Jede Variable hat einen **Bezeichner** (also einen Namen) und einen **Datentyp**. Der Datentyp legt fest, welche Werte die Variable speichern kann. \\ \\  
-Vor der ersten Verwendung einer Variable müssen wir sie **deklarieren**, d.h. dem Compiler mitteilen, welchen **Bezeichner** die Variable trägt und welchen **Datentyp** sie hat. Dazu schreiben wir einfach den Datentyp der Variablen und dahinter den Bezeichner. \\ \\ +Vor der ersten Verwendung einer Variable müssen wir sie **deklarieren**. Dazu schreiben wir einfach den Datentyp der Variablen und dahinter den Bezeichner. \\ \\ 
 **Beispiel:** **Beispiel:**
 <code java> <code java>
 int a; int a;
 </code> </code>
-Die hier deklarierte Variable trägt den Bezeichner a und hat den Datentyp **int**. **int** ist eine Kurzform für [[https://dict.leo.org/englisch-deutsch/integer%20number|integer number]], also "ganze Zahl".+Die hier deklarierte Variable trägt den Bezeichner ''a'' und hat den Datentyp **int**. **int** ist eine Kurzform für "integer number", also "ganze Zahl".
 </WRAP> </WRAP>
  
Zeile 60: Zeile 60:
 </code> </code>
 Diese Anweisung hat es in sich: Das Gleichheitszeichen ''='' bewirkt in Java **nicht**, dass die Terme auf der rechten und linken Seite verglichen werden, sondern es ist der **Wertzuweisungsoperator** dieser Programmiersprache. Das bedeutet: Der Computer wertet den Term rechts vom ''='' aus und schreibt den Termwert (in diesem Fall einfach die Zahl 12) in die Variable ''a''. Der vorherige Wert der Variable wird dabei **überschrieben**. Diese Anweisung hat es in sich: Das Gleichheitszeichen ''='' bewirkt in Java **nicht**, dass die Terme auf der rechten und linken Seite verglichen werden, sondern es ist der **Wertzuweisungsoperator** dieser Programmiersprache. Das bedeutet: Der Computer wertet den Term rechts vom ''='' aus und schreibt den Termwert (in diesem Fall einfach die Zahl 12) in die Variable ''a''. Der vorherige Wert der Variable wird dabei **überschrieben**.
-<WRAP center round tip 60%>+<WRAP center round tip 80%>
 Möchte man in Java den Wert zweier Terme **vergleichen**, so muss man dafür den **Vergleichsoperator** ''=='' benutzen, mehr dazu später. Möchte man in Java den Wert zweier Terme **vergleichen**, so muss man dafür den **Vergleichsoperator** ''=='' benutzen, mehr dazu später.
 </WRAP> </WRAP>
Zeile 68: Zeile 68:
 Diese Anweisung schreibt nicht den Buchstaben a in die Ausgabe, sondern den **Wert des Terms** ''a''. Zum Zeitpunkt der Ausführung dieser Anweisung steht in der Variable ''a'' der Wert 12, also wird 12 ausgegeben. \\  Diese Anweisung schreibt nicht den Buchstaben a in die Ausgabe, sondern den **Wert des Terms** ''a''. Zum Zeitpunkt der Ausführung dieser Anweisung steht in der Variable ''a'' der Wert 12, also wird 12 ausgegeben. \\ 
 Will man den Buchstaben a ausgeben, dann verwendet man die Anweisung ''println("a");'' Will man den Buchstaben a ausgeben, dann verwendet man die Anweisung ''println("a");''
-<WRAP center round tip 60%> +<WRAP center round tip 80%> 
-Ist ein Text in Gänsefüßchen (''"'') eingeschlossen, dann stellt er für Java eine **Zeichenkette** dar. ''"a"'' ist so eine Zeichenkette. Zeichenketten werden durch die Anweisung''println'' einfach wörtlich ausgegeben. \\ +Ist ein Text in Gänsefüßchen (''"'') eingeschlossen, dann stellt er für Java eine **Zeichenkette** dar. ''"a"'' ist so eine Zeichenkette. Zeichenketten werden durch die Anweisung ''println'' einfach wörtlich ausgegeben. \\ 
 Schreibt man etwas nicht in Anführungszeichen, so ist es für Java entweder eine Anweisung oder ein Term. Der Computer versucht diesen Text dann auszuwerten und gibt einen Fehler aus, wenn er ihn nicht versteht. Schreibt man etwas nicht in Anführungszeichen, so ist es für Java entweder eine Anweisung oder ein Term. Der Computer versucht diesen Text dann auszuwerten und gibt einen Fehler aus, wenn er ihn nicht versteht.
 </WRAP> </WRAP>
Zeile 95: Zeile 95:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen1'}">+<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen2'}">
  
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
Zeile 131: Zeile 131:
 ===== Wie kann ich mir eine Variable vorstellen? ===== ===== Wie kann ich mir eine Variable vorstellen? =====
 Stell Dir eine Variable am besten als beschriftete Schachtel vor, in der **genau ein** Wert (im Fall einer Variablen vom Typ ''int'' genau eine ganze Zahl) reinpasst: Stell Dir eine Variable am besten als beschriftete Schachtel vor, in der **genau ein** Wert (im Fall einer Variablen vom Typ ''int'' genau eine ganze Zahl) reinpasst:
-{{ :einstieg:pasted:20200618-181452.png }}+{{ :einstieg:pasted:20200618-181452.png?300 }} \\ \\ 
 Eine Wertzuweisung (z.B. '' a = b * 2.5'') bewirkt, dass der alte Wert weggeworfen und der neue reingetan wird. Nach der Wertzuweisung liegt ein **neuer Zustand** vor: Eine Wertzuweisung (z.B. '' a = b * 2.5'') bewirkt, dass der alte Wert weggeworfen und der neue reingetan wird. Nach der Wertzuweisung liegt ein **neuer Zustand** vor:
-{{ :einstieg:pasted:20200618-181816.png }}+{{ :einstieg:pasted:20200618-181816.png?300 }}
 ==== Beispiel 3: Erhöhung des Wertes einer Variablen ==== ==== Beispiel 3: Erhöhung des Wertes einer Variablen ====
  
Zeile 140: Zeile 140:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 350px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen1'}">+<div class="java-online" style="height: 350px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen3'}">
  
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
Zeile 155: Zeile 155:
 </HTML> </HTML>
  
-<WRAP center round info 60%> +<WRAP center round info 80%> 
-Die Anweisung ''a = a + 1;'' wertet zunächst den Wert des Terms ''a + 1'' auf der linken Seite aus. Der Termwert ist $37 + 1 = 38$. Diesen Wert weist die Anweisung dann der Variablen ''a'' zu, so dass nach der Ausführung der Anweisung die Variable ''a'' den Wert ''38'' enthält. \\ \\+Bei der Ausführung der Anweisung ''a = a + 1;'' wird zunächst den Wert des Terms ''a + 1'' auf der rechten Seite ausgewertet. Der Termwert ist $37 + 1 = 38$. Dieser Wert wird dann der Variablen ''a'' zugewiesen, so dass nach der Ausführung der Anweisung die Variable ''a'' den Wert ''38'' enthält. \\ \\
 Die Anweisung '' a = a + 1; '' erhöht den Wert der Variablen ''a'' also um ''1''. \\ \\  Die Anweisung '' a = a + 1; '' erhöht den Wert der Variablen ''a'' also um ''1''. \\ \\ 
 **Wichtig:** \\  **Wichtig:** \\ 
Zeile 166: Zeile 166:
 **Spezialfall:** \\  **Spezialfall:** \\ 
 Soll der Wert einer Variablen um ''1'' erhöht werden, so kann man noch kürzer schreiben: ''a++;''. \\ \\  Soll der Wert einer Variablen um ''1'' erhöht werden, so kann man noch kürzer schreiben: ''a++;''. \\ \\ 
-Das Erniedrigen einer Variable geht übrigens entsprechend. ''b = b - 12;'' erniedrigt den Wert von ''b'' um ''12'', kurz: ''b -= 12;''. Auch das Erniedrigen um ''1'' gibt es als Ultrakurzversion: ''b--;''.+Das Erniedrigen einer Variable geht übrigens entsprechend. ''b = b - 12;'' erniedrigt den Wert von ''b'' um ''12'', kurz: ''b -= 12;''. Auch das Erniedrigen um ''1'' gibt es als Ultrakurzversion:  
 +<code java> 
 +b--; 
 +</code>
 </WRAP> </WRAP>
  
Zeile 172: Zeile 175:
  
 <HTML> <HTML>
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen1'}">+<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen4'}">
  
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
Zeile 204: Zeile 207:
 int k = 14; int k = 14;
 </code> </code>
-<WRAP center round tip 60%>+<WRAP center round info 80%>
 **Form der Bezeichner:** \\ **Form der Bezeichner:** \\
 Die Namen der Variablen (wir Informatiker sagen **Bezeichner** dazu, //englisch: identifier//) sind nicht nur auf einzelne Kleinbuchstaben beschränkt, sondern dürfen Kleinbuchstaben, Großbuchstaben, Ziffern und Unterstriche (''_'') enthalten. Auch Umlaute (ä, ö, ü, ...) sind erlaubt. Ein Variablenbezeichner darf **nicht** mit einer Ziffer beginnen. \\ \\  Die Namen der Variablen (wir Informatiker sagen **Bezeichner** dazu, //englisch: identifier//) sind nicht nur auf einzelne Kleinbuchstaben beschränkt, sondern dürfen Kleinbuchstaben, Großbuchstaben, Ziffern und Unterstriche (''_'') enthalten. Auch Umlaute (ä, ö, ü, ...) sind erlaubt. Ein Variablenbezeichner darf **nicht** mit einer Ziffer beginnen. \\ \\ 
 **Beispiele für gültige Variablenbezeichner:** \\  **Beispiele für gültige Variablenbezeichner:** \\ 
 ''Anzahl'', ''K'', ''a12_x'', ''f1'' usw. ''Anzahl'', ''K'', ''a12_x'', ''f1'' usw.
 +</WRAP>
 +===== Tastatureingabe =====
 +<WRAP center round info 80%>
 +Mit der Anweisungen ''Input.readInt("Gib eine Zahl ein:")'' kann man eine Zahl per Tastatureingabe vom Benutzer entgegennehmen.\\ ;-) Kommt Dir die Punktschreibweise noch bekannt vor?
 </WRAP> </WRAP>
 +
 +<HTML>
 +<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen6'}">
 +
 +<script type="text/plain" title="Main.java">
 +int zahl = Input.readInt("Gib eine Zahl ein:");
 +print("Das Quadrat der Zahl ist ");
 +print(zahl * zahl);
 +print(", ihre Gegenzahl ist ");
 +println(-zahl);
 +</script>
 +</div>
 +
 +</HTML>
 +
  
 ===== Ein letztes Beispiel ===== ===== Ein letztes Beispiel =====
 Zum Schluss nochmal ein Rätsel: Welche Zahl gibt das Programm aus? Zum Schluss nochmal ein Rätsel: Welche Zahl gibt das Programm aus?
 <HTML> <HTML>
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen1'}">+<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Variablen5'}">
  
 <script type="text/plain" title="Main.java"> <script type="text/plain" title="Main.java">
-int a;        // Deklaration der Variable a +int zahl 14
-12+int n 8;
-        +
-a +7;       // Der Wert von a wird um 7 erhöht. +
-println(a);+
  
-a--;          // Der Wert von a wird um 1 erniedrigt. +n = zahl + n;
-println(a);+
  
-a++;          // Der Wert von a wird um 1 erhöht. +zahl += 3
-println(a);+zahl *= 2;
  
-a *3    // Der Wert von a wird verdreifacht. +n +zahl; 
-println(a);+ 
 +println(n);
 </script> </script>
 </div> </div>
einstieg/variablen.1592498207.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki