UTILITY-KLASSEN I

Werbung
UTILITY-KLASSEN I
WP: OOP MIT JAVA
Koroyin, Ebibo
INHALT
z
Die Klasse RANDOM (java.util)
z
Die Klassen DATE, CALENDAR (java.util)
z
Die Klasse SYSTEM (java.lang)
z
Die Klasse RUNTIME (java.lang)
z
Die Klasse ARRAYS (java.util)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Random (java.util)
z
z
Erlaubt das Instanzieren eines Zufallszahlengenerators mit oder
ohne manuelles Setzen des seed-Wertes
Der Seed-Wert ist eine interne Zufallsvariable
public random()
Instanziieren ohne seed-Wert
(parameterlose Konstruktur)
public random(long seed)
Instanziieren mit seed-Wert
Zufallszahlengenerator initialisiert
internen Zählern auf der Basis
der aktuellen Systemzeit
¾ Folge der Zufallszahlen ist
nicht reproduzierbar
Zufallszahlengenerator initialisiert
seinen internen Zähler mit dem
seed-Wert.
¾ Folge der Zufallszahlen ist
reproduzierbar
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Random (java.util)
z
Die Klasse Random ist im package java.util zu finden
z
Random erzeugt gleichverteilte Zufallszahlen für die numerische
Grundtypen int, long, float oder double.
z
Sie enthält eine Reihe statischer Methoden zur Erzeugung von
gleichverteilten Zufallszahlen.
z
Die Methoden nextInt, nextLong, nextFloat, nextDouble liefern
jeweils Zufallszahlen aus dem gesamten Wertebereich des
entsprechenden Grundtyps, also auch neg. Zahlen.
z
Die Methoden sind in der Java API zu finden
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Random (java.util)
z
Normalverteilte Zufallszahlen
z Methode
z public double nextGaussian()
z
Liefert die Zufallszahlen auf der Basis der
Normalverteilung mit einem Mittelwert von 0.0 und der
Standardabweichung von 1.0
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Date, Calendar…….
z
Ursprünglich zur Darstellung und Manipulation von Datumswerten
z
Seit JDK1.0.2 gibt es die Klasse Calendar zur Verarbeitung von
Datumswerten
z
Calendar stellt eine Kapselung für Date dar
z
Realisierung von einem Datum- /Uhrzeitobjekt
z
Stellt Methoden zur Konstruktion, Veränderung und Auslesen
von Datums-/Uhrzeitbestandteilen und die Zeit- und
Datumsarithmetik
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Date, Calendar…….
z
Calendar
z Basisklasse
z
z
Enthält Methoden für den Zugriff und Manipulation einzelner
Elemente konkreter Kalenderklassen
GregorianCalendar
z Implementiert ein Datum nach gregorianischen Kalendar
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Date, Calendar…….
z
Konstruktoren (aus GregorianCalendar)
z
z
public GregorianCalendar()
public GregorianCalendar(int year, int month, int date)
z
public GregorianCalendar(
z int year, int month, int date, int hour, int minute
)
z
public GregorianCalendar(
z int year, int month, int date, int hour, int minute, int second
)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Date, Calendar…….
z
Abfragen und Setzen von Datumsbestandteilen mit den
Methoden set und get
z
public final int get(int field)
z
public final void set(int field, int value)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Date, Calendar…….
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Date, Calendar…….
z
Vergleiche und Datums-/Zeitarithmetik
z
Methoden
z public boolean equals(object obj)
z
public boolean before(object obj)
z
public boolean after(object obj)
z
Methode add
z public abstract void add(int field, int amount)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Date, Calendar…….
z
Umwandlung zwischen Date und Calendar
z
public final Date getTime()
z
public final void setTime(Date date)
z
public Date(long date) // Konstruktor
z
public long getTime() // Methode
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse System (java.lang)
z
Stellt nützliche Hilfsmittel zur Verfügung
z Klasse System properties
z
Methoden
z In, err and out
z exit
z gc
z currentTimeMillis
z arraycopy
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse System (java.lang)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse System (java.lang)
z
Zugriff
z Für den Zugriff auf diese Eigenschaften steht die Klasse
Properties aus dem Paket java.util zur Verfügung.
z Property-Listen zu erzeugen
z mit Werten zu füllen und
z vorhandene Werte auszulesen.
z
Zugriff auf einzelne Properties
z public static String getProperty(String key)
z public static String getProperty(String key, String default)
z
Die Methode getProperties liefert das komplette PropertiesObjekt mit den System-Properties:
z public static Properties getProperties()
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse System (java.lang)
z
Einige Methoden tabellarisch dargestellt
InputStream
PrintStream
PrintStream
in
out
err
void
void
long
void
String
String
Console
exit
gc
currentTimeMillis
arraycopy
getenv
getProperty
Console
Standard-Eingabe
Standard-Ausgabe
Fehlerausgabe
(int status)
()
()
()
(String name)
(String name)
()
Programmende
Garbage Collector
Aktuelle Zeit
Arrays kopieren
Umgebungsvariablen
„Properties“
„Konsole“ der JVM
Die Klasse System (Auszug)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse System (java.lang)
z
In, err and out
z
Mit Hilfe der Methoden setIn, setOut und setErr ist es sogar
möglich, die Standardein- und -ausgabe aus dem Programm
heraus umzuleiten:
z
public static void setIn(InputStream in)
z
public static void setOut(PrintStream out)
z
public static void setErr(PrintStream err)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse System (java.lang)
z
exit: (System.exit)
z wird das laufende Programm beendet
z public static void exit(int status)
z
gc:
z
z
expliziter Aufruf des Garbage Collectors
z public static void gc()
currentTimeMillis: Liefert die Anzahl Millisekunden, die zum
Zeitpunkt des Aufrufs seit Mitternacht des 1.1.1970 vergangen
sind
z currentTimeMillis (public static long currentTimeMillis() )
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse System (java.lang)
z
arraycopy
z public static native void arraycopy(
Object src, int src_position,
Object dst, int dst_position,
int length
)
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse RunTime (java.lang)
z
Grundlagen
z public static Runtime getRuntime()
z
Um ein externes Programm zu starten, gibt es folgende vier Methoden
mit dem Namen exec:
z Public Process exec(String command)
z Throws IOException
z
Public Process exec(String command, String[] envp)
z Throws IOException
z
Public Process exec(String [] cmdarray)
z Throws IOException
z
Public Process exec(String [] cmdarray, String[] envp)
z Throws IOException
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse RunTime (java.lang)
z
Interaktion mit dem externen Programm
z
public abstract int waitFor() throws InterruptedException
public abstract int exitValue()
public abstract void destroy()
public OutputStream getOutputStream()
public abstract InputStream getInputStream()
public abstract InputStream getErrorStream()
WP: OOP MIT JAVA
Koroyin, Ebibo
Die Klasse Arrays (java.util)
z
Die wichtigsten Methoden sind
z fill
z Public static void fill(int[] a, int val)
z
binarySearch
z Public static in binarySearch(int[] a, int key)
z
sort
z Public static void sort(int[] a)
z
equals
z Public static boolean equals(int[] a, int[] a2)
WP: OOP MIT JAVA
Koroyin, Ebibo
Zusammenfassung
z
Alle vorgestellten Klassen nochmal
z RANDOM
z DATE, CALENDAR
z SYSTEM
z RUNTIME
z ARRAYS
z
aus der Utility-Klassen I sind in den Java-Pakete java.lang und
java.util enthalten
WP: OOP MIT JAVA
Koroyin, Ebibo
Quellen
z Handbuch
z
der Java-Programmierung
Guido Krüger, Thomas Stark
z
5. Auflage 2007
WP: OOP MIT JAVA
Koroyin, Ebibo
Herunterladen