diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/html/k100041.html | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100041.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100041.html | 325 |
1 files changed, 325 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100041.html b/Master/Reference Architectures and Patterns/hjp5/html/k100041.html new file mode 100644 index 0000000..c0d8c87 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100041.html @@ -0,0 +1,325 @@ +<html>
+<head>
+<title>
+Handbuch der Java-Programmierung, 5. Auflage
+</title>
+</head>
+<body>
+<a name="startofbody"></a>
+<script language="JavaScript" src="hjp4lib.js">
+</script>
+<script language="JavaScript">
+installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100040.html;106,k100040.html;107,k100042.html;108,k100046.html");
+</script>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100040.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100040.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100042.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100046.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">Kapitel 6 - Anweisungen
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel2id006001"></a>
+<h2>6.1 Elementare Anweisungen </h2>
+<hr>
+<ul>
+<li><a href="k100041.html#sectlevel2id006001">6.1 Elementare Anweisungen</a>
+<ul>
+<li><a href="k100041.html#sectlevel3id006001001">6.1.1 Die leere Anweisung</a>
+<ul>
+<li><a href="k100041.html#sectlevel4id006001001001">Syntax</a>
+<li><a href="k100041.html#sectlevel4id006001001002">Bedeutung</a>
+</ul>
+<li><a href="k100041.html#sectlevel3id006001002">6.1.2 Der Block</a>
+<ul>
+<li><a href="k100041.html#sectlevel4id006001002001">Syntax</a>
+<li><a href="k100041.html#sectlevel4id006001002002">Bedeutung</a>
+</ul>
+<li><a href="k100041.html#sectlevel3id006001003">6.1.3 Variablendeklarationen </a>
+<ul>
+<li><a href="k100041.html#sectlevel4id006001003001">Syntax</a>
+<li><a href="k100041.html#sectlevel4id006001003002">Bedeutung</a>
+</ul>
+<li><a href="k100041.html#sectlevel3id006001004">6.1.4 Ausdrucksanweisungen</a>
+<ul>
+<li><a href="k100041.html#sectlevel4id006001004001">Syntax</a>
+<li><a href="k100041.html#sectlevel4id006001004002">Bedeutung</a>
+</ul>
+</ul>
+</ul>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel3id006001001"></a>
+<h3>6.1.1 Die <a name="ixa100382">leere Anweisung</a> </h3>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001001001"></a>
+<h4>Syntax </h4>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+;
+</pre>
+</font>
+</td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001001002"></a>
+<h4>Bedeutung </h4>
+
+<p>
+Die einfachste Anweisung in Java ist die leere Anweisung. Sie besteht
+nur aus dem Semikolon und hat keinerlei Effekt auf das laufende Programm.
+Eine leere Anweisung kann da verwendet werden, wo syntaktisch eine
+Anweisung erforderlich ist, aber von der Programmlogik her <i>nichts</i>
+zu tun ist.
+
+<!-- Section -->
+
+<a name="sectlevel3id006001002"></a>
+<h3>6.1.2 Der <a name="ixa100383">Block</a> </h3>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001002001"></a>
+<h4>Syntax </h4>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+{
+ Anweisung1;
+ Anweisung2;
+ ...
+}
+</pre>
+</font>
+</td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001002002"></a>
+<h4>Bedeutung </h4>
+
+<p>
+Ein Block ist eine Zusammenfassung von Anweisungen, die nacheinander
+ausgeführt werden. Alle im Block zusammengefassten Anweisungen
+gelten in ihrer Gesamtheit als <i>eine einzelne</i> Anweisung und
+dürfen überall da verwendet werden, wo syntaktisch eine
+einzelne elementare Anweisung erlaubt wäre. Ein Block darf auch
+Anweisungen zur Deklaration von lokalen Variablen haben. Diese sind
+dann nur innerhalb des Blocks gültig und sichtbar.
+
+<!-- Section -->
+
+<a name="sectlevel3id006001003"></a>
+<h3>6.1.3 Variablendeklarationen<a name="ixa100384"></a> <a name="ixa100385"></a>
+</h3>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001003001"></a>
+<h4>Syntax </h4>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+Typname VariablenName;
+</pre>
+</font>
+</td>
+</tr>
+</table>
+
+<p>
+oder
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+Typname VariablenName = InitialerWert;
+</pre>
+</font>
+</td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001003002"></a>
+<h4>Bedeutung </h4>
+
+<p>
+Die Deklaration einer <a name="ixa100386">lokalen Variable</a> gilt
+in Java als ausführbare Anweisung. Sie darf daher überall
+dort erfolgen, wo eine Anweisung verwendet werden darf. Die Sichtbarkeit
+einer lokalen Variable erstreckt sich von der Deklaration bis zum
+Ende des umschließenden Blocks.
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Lokale Variablen dürfen sich nicht gegenseitig verdecken. Es
+ist also nicht erlaubt, eine bereits deklarierte Variable <font color="#000077"><tt>x</tt></font>
+in einem tiefer geschachtelten Block erneut zu deklarieren. Das Verdecken
+von Klassen- oder Instanzvariablen dagegen ist zulässig und wird
+besonders häufig in Konstruktoren bei der Initialisierung von
+Instanzvariablen verwendet:</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
+<tr>
+<td><font color="#FFFFFF"> Hinweis </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+<a name="listingid006001"></a>
+
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#DDDDDD">
+<tr>
+<td valign=top>
+<font color="#000055">
+<pre>
+<font color="#555555">001 </font><font color="#0000AA">class</font> Punkt
+<font color="#555555">002 </font>{
+<font color="#555555">003 </font> <font color="#006699">int</font> x;
+<font color="#555555">004 </font> <font color="#006699">int</font> y;
+<font color="#555555">005 </font>
+<font color="#555555">006 </font> Punkt(<font color="#006699">int</font> x, <font color="#006699">int</font> y)
+<font color="#555555">007 </font> {
+<font color="#555555">008 </font> <font color="#006699">this</font>.x = x;
+<font color="#555555">009 </font> <font color="#006699">this</font>.y = y;
+<font color="#555555">010 </font> }
+<font color="#555555">011 </font>}</pre>
+</font>
+</td>
+</tr>
+</table>
+<i>
+Listing 6.1: Verdecken von Klassen- oder Instanzvariablen</i></p>
+
+<p>
+Hier wird eine Klasse <font color="#000077"><tt>Punkt</tt></font>
+definiert, die zwei Instanzvariablen <font color="#000077"><tt>x</tt></font>
+und <font color="#000077"><tt>y</tt></font> enthält. Der Konstruktor
+initialisiert die Instanzvariablen mit den gleichnamigen Parametern.
+Um nun nicht für die formalen Parameter neue Namen erfinden zu
+müssen, lassen sich durch lokale Variablen verdeckte Instanzvariablen
+dadurch wieder aufdecken, dass sie mit dem <a href="index_t.html#ixb100273"><font color=#000080><tt>this</tt></font></a>-Pointer
+qualifiziert werden.
+
+<p>
+Das vorliegende Beispiel erscheint zum jetzigen Zeitpunkt sicherlich
+schwer verständlich, denn bisher wurden weder Klassen noch Methoden
+noch Konstruktoren eingeführt. Nach Lektüre von <a href="k100046.html#kapiteloop1">Kapitel 7</a>,
+das sich mit den objektorientierten Eigenschaften von Java beschäftigt,
+wird es verständlicher sein. Einprägen sollte man sich diesen
+Stil aber jetzt schon, denn er wird in Java häufig verwendet.
+
+
+<!-- Section -->
+<a name="sectlevel3id006001004"></a>
+<h3>6.1.4 <a name="ixa100387">Ausdrucksanweisungen</a> </h3>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001004001"></a>
+<h4>Syntax </h4>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#EEFFCC">
+<tr>
+<td valign=top width=100%>
+<font color="#660066">
+<pre>
+Ausdruck;
+</pre>
+</font>
+</td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel4id006001004002"></a>
+<h4>Bedeutung </h4>
+
+<p>
+Ausdrucksanweisungen dienen dazu, Ausdrücke in einem Anweisungskontext
+auszuführen. Sie werden erzeugt, indem an den Ausdruck ein Semikolon
+angehängt wird. Da der Rückgabewert des Ausdrucks dabei
+ignoriert wird, macht eine Ausdrucksanweisung nur dann Sinn, wenn
+der Ausdruck <a name="ixa100388">Nebeneffekte</a> hat. Tatsächlich
+ist es in Java so, dass innerhalb einer Ausdrucksanweisung nur ganz
+bestimmte Ausdrücke auftauchen dürfen:
+<ul>
+<li>Zuweisung
+<li>Inkrement und Dekrement
+<li>Methodenaufruf
+<li>Instanzerzeugung
+</ul>
+
+<p>
+Während es in C beispielsweise möglich ist, den Ausdruck
+<font color="#000077"><tt>2+4</tt></font> in eine Ausdrucksanweisung
+<font color="#000077"><tt>2+4;</tt></font> zu verpacken, ist dies
+in Java nicht erlaubt. Eine solche Anweisung ist aber auch wenig sinnvoll,
+und es war daher nur vernünftig, dies in Java nicht zuzulassen.
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
+Wesley, Version 5.0.1
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100040.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100040.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100042.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100046.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">© 1998, 2007 Guido Krüger & Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>
|
