Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Sprachbeschreibung
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Mathematisches
6 Eigene Klassen schreiben
7 Angewandte Objektorientierung
8 Exceptions
9 Generics, innere Klassen
10 Die Klassenbibliothek
11 Threads und nebenläufige Programmierung
12 Datenstrukturen und Algorithmen
13 Raum und Zeit
14 Dateien und Datenströme
15 Die eXtensible Markup Language (XML)
16 Grafische Oberflächen mit Swing
17 Grafikprogrammierung
18 Netzwerkprogrammierung
19 Verteilte Programmierung mit RMI und Web–Services
20 JavaServer Pages und Servlets
21 Applets
22 Midlets und die Java ME
23 Datenbankmanagement mit JDBC
24 Reflection und Annotationen
25 Logging und Monitoring
26 Sicherheitskonzepte
27 Java Native Interface (JNI)
28 Dienstprogramme für die Java-Umgebung
Stichwort

Download:
- ZIP, ca. 14,1 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java ist auch eine Insel (8. Auflage) von Christian Ullenboom
Programmieren mit der Java Standard Edition Version 6
Buch: Java ist auch eine Insel (8. Auflage)

Java ist auch eine Insel (8. Aufl.)
8., aktual. Auflage, geb., mit DVD
1.475 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1371-4
Pfeil 2 Sprachbeschreibung
Pfeil 2.1 Elemente der Programmiersprache Java
Pfeil 2.1.1 Token
Pfeil 2.1.2 Textkodierung durch Unicode-Zeichen
Pfeil 2.1.3 Literale
Pfeil 2.1.4 Bezeichner
Pfeil 2.1.5 Reservierte Schlüsselwörter
Pfeil 2.1.6 Kommentare
Pfeil 2.1.7 Die API-Dokumentation
Pfeil 2.2 Anweisungen formen Programme
Pfeil 2.2.1 Anweisungen
Pfeil 2.2.2 Eine Klasse bildet den Rahmen
Pfeil 2.2.3 Die Reise beginnt am main()
Pfeil 2.2.4 Funktionsaufrufe als Anweisungen
Pfeil 2.2.5 print(), println() und printf() für Bildschirmausgaben
Pfeil 2.2.6 Ausdrucksanweisung
Pfeil 2.2.7 Erste Idee der Objektorientierung
Pfeil 2.2.8 Modifizierer
Pfeil 2.2.9 Anweisungen und Blöcke
Pfeil 2.3 Datentypen, Typisierung, Variablen und Zuweisungen
Pfeil 2.3.1 Primitive Datentypen im Überblick
Pfeil 2.3.2 Variablendeklarationen
Pfeil 2.3.3 Zuweisungsoperator
Pfeil 2.3.4 Variablendeklaration mit Wertinitialisierung
Pfeil 2.3.5 Wahrheitswerte
Pfeil 2.3.6 Ganzzahlige Datentypen
Pfeil 2.3.7 Die Fließkommazahlen float und double
Pfeil 2.3.8 Alphanumerische Zeichen
Pfeil 2.3.9 Gute Namen, schlechte Namen
Pfeil 2.4 Blöcke, Initialisierung und Sichtbarkeit
Pfeil 2.4.1 Blöcke und Anweisungen
Pfeil 2.4.2 Initialisierung von lokalen Variablen
Pfeil 2.4.3 Sichtbarkeit und Gültigkeitsbereich
Pfeil 2.5 Ausdrücke, Operanden und Operatoren
Pfeil 2.5.1 Arithmetische Operatoren
Pfeil 2.5.2 Unäres Minus und Plus
Pfeil 2.5.3 Zuweisung mit Operation
Pfeil 2.5.4 Präfix- oder Postfix-Inkrement und -Dekrement
Pfeil 2.5.5 Die relationalen Operatoren und die Gleichheitsoperatoren
Pfeil 2.5.6 Logische Operatoren Und, Oder, Xor, Nicht
Pfeil 2.5.7 Rang der Operatoren in der Auswertungsreihenfolge
Pfeil 2.5.8 Die Typanpassung (das Casting)
Pfeil 2.5.9 Überladenes Plus für Strings
Pfeil 2.6 Bedingte Anweisungen oder Fallunterscheidungen
Pfeil 2.6.1 Die if-Anweisung
Pfeil 2.6.2 Die Alternative mit einer if/else-Anweisung wählen
Pfeil 2.6.3 Die switch-Anweisung bietet die Alternative
Pfeil 2.7 Schleifen
Pfeil 2.7.1 Die while-Schleife
Pfeil 2.7.2 Die do-while-Schleife
Pfeil 2.7.3 Die for-Schleife
Pfeil 2.7.4 Schleifenbedingungen und Vergleiche mit ==
Pfeil 2.7.5 Ausbruch planen mit break und Wiedereinstieg mit continue
Pfeil 2.7.6 break und continue mit Sprungmarken
Pfeil 2.8 Methoden einer Klasse
Pfeil 2.8.1 Bestandteil einer Funktion
Pfeil 2.8.2 Signatur-Beschreibung in der Java-API
Pfeil 2.8.3 Aufruf einer Methode
Pfeil 2.8.4 Methoden ohne Parameter deklarieren
Pfeil 2.8.5 Statische Methoden (Klassenmethoden)
Pfeil 2.8.6 Parameter, Argument und Wertübergabe
Pfeil 2.8.7 Methoden vorzeitig mit return beenden
Pfeil 2.8.8 Nicht erreichbarer Quellcode bei Funktionen
Pfeil 2.8.9 Rückgabewerte
Pfeil 2.8.10 Methoden überladen
Pfeil 2.8.11 Vorgegebener Wert für nicht aufgeführte Argumente
Pfeil 2.8.12 Finale lokale Variablen
Pfeil 2.8.13 Rekursive Methoden
Pfeil 2.9 Weitere Operatoren
Pfeil 2.9.1 Bits und Bytes
Pfeil 2.9.2 Operationen auf Bit-Ebene
Pfeil 2.9.3 Die Verschiebeoperatoren
Pfeil 2.9.4 Ein Bit setzen, löschen, umdrehen und testen
Pfeil 2.9.5 Bit-Funktionen der Integer- und Long-Klasse
Pfeil 2.9.6 Der Bedingungsoperator
Pfeil 2.9.7 Operator vermisst
Pfeil 2.10 Einfache Benutzereingaben
Pfeil 2.11 Zum Weiterlesen


Galileo Computing - Zum Seitenanfang

2.4 Blöcke, Initialisierung und Sichtbarkeit Zur nächsten ÜberschriftZur vorigen Überschrift


Galileo Computing - Zum Seitenanfang

2.4.1 Blöcke und Anweisungen Zur nächsten ÜberschriftZur vorigen Überschrift

Ein Block fasst eine Gruppe von Anweisungen zusammen, die hintereinander ausgeführt werden. Anders gesagt: Ein Block ist eine Anweisung, die in den geschweiften Klammern { } eine Folge von Anweisungen zu einer neuen Anweisung zusammenfasst.

{ 
  Anweisung1; 
  Anweisung2; 
  ... 
}

Ein Block kann überall dort verwendet werden, wo auch eine einzelne Anweisung stehen kann. Der neue Block hat jedoch eine Besonderheit für Variablen, da er einen lokalen Bereich für die darin befindlichen Anweisungen inklusive der Variablen bildet.

Leerer Block und geschachtelte Blöcke

Ein Block ohne Anweisung nennt sich leerer Block. Er verhält sich wie eine leere Anweisung, also wie ein Semikolon. Da Blöcke auch geschachtelt werden können, ist Folgendes in der Funktion main() in Ordnung:

public static void main( String[] args ) 
{ 
  { System.out.println( "Hallo Computer" ); {{}}{{}{}}} 
}

Galileo Computing - Zum Seitenanfang

2.4.2 Initialisierung von lokalen Variablen Zur nächsten ÜberschriftZur vorigen Überschrift

Die Laufzeitumgebung – beziehungsweise der Compiler – initialisiert lokale Variablen nicht automatisch mit einem Nullwert. Vor dem Lesen müssen lokale Variablen von Hand initialisiert werden. [Anders ist das bei Objektvariablen (und statischen Variablen sowie Feldern). Sie sind standardmäßig mit null (Referenzen), 0 (bei Zahlen) oder false belegt.]

int age; boolean adult; 
System.out.println( age );  // Local variable age may not have been initialized. 
age = 18; 
if ( age >= 18 ) 
  adult = true; 
System.out.println( adult ); // Local variable adult may not have been initialized.

Die beiden lokalen Variablen age und adult werden nicht automatisch initialisiert, und so kommt es bei der versuchten Ausgabe von age zu einem Compilerfehler, da ein Lesezugriff nötig ist, aber vorher noch kein Schreibzugriff stattfand. Erst die nächste Zeile mit age = 18 ist in Ordnung.

Weil Zuweisungen in bedingten Anweisungen vielleicht nicht ausgeführt werden, meldet der Compiler auch einen Fehler, wenn er sich vorstellen kann, dass es einen Programmfluss ohne die Zuweisung gibt. Da adult nur nach der if-Abfrage auf den Wert true gesetzt wird, wäre nur unter der Bedingung age größer gleich 18 ein Schreibzugriff auf adult erfolgt und ein folgender Lesezugriff möglich. Doch da der Compiler annimmt, dass es andere Fälle geben kann, wäre ein Zugriff auf eine nicht initialisierte Variable ein Fehler.

Eclipse-Icon Eclipse gibt einen Hinweis und Verbesserungsvorschlag, wenn eine lokale Variable nicht initialisiert ist.


Galileo Computing - Zum Seitenanfang

2.4.3 Sichtbarkeit und Gültigkeitsbereich topZur vorigen Überschrift

In jedem Block und auch in jeder Klasse [Die so genannten Objektvariablen oder Klassenvariablen, doch dazu später mehr.] können Variablen deklariert werden. Jede Variable hat einen Geltungsbereich (engl. scope), auch Gültigkeitsbereich beziehungsweise Lebensdauer genannt. Sie ist nur in dem Block »lebendig«, in dem sie deklariert wurde. In dem Block ist die Variable lokal. Dazu ein Beispiel mit zwei Funktionen:

public static void main( String[] args ) 
{ 
  int foo; 
  { 
    int bar;              // bar gilt nur in dem Block 
  } 
  bar = 2;                // Fehler: bar cannot be resolved 
} 
static void qux() 
{ 
  int foo, baz;           // foo hat nichts mit foo aus main() zu tun 
  { 
    int baz;              // Fehler: Duplicate local variable baz! 
  } 
}

Zu jeder Zeit können Blöcke aufgebaut werden. Außerhalb des Blocks sind deklarierte Variablen nicht sichtbar. Nach Abschluss des inneren Blocks, der bar deklariert, ist ein Zugriff auf bar nicht mehr möglich; auf foo ist der Zugriff innerhalb der Funktion main() weiterhin erlaubt. Dieses foo ist aber ein anders foo als in der Funktion qux().

Innerhalb eines Blocks können Variablennamen nicht genauso gewählt werden wie Namen lokaler Variablen eines äußeren Blocks oder wie die Namen für die Parameter einer Funktion. Das zeigt die zweite Funktion am Beispiel der Deklaration baz. Obwohl andere Programmiersprachen diese Möglichkeit erlauben – und auch eine Syntax anbieten, um auf eine überschriebene lokale Variable eines höheren Blocks zuzugreifen –, haben sich die Java-Sprachentwickler dagegen entschieden. Das ist auch gut so, denn dies minimiert Fehlerquellen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Java ist auch eine Insel





Java ist auch eine Insel
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Tipp
Zum Katalog: Coding for Fun





 Coding for Fun


 Buchempfehlungen
Zum Katalog: Objektorientierte Programmierung





 Objektorientierte
 Programmierung


Zum Katalog: Einstieg in Eclipse 3.4






 Einstieg in
 Eclipse 3.4


Zum Katalog: Java 6 lernen mit Eclipse






 Java 6 lernen
 mit Eclipse


Zum Katalog: NetBeans Platform 6






 NetBeans
 Platform 6


Zum Katalog: Java und XML






 Java und XML


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: C++ von A bis Z






 C++ von A bis Z


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de