Pakete verwenden

Datentypen und Exceptions in Java

Jim White

Java Developer

Was sind Java-Pakete?

  • Pakete organisieren Java-Code
    • Ein Paket ist wie ein Ordner oder Verzeichnis
    • Fasst zusammengehörigen Java-Code (Klassen, Interfaces, Enums usw.)
  • Wie Ordner
    • Jedes Paket hat einen Namen

Java-Pakete sind wie Ordner und ein Aktenschrank zur Code-Organisation

1 Image from https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Datentypen und Exceptions in Java

Arten von Paketen

  • Eingebaute Pakete
    • Teil von Java
    • Name beginnt mit „java" oder „javax"
  • Benutzerdefinierte Pakete
    • Pakete, die wir definieren
    • Pakete von Drittanbietern
Datentypen und Exceptions in Java

Paketnamen

  • Paketnamen folgen einer Konvention
    • Komplett kleingeschrieben
    • Punkte (.) trennen Namensbestandteile
  • Eingebaute Pakete
    • Beginnen mit java oder javax
    • Der Rest des Namens deutet den Zweck an
  • Benutzerdefinierte Paketnamen
    • Beginnen mit der umgekehrten Domain der Organisation
    • Der Rest des Namens beschreibt die Funktionalität
  • Beispiel: eingebaute Pakete

    java.security
    java.time
    
  • Beispiel: benutzerdefinierte Paketnamen

    com.mycompany.myproject
    com.mycompany.myproject.account
    com.mycompany.myproject.controller
    com.mycompany.myproject.ui
    
Datentypen und Exceptions in Java

Eingebaute Pakete

Einige häufig genutzte eingebaute Pakete

Package Enthält/Bietet
java.lang Basisklassen für die Sprache
java.io Ein-/Ausgabeoperationen
java.util.logging Logging-Framework
java.math Ganzzahl- und Dezimalarithmetik mit hoher Präzision
java.net Netzwerkoperationen
java.util Datum/Zeit und Datenstrukturen wie Linked List, Dictionary und Support
java.security Sicherheits-Framework
Datentypen und Exceptions in Java

java.math

  • java.math stellt Klassen für Arithmetik bereit
    • Verwendet in kryptografischen, wissenschaftlichen und Währungs-/Geldanwendungen
  • BigInteger zum Darstellen großer Ganzzahlen
    • Größer als int oder long verarbeiten können
    • Für Ganzzahlen mit nahezu beliebig vielen Ziffern.
  • BigDecimal zum Darstellen sehr großer oder kleiner Gleitkommazahlen
    • Vermeidet Rundungsfehler, die bei float oder double auftreten können
Datentypen und Exceptions in Java

Pakete verwenden

  • Oben import + Paketname verwenden
import java.math.BigInteger;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
}
  • Pakete können viele Typen enthalten.
    • Mit * alle Typen im Paket importieren
import java.math.*;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
  BigDecimal pi = new BigDecimal("3.14");
}
Datentypen und Exceptions in Java

BigInteger & BigDecimal aus java.math

  • BigInteger und BigDecimal sind Hüllen für große Zahlen
  • Erzeuge sie aus einem String oder numerisch
  • Enthalten Methoden wie add, subtract, multiply und divide
  • Weitere Methoden wie pow für Potenzen
// Imports stehen oben in der Klasse
import java.math.BigInteger;
import java.math.BigDecimal;

// BigInteger oder BigDecimal mit String erstellen
BigInteger big = new BigInteger("1000");
BigInteger ten = new BigInteger("10");
BigDecimal pi = new BigDecimal("3.14");
// Ein Primitive zum Erstellen von BigDecimal verwenden
BigDecimal one = new BigDecimal(1.0);
BigInteger x = big.add(ten); // = 1010
BigDecimal y = pi.add(one); // = 4.14
BigInteger bigSqr = big.pow(2); // = 1000000
BigDecimal piCubed = pi.pow(3); // = 30.959144
Datentypen und Exceptions in Java

Methoden von BigInteger und BigDecimal

Methode Beschreibung
abs() Absolutwert der Ganzzahl
add(x) x zur Ganzzahl oder Dezimalzahl addieren
divide(x) Ganzzahl oder Dezimalzahl durch x teilen
multiply(x) Ganzzahl oder Dezimalzahl mit x multiplizieren
negate() Ganzzahl oder Dezimalzahl negieren
pow(int x) Ganzzahl oder Dezimalzahl hoch x
subtract(x) x von der Ganzzahl oder Dezimalzahl subtrahieren
1 See https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html and https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html
Datentypen und Exceptions in Java

Import nicht erforderlich

  • Wichtig: Das Paket java.lang wird automatisch importiert.
    • Für alles aus java.lang ist kein Import nötig
  • java.lang enthält System, String, die Wrapper-Klassen und Exception.
    • Darum können wir die Basiselemente der Sprache nutzen, ohne einen Import zu sehen.
Datentypen und Exceptions in Java

Lass uns üben!

Datentypen und Exceptions in Java

Preparing Video For Download...