Använda paket

Datatyper och undantag i Java

Jim White

Java Developer

Vad är Java-paket?

  • Paket organiserar Java-kod
    • Ett paket fungerar som en mapp eller katalog
    • Samlar relaterad Java-kod (klasser, gränssnitt, enums, m.m.)
  • Som filmappar
    • Varje paket har ett namn

Java-paket liknar filmappar och arkivskåp för att organisera kod

1 Image from https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Datatyper och undantag i Java

Typer av paket

  • Inbyggda paket
    • Ingår i Java
    • Namnet börjar med "java" eller "javax"
  • Användardefinierade paket
    • Paket vi definierar själva
    • Paket vi hämtar från tredje part
Datatyper och undantag i Java

Paketnamn

  • Paketnamn följer en konvention
    • Skrivs med enbart gemener
    • Punkter (.) används som avdelare
  • Inbyggda paket
    • Börjar med java eller javax
    • Resten av namnet antyder syftet
  • Användardefinierade paketnamn
    • Börjar med organisationens domän i omvänd ordning
    • Resten av namnet antyder funktionaliteten
  • Exempel på inbyggda paket

    java.security
    java.time
    
  • Exempel på användardefinierade paketnamn

    com.mycompany.myproject
    com.mycompany.myproject.account
    com.mycompany.myproject.controller
    com.mycompany.myproject.ui
    
Datatyper och undantag i Java

Inbyggda paket

Vanliga inbyggda paket

Paket Innehåll/Funktion
java.lang Grundläggande klasser för språkstöd
java.io In- och utdataoperationer
java.util.logging Loggningsramverk
java.math Exakt heltals- och decimalräkning
java.net Nätverksoperationer
java.util Datum/tid och datastrukturer som länkad lista, lexikon m.m.
java.security Säkerhetsramverk
Datatyper och undantag i Java

java.math

  • java.math tillhandahåller klasser för aritmetik
    • Används inom kryptografi, vetenskap och valuta/ekonomi
  • BigInteger för stora heltal
    • Heltal som är större än vad int eller long kan hantera
    • Klarar heltal med nästan obegränsat antal siffror
  • BigDecimal för mycket stora eller små flyttal
    • Hanterar avrundningsfel som kan uppstå med float eller double
Datatyper och undantag i Java

Använda paket

  • Använd import + paketnamn längst upp
import java.math.BigInteger;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
}
  • Paket kan innehålla många typer.
    • Använd * för att importera alla typer i paketet
import java.math.*;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
  BigDecimal pi = new BigDecimal("3.14");
}
Datatyper och undantag i Java

BigInteger & BigDecimal från java.math

  • BigInteger och BigDecimal fungerar som omslutare för stora tal
  • Skapas med en String eller ett numeriskt värde
  • Har metoderna add, subtract, multiply och divide
  • Har även ytterligare metoder som pow för upphöjning
// Imports go at the top of the class
import java.math.BigInteger;
import java.math.BigDecimal;

// Create BigInteger or BigDecimal with String
BigInteger big = new BigInteger("1000");
BigInteger ten = new BigInteger("10");
BigDecimal pi = new BigDecimal("3.14");
// Using a primitive to create BigDecimal
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
Datatyper och undantag i Java

Metoder för BigInteger och BigDecimal

Metod Beskrivning
abs() Absolutvärdet av heltalet
add(x) Addera x till heltalet eller decimalen
divide(x) Dividera heltalet eller decimalen med x
multiply(x) Multiplicera heltalet eller decimalen med x
negate() Negera heltalet eller decimalen
pow(int x) Heltalet eller decimalen upphöjt till x
subtract(x) Subtrahera x från heltalet eller decimalen
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
Datatyper och undantag i Java

Import krävs inte

  • Viktigt – paketet java.lang importeras automatiskt.
    • Det behöver inte importeras explicit
  • java.lang innehåller System, String, omslutarklasserna och Exception.
    • Det förklarar varför vi kan använda grundläggande språkelement utan att se någon import.
Datatyper och undantag i Java

Nu kör vi en övning!

Datatyper och undantag i Java

Preparing Video For Download...