summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/html/k100041.html
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/html/k100041.html
downloadStudium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz
Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100041.html')
-rw-r--r--Master/Reference Architectures and Patterns/hjp5/html/k100041.html325
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">&nbsp;Titel&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100040.html">&nbsp;&lt;&lt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100040.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100042.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100046.html">&nbsp;&gt;&gt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</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&uuml;hrt werden. Alle im Block zusammengefassten Anweisungen
+gelten in ihrer Gesamtheit als <i>eine einzelne</i> Anweisung und
+d&uuml;rfen &uuml;berall da verwendet werden, wo syntaktisch eine
+einzelne elementare Anweisung erlaubt w&auml;re. Ein Block darf auch
+Anweisungen zur Deklaration von lokalen Variablen haben. Diese sind
+dann nur innerhalb des Blocks g&uuml;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&uuml;hrbare Anweisung. Sie darf daher &uuml;berall
+dort erfolgen, wo eine Anweisung verwendet werden darf. Die Sichtbarkeit
+einer lokalen Variable erstreckt sich von der Deklaration bis zum
+Ende des umschlie&szlig;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&uuml;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&auml;ssig und wird
+besonders h&auml;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">&nbsp;Hinweis&nbsp;</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&auml;lt. Der Konstruktor
+initialisiert die Instanzvariablen mit den gleichnamigen Parametern.
+Um nun nicht f&uuml;r die formalen Parameter neue Namen erfinden zu
+m&uuml;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&auml;ndlich, denn bisher wurden weder Klassen noch Methoden
+noch Konstruktoren eingef&uuml;hrt. Nach Lekt&uuml;re von <a href="k100046.html#kapiteloop1">Kapitel 7</a>,
+das sich mit den objektorientierten Eigenschaften von Java besch&auml;ftigt,
+wird es verst&auml;ndlicher sein. Einpr&auml;gen sollte man sich diesen
+Stil aber jetzt schon, denn er wird in Java h&auml;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&uuml;cke in einem Anweisungskontext
+auszuf&uuml;hren. Sie werden erzeugt, indem an den Ausdruck ein Semikolon
+angeh&auml;ngt wird. Da der R&uuml;ckgabewert des Ausdrucks dabei
+ignoriert wird, macht eine Ausdrucksanweisung nur dann Sinn, wenn
+der Ausdruck <a name="ixa100388">Nebeneffekte</a> hat. Tats&auml;chlich
+ist es in Java so, dass innerhalb einer Ausdrucksanweisung nur ganz
+bestimmte Ausdr&uuml;cke auftauchen d&uuml;rfen:
+<ul>
+<li>Zuweisung
+<li>Inkrement und Dekrement
+<li>Methodenaufruf
+<li>Instanzerzeugung
+</ul>
+
+<p>
+W&auml;hrend es in C beispielsweise m&ouml;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&uuml;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">&nbsp;Titel&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html">&nbsp;Inhalt&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html">&nbsp;Suchen&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html">&nbsp;Index&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()">&nbsp;DOC&nbsp;</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">&nbsp;&lt;&lt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100040.html">&nbsp;&nbsp;&lt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100042.html">&nbsp;&nbsp;&gt;&nbsp;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100046.html">&nbsp;&gt;&gt;&nbsp;</a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()">&nbsp;API&nbsp;</a>
+<td align="right">&copy; 1998, 2007 Guido Kr&uuml;ger &amp; Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>