Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads 11 GUI-Programmierung mit SWING Prof. Dr. Björn Dreher Liste Programmieren - Java 218 Liste Programmieren Java Überblick: 7. Funktionsbibliothek Prof. Dr. Björn Dreher Liste Programmieren - Java 219
Java's Anspruch Plattformunabhängige Programmiersprache Dazu gehört auch die Laufzeitumgebung Bei Java eine umfangreiche Klassenbibliothek Aufgeteilt in Pakete (packages) 2700 Klassen und Schnittstellen Erzeugung der Objekte mit 3500 Methoden Die wichtigsten Pakete behandeln u.a.... Datenstrukturen Ein- und Ausgabe Graphikprogrammierung Netzwerkprogrammierung Resultat Die gleiche Java-Anwendung läuft z.b. auf Intel- und Mac- Rechnern Prof. Dr. Björn Dreher Liste Programmieren - Java 220 Einige Pakete java.applet Java Applets java.awt.* Graphik-Paket: Abstract Windowing Toolkit java.io Ein- und Ausgabe java.lang Basisklassen, wie String, Thread, Wrapper java.net Netzwerkprogrammierung java.security.* Sicherheit java.sql Datenbankzugriff über SQL java.text Formatierung von Datum und Zahlen java.util Datenstrukturen, Zeit, Zufallszahlen, Internationalis. javax.imageio.* Bilddateien verschiedener Formate javax.naming Namensdienste javax.sound.* Soundformate javax.swing.* Swing-Klassen für GUIs javax.xml XML-Dokumente Prof. Dr. Björn Dreher Liste Programmieren - Java 221
Liste Programmieren Java Überblick: 7. Funktionsbibliothek Prof. Dr. Björn Dreher Liste Programmieren - Java 222 Für jeden primitiven Datentyp (int, double,...) gibt es eine zugehörige Wrapper-Klasse Viele Java-Datenstrukturen können nur Objekte aufnehmen, keine Variablen primitiver Datentypen Kapselt einen primitiven Datenwert Wrapper-Klassen bieten zusätzlich eine Reihe nützlicher Methoden Zugriff auf Wert Umwandlung Name der Wrapper-Klasse gleich Name des primitiven Datentyps, aber 1. Buchstabe groß, z.b. double - Double Ausnahmen int Integer char- Character Prof. Dr. Björn Dreher Liste Programmieren - Java 223
Erzeugen von Wrapper-Objekten Konstruktor mit entsprechendem primitiven Datentyp als Parameter Meist ist auch String als Parameter möglich Statische Methode valueof(string s) liefert Instanz der Wrapper-Klasse als Ergebnis Beispiele: int i = 99; String s ="12.56"; Integer iwrap1 = new Integer(i); Integer iwrap2 = new Integer("25"); Double dwrap = Double.valueOf(s); int i1 = iwrap1.intvalue(); int i2 = Integer.parseInt("3AF3", 16); Prof. Dr. Björn Dreher Liste Programmieren - Java 224 Character Methoden zur Überprüfung von Zeichenart isdigit() isletter() islowercase() Statische Methoden char touppercase(char) char tolowercase(char) String Methode touppercase() liefert für String-Inhalt "ß" als Ergebnis "SS", also einen längeren String Prof. Dr. Björn Dreher Liste Programmieren - Java 225
Number Abstrakte Superklasse von Byte, Short, Integer, Long, Float und Double Deklariert die abstrakten Methoden intvalue() longvalue() floatvalue() doublevalue() Folglich haben alle Nachfahren entsprechende Umwandlungsmethoden in primitive Datentypen Nachfahrenklassen definieren Klassenkonstanten als Wertebereichgrenzen der Typen MAX_VALUE MIN_VALUE Prof. Dr. Björn Dreher Liste Programmieren - Java 226 Inhalte von Wrapper-Objekten sind nicht mehr veränderbar Sog. Wertobjekte Änderung nur durch Erzeugung eines neuen Objektes möglich: int i = 12; Integer io = new Integer(i); io = new Integer(io.intValue() + 1); int Zahl in String konvertieren int number = 12345; String s = Integer.toString(number); String in int konvertieren String s = "12345"; int n = Integer.parseInt(s); Prof. Dr. Björn Dreher Liste Programmieren - Java 227
Autoboxing und unboxing Neu in Java 5 Wrapper-Klassen werden automatisch eingesetzt Bisher: public void manualconversion() { int a = 12; Integer b = Integer.valueOf(a); int c = b.intvalue(); } Mit autoboxing und unboxing: public void autoboxing() { int a = 12; Integer b = a; int c = b; } Prof. Dr. Björn Dreher Liste Programmieren - Java 228