Java Kompakt Mindmaps

download Java Kompakt Mindmaps

of 15

Transcript of Java Kompakt Mindmaps

  • 8/19/2019 Java Kompakt Mindmaps

    1/47

    Kapitel 01 Java

    - 1 -

  • 8/19/2019 Java Kompakt Mindmaps

    2/47

    F  unk  t i   on sw ei   s e

    v on J  av a

    A nw en d  er 

    P r  o gr  ammi   er  e

    P r  o gr  ammi   er  e

     p

     a ck  a g e k  a pi  t  el  0 1  ;

     p

     u b l i  c  cl  a s s T  e s t  { 

     

     p u b l i  c  s t  a t i  c v oi  d  m ai n (  S  t ri n g [  ]   ar g s )   { 

     

     S  y s t  em . o u t  . pri n t l n ( " H  al l  o"  )  ;

     } 

     } 

     S  c h r  ei   b  t   Q u el  l   c  o d  e

     J  av  a- C  om pi  l   er 

     J  av  aV i  r  t   u al  M a c h i  n e

     (   J V M )  

     S  p ei   c h  er  t   un t   er 

     S  t   ar  t   e t  

    H al 

    l  o

     S  t   ar  t   e t  

    E r z  e u g t  . c l   a s  s D a

     t   ei  

    E r z  e u g t   d i   eA  u s  g

     a b  e

    W         i        r      d        

     k       o      m         p      

    i        l        i        e      r      t         v      

    o      n      

    W         i        r      d        

     a      u      s        g      

    e      f         ü        h       r      t         v      

    o      

    n      

    T e s t

     . cl  a s s

    T e s t

     .  j  a v a

  • 8/19/2019 Java Kompakt Mindmaps

    3/47

    Compiler

    - 3 -

    Java Compiler

    Test.class

    Test.java

    Fehlermeldung mitnützlicher Information

    T est . j av a i st  sy nt ak t i sc h k o 

    r r ek t 

    T e s t . j a v a  is t  s  y n ta k t is c h  f a l s c h 

  • 8/19/2019 Java Kompakt Mindmaps

    4/47

      J V M

    T e s t . cl  a s s

    K                  e            i                 n              L                a             u             f                  z             e            i                 t                f                  e            

    h                l                 e            r             

     L  a u f    z e i     t    f    e h  l     e r 

     J  av  aV i  r  t   u al  M a c h i  n e

     (   J V M )  

    D a s P r  o gr  am

    mwi  r  d 

    n or m al   b  e en d  e t  

    F  ü h r  t   d  a s 

    P r  o gr  amm a u s 

    L  ö  s  t   ei  n

     e

    A  u s n ah m e

     a u s 

  • 8/19/2019 Java Kompakt Mindmaps

    5/47

    Mi  n d m a

     p

    K a pi   t   el  1 

     J  av  aw ur  d  e1  9  9  5 v  on S  unMi   c r  o s  y  s  t   em s  en t  wi   c k  el   t  

     J  av  ai   s  t   ei  n e o b  j   ek  t   or i   en t  i   er  t   eP r  o gr  ammi   er  s  pr  a c h 

     e

    M eh r  er  eV  ar i   an t   en

    F  unk  t  i   on s w ei   s  ev  on J 

     av  a

     S  t  r  uk  t   ur  ei  n er K l   a s  s  e

     J  av  a S  t   an d  ar  d E  d i   t  i   on

     S E 

     J  av  aE n t   er  pr i   s  eE  d i   t  i   o

    nE E 

     J  av  aMi   c r  oE  d i   t  i   onME 

    D e s k  t   o p-A nw e

    n d  un g en

    W e b  anw en d  u

    n g en

    A nw en d  un g enf   ü r 

    M o b i  l   t   el   ef   on e

     un d k l   ei  n e G er  ä  t   e

    V i  r  t   u el  l   eM a s  c h 

    i  n e

    f   ü r  J  av  a (   J V M )  

     J  av  a C  om pi  l   er 

    P r  ü f   t   s  y n t   ak  t  i   s  c h  eK 

     or r  ek  t  h  ei   t  

     S  t   el  l   t  L  a uf  z  ei   t  f   e

    h l   er f   e s  t  

    E r z  e u g t  B  y  t   e c  o d  e-D a t   ei  

    K l   a s  s  enn am e

    I  n s  t   anz v  ar i   a b l   enz  u

    m S  p ei   c h  er nv  onD a t   en

    K  on s  t  r  uk  t   or  enz  um

    E r z  e u g env  on O b  j   ek  t   en

    M e t  h  o d  enz  umM an

    i   p ul  i   er  en d  er D a t   en

    F  ü h r  t  B  y  t   e c  o d  e

    -D a t   ei   en a u s 

  • 8/19/2019 Java Kompakt Mindmaps

    6/47

    Kapitel 02 Ein Schnelleinstieg in Java

    - 6 -

  • 8/19/2019 Java Kompakt Mindmaps

    7/47

    Mindmap

    - 7 -

    Kapitel 2

    Erstes Java Programm verstehen

    Typische Fehler

    Objekt

    Variable

    Liste (ArrayList)

    Eigene Klassen definieren

    Konstruktor

    Bedingungen und Schleifen

    Daten von derKonsole einlesen

    Vererbung

    main-Methode undSystem.out.println 

    Fehlender Strichpunkt

    Umlaute und Sonderzeichen im Quelltext

    Öffnende Klammern nicht geschlossen

    Code außerhalb der Klasse

    Kapselt Daten und Methoden, die darauf operieren

    Wird als Instanz einer Klasse bezeichnet

    Platzhalter: Speichert Daten eines bestimmten Typs

    Speichert eine Folge von Objektendes gleichen Typs

    public class MeineKlasse{…}

    Zum Erzeugen von Objekten

    Ändern den Kontrollfluss

    des Programms

    if-then-else Anweisung

    Scanner s = new Scanner(System.in);

    String name = s.nextLine();

    double preis = s.nextDouble();

    Klasse A erbtvon Klasse B

    A verfügt über alle Variablenund Methoden von B

    Methode Mechanismus zum Verarbeiten der Daten

    for-, while-Schleifen

    Fehlendes Anführungszeichen

  • 8/19/2019 Java Kompakt Mindmaps

    8/47

    Kapitel 03 Klassen und Objekten

    - 8 -

  • 8/19/2019 Java Kompakt Mindmaps

    9/47

    Syntax von Methoden

    - 9 -

    Syntax

    einer

    Methoden-

    deklaration

    Modifikatoren(optional)

    Rückgabetyp(obligatorisch)

    Methodenname

    (obligatorisch)

    Parameterliste(obligatorisch)

    Methodenrumpf

    Zugriffsrechte/Sichtbarkeit

    Statische Methoden

    void

    Primitiver Typ oder Klassentyp

    Aussagekräftiger Name

    Kann leer sein

    KannmehrereParameterenthalten

    {

      Anweisung 1;  ...

      Anweisung n ;}

    Unveränderbare Methoden

    static

    final

    In runde Klammern eingeschlossen

    Folge von Anweisungen

    In geschweifte Klammern eingeschlossen

    Oft Verb (+ Substantiv)

    Runde Klammerndürfen nicht fehlen

    Durch Kommas getrennt

    ()

    (Param 1,..., Param n )

    Obligatorisch für konkrete Methoden,optional für abstrakte Methoden

    Abstrakte Methoden abstract

  • 8/19/2019 Java Kompakt Mindmaps

    10/47

    R  ü  c k  g a b  ew er  t v onM e t h  o d  en

    1 0 

    M e t  h  o d  e

    L i   ef   er  t  ni   c h  t   s z  ur  ü  c k 

    L i   ef   er  t   ei  n enW er  t  

    v  omT  y  pX z  ur  ü  c k 

    R ü  c k  g a b  e t   y  p

    i   s  t   v oi 

     d 

    R ü  c k  g a b  e t   y  p

    i   s  t  X 

     S  e t   t   er -M e t  h  o d  e

    M e t  h  o d  e , d i   e d  en

     O b  j   ek  t  z  u s  t   an d  a u s  d r  u

     c k  t  

    M e t  h  o d  e , d i   e d  en

     O b  j   ek  t  z  u s  t   an d  ä n d  er  t  

     G e t   t   er -M e t  h  o d  e

    V  al  i   d i   er  un g s -M e t  h  o d  e

    M e t  h  o d  e , d i   e ei  n en

    W er  t   b  er  e c h n e t  

     J  Uni   t  T  e s  t   (  v  gl  .1 1 .1  0  )  

  • 8/19/2019 Java Kompakt Mindmaps

    11/47

    E i   g en s c h  af   t  env on O b  j   ek  t  en

    1 1 

     J  e d  e s O b  j   ek  t  h  a t  

    I   d  en t  i   t   ä  t  

    Z  u s  t   an d 

    V  er h  al   t   en

    E i  n d  e u t  i   g e S  p ei   c h  e

    r  a d r  e s  s  e

    A k  t   u el  l   eW er  t   e s  ei  n

     er I  n s  t   anz v  ar i   a b l   en

    M e t  h  o d  en d  e s  O b 

     j   ek  t   s 

  • 8/19/2019 Java Kompakt Mindmaps

    12/47

    Konstruktor

    - 12 -

    1 public class Student {

    2 private String name;

    3 private String matrikelnummer;

    4 private int semester;5

    6 // Konstruktor I

    7 public Student(String name, String matrikelnummer, int semester) {

    8 this.name = name;

    9 this.matrikelnummer = matrikelnummer;

    10 this.semester = semester;

    11 }

    12

    13 // Konstruktor II

    14 public Student(String name, String matrikelnummer) {

    15 this(name, matrikelnummer, 1); 

    16 }

    17

    18 // Konstruktor III

    17 public Student(String name) {

    18 this(name, null, 0); 

    19 }

    2021 // Methode zum Drucken eines Studenten

    22 public void printStudent(){

    23 System.out.println(“Student”);

    26 }

    27

    28 public static void main(String[] args) {

    29 Student obj1 = new Student("Sepp”);

    30 Student obj2 = new Student("Anne", "67342");

    31 Student obj3 = new Student("Sara", "76345",5);

    32 Student obj4 = new Student("Alex", "12345",1);

    33

    34 obj1.printStudent();

    35 obj2.printStudent();

    36 obj3.printStudent();

    37 obj4.printStudent();

    38 }39 }

    obj1: Student

    this.name = “Seep”this.matrikelnummer = null;

    this.semester = 0

    Konstruktor III

    obj2: Student

    this.name = “Anne”

    this.matrikelnummer = “67342”

    this.semester = 0

    Konstruktor II

    obj3: Student

    this.name = “Sara”

    this.matrikelnummer = “76345”

    this.semester = 5

    Konstruktor I

    obj4: Student

    this.name = “Alex”

    this.matrikelnummer =“12345”

    this.semester = semester = 1

    Konstruktor I

  • 8/19/2019 Java Kompakt Mindmaps

    13/47

    Mi  n d m a pK  on s t r  uk  t  or 

    1 3 

    K on s t  r  uk  t  

     or 

    D ek l   ar  a t  i   on

    M o d i  fi k  a t   or  enK l   a s  s  enn am e ( P  ar  am e t   er l  i   s  t   e )   { 

     A nw ei   s  un g en

     }  p u b l i 

     c 

     S  t  u d  en

     t  

     (  S  t 

     ri n

     g n

     a m e )  

     { 

     

     t h i 

     s .n

     a m e = n

     a

     m e ;

     } 

    A  uf  r  uf  

    K l   a s  s  enn am e o b  j   = n

     e w K l   a s  s  enn am e ( W er  t   e )  ;

     S 

     t  u d  en

     t  

     s = n

     e w 

     S  t  u d  en

     t  ( “ 

     S  a r a” 

     )  ; 

  • 8/19/2019 Java Kompakt Mindmaps

    14/47

    Mindmap Zugri! srecht

    - 14 -

    Modifikator

    fürZugriffsrecht

    private Sichtbarkeit: eigene Klasse

    Default(kein Modifikator)

    Sichtbarkeit: Klasse + Paket

    protectedSichtbarkeit:Klasse + Paket + Unterklassen

    public Überall sichtbar

  • 8/19/2019 Java Kompakt Mindmaps

    15/47

    Mindmap

    - 15 -

    Kapitel 3

    Typ

    Methode

    Objekt

    Konstruktor

    Regeln zum Klassendesign

    Modifikator für Zugriffsrecht

    Primitiver Typ

    Referenztyp

    Variable

    Speichert Daten

    Deklaration

    Modifikator Datentyp Variablenname ;

    Zuweisung

    Variablenname  = Wert ;

    Operiert auf Daten und modifiziert Objektzustände

    Rückgabetyp: X

    Ist Instanz einer Klasse

    Rückgabetyp: void Methode liefert nichts zurück

    Methode liefert einen Wertvom Typ X zurück

    Modifikatoren Typ Methodenname  (Parameterliste) {  Anweisungen }

    Charakteristika

    Identität

    Zustand

    Verhalten

    private int alter;

    alter = 25;

    Klasse

    Legt Struktur von Objekten fest

    Bestimmt das Verhalten von Objekten

    Wird zum Erzeugen von Objekten verwendet

  • 8/19/2019 Java Kompakt Mindmaps

    16/47

    Kapitel 04 Mehr zu Klassen und Objekten

    - 16 -

  • 8/19/2019 Java Kompakt Mindmaps

    17/47

    Mindmap Software-Design

    - 17 -

    Software-Design

    Klasse identifizieren

    Lebewesen (Person, Tier)

    Organisation (Firma, Uni)

    Konzept (Name, Speisekarteneintrag)

    Klasse definieren public Klassenname  { ... }

    ObjekteigenschaftendurchInstanzvariablenabbilden

    String-Variablen für Namen, Zeichenketten

    boolean-Variablen für Wahrheitswerte

    int- und double-Variablen für Zahlen

    Konstruktorendefinieren

    Default KonstruktorKlassenname () {  Anweisungen }

    Konstruktor(en)mit Parametern

    Klassenname (Parameter ) {  Anweisungen }

    Verhalten durchMethoden abbilden

    Schreibzugriff aufInstanzvariablen

    Setter-Methoden

    Lesezugriff aufInstanzvariablen

    Getter-Methoden

    Business-Methoden und Programmlogik

    Gegenstand (Speisekarte, Fahrzeug)

  • 8/19/2019 Java Kompakt Mindmaps

    18/47

    Mindmap Sofwareentwurf groß

    - 18 -

    Software fürPrüfungsamt

    entwerfen

    Methodendefinieren

    Eigenschaftenfestlegen

    Klassen identifizieren und benennen

    Klasse: Student

    Konstrukturendefinieren

    Setter-Methoden

    Business-Methoden

    public void

      setName (String name) {

      this.name = name;

    }

    public booleanwechsleStudienfach (...){

      ...

    }

    Klasse: Pruefungsamt

    Student

    Semesteranzahl

    Name

    Matrikelnummer

    PrüfungsamtStudenten

    Defaultpublic Pruefungsamt () {

      ...

    }

    Mit Parameternpublic Student (...) {

      ...

    }

    Getter-Methodenpublic String getName () {

      return name;

    }

    private Name name;

    private String matrikelnummer;

    private int semester;

    private ArrayList

      studenten;

  • 8/19/2019 Java Kompakt Mindmaps

    19/47

    Mi  n d m a p S  of   t w ar  e e

    n t w ur f  k l   ei  n

    1 9 

     S  of   t  w ar  ef   ü r 

    P r  ü f   un g s am t  

     en t  w er f   en

    M e t  h  o d  en

     d  efi ni   er  en

    E i   g en s  c h  af   t   en

    f   e s  t  l   e g en

    K l   a s  s  eni   d  en t  i  fi z i   er  en

      un d  b  en enn en

    K l   a s  s  e:  S  t  u d  en t 

    K  on s  t  r  uk  t   ur  en

     d  efi ni   er  en

     S 

     e t   t   er 

     u s i  n e s  s -

    M

     e t  h  o d  en

     v oi  d   s e t  N  a m e  (  S  t  ri n g n a m e )   { 

     

     t h i  s .n a m e = n a m e ;

     } 

     S  t  u d  en t  f i 

    n d  e S  t  u d  en t   (  . . . )  { 

     

     . . .

     } 

    K l   a s  s  e: P  r u ef  un g s a m t 

     S  t   u d  en t  

     S  em e s  t   er  anz  ah l  

    N am e

    M a t  r i  k  el  n u

    mm er 

    P r  ü f   un g s  am t  

     S  t   u d  en t   en

    D ef   a ul   t  

    P  r u ef  un g s a m t   (  )   { 

     

     . . .

     } 

    Mi   t  P  ar  am e t   er n

     S  t  u

     d  en t   (  . . . )   { 

     

     .

     . .

     } 

     G

     e t   t   er 

     S  t  ri n g  g e t  N  a m

     e  (  )   { 

     

     r e t  u rn n a m e

     ;

     } 

     N  a m e n a m e ;

  • 8/19/2019 Java Kompakt Mindmaps

    20/47

    Mi  n d m a

     p

    2 0 

    K a pi   t   el  4 

     S  t   a t  i   s  c h  e

    V  ar i   a b l   en

     S  t   a t  i   s  c h  e

    M e t  h  o d  en

    R ek  ur  s i  v  e

    M e t  h  o d  en

     S  of   t  w ar  e-D e s i   gn

    E x i   s  t  i   er  en un a b h  ä n gi   gv  on d  enI  n s  t   anz  en d  er K l   a s  s  e

    B  ei   s  pi   el   f   ü r V  er w en d  un g

    Z  ä h l   env  onI  n s  t   anz  en

    K  ö nn en oh n eI  n s  t   anz  d  er K 

    l   a s  s  e a u s  g ef   ü h r  t  w er  d  en

    T  y  pi   s  c h  er E i  n s  a t  z 

    L  e s  e-/   S  c h r  ei   b z  u gr i  f  f   a uf  

     s  t   a t  i   s  c h  eV  ar i   a b l   en

    Hi  l  f   s m e t  h  o d  en

    Di  r  ek  t  

    I  n d i  r  ek  t  

    E i  n eM e t  h  o d  er  uf   t   s i   c h  s  el   b  er  a uf  

    M e t  h  o d  e a

     r  uf   t  M e t  h  o d  e b   a uf  

     un d  b  r  uf   t  

     a

      a uf  .

     s

     t  a t i 

     c T  y  pM e t  h  o d  enn am

     e ( P  ar  am e t   er l  i   s  t   e )   { 

     A nw ei   s  un g en

     } 

    M a t  h  em a t  i   s  c h  eF  unk  t  i   on en

    M o d i  fi k  a t   or  en s  t   a t  i   c T  y  pV  ar i   a b l   enn am e ; 

  • 8/19/2019 Java Kompakt Mindmaps

    21/47

    Kapitel 05 Primitive Typen

    - 21 -

  • 8/19/2019 Java Kompakt Mindmaps

    22/47

    Mindmap

    - 22 -

    Kapitel 5

    PrimitiveDatentypen

    Typumwandlung

    Arithmetische Operationen

    Vergleichsoperationen

    Bitweise Operationen

    Auswertung von Operationen

    Casting

    Boxing und Unboxing

    +, -, *, /, %

    &, |, ^, ~

    , >>>

    Priorität

    Beeinflussung durch Klammern

    Zahlen

    Gleitkommazahlen

    float

    double

    Ganze Zahlen

    byte

    short

    int

    long

    Zeichen

    Unicode

    char

    Wahrheitswerte boolean

    ++, --Postfix

    Präfix

    Für Zahlen =

    Logische Operationen

    Für alle Werte ==, !=

    Für Boole’sche Werte

    Assoziativität

    Strikt

    Nicht Strikt &&, ||

    &, |, !

  • 8/19/2019 Java Kompakt Mindmaps

    23/47

    Kapitel 06 Referenztypen

    - 23 -

  • 8/19/2019 Java Kompakt Mindmaps

    24/47

    Mindmap Eindimensionale Arrays

    - 24 -

    Eindimensionales

    Array

    Iteration

    For-each Schleife

    for-Schleife

    Folge von Elementen gleichen Typs

    Deklaration

    Typ [] name ;

    int[] a;

    Deklaration undInitialisierung

    Typ [] name  = {Wert 0, …, Wert  n-1};

    int[] a = {1, 3, 7};

    Erzeugung

    new Typ[Länge]

    a = new int[3];

    Zuweisung an Element

    name [Index ] = Wert ;

    a[0] = 5;

    a[1] = 34;

    for (int i=0; i

  • 8/19/2019 Java Kompakt Mindmaps

    25/47

    Mi  n d m a pM eh r  d i  m en

     si   on al   eAr r  a y s

    2 5 

    M eh r - 

     d i  m en si   on

     al   e s

    Ar r  a y

    A r r  a y v  onA r 

    r  a y  s 

    D ek l   ar  a t  i   on

    T  y  p [   ]   [   ]  n am e ; 

    i n

     t  [  ]  [  ]  

     a ;

    D ek l   ar  a t  i   on

     un d 

    I  ni   t  i   al  i   s i   er  un g

     T  y p [  ]  [  ]  = 

     {  { W

     er  t   0  , 0  , 

     . . . , W er  t   0  ,m-1  }  ,

     

     . . .

     

     { W

     er  t  k  , 0  , 

     . . . , W er  t  k  ,n-1  }  }  ;

    i n

     t  [  ]  [  ]  

     a = 

     {  { 

     1  }  , {  1  ,2 

     }  , {  1  ,2 

     , 3  }  } 

    E r z  e u g un g

    n e w 

     T  y p [  L  ä n

     g e 1  ]  [ 

     L  ä n

     g e2  ] 

     a = n

     e w i n

     t  [  6  ]  [  3 

     ]  ;

    Z  uw ei   s  un g a

    nE l   em en t  

    n am e [  i  n d  ex 1  ]  [  i  n d  ex 2 

     ]  = W er  t   ; 

     a [ 2 

     ]  [  1  ] 

     = 

     1  5  ;

    I   t   er  a t  i   on: 

     g e s  c h  a c h  t   el   t   e

     S  c h l   ei  f   en

    f  o r ( i n

     t  [  ]  i 

     s 

     : 

     a )  

     {  

    f  o r ( i n

     t  

     j  

     : i 

     s )  

     { 

     

     . . . 

     j  

     . . .

     

     } 

     } 

  • 8/19/2019 Java Kompakt Mindmaps

    26/47

    Mindmap groß

    - 26 -

    Kapitel 6

    Array

    Enum

    String

    Eindimensional

    Mehrdimensional

    Deklaration

    Erzeugung

    Zuweisung an Element

    Typ []  name ;

    new  Typ [Länge ]

    name [Index ] = Wert ;

    Deklaration

    Erzeugung

    Iteration

    Typ [][] name ;

    new Typ [Länge 1][Länge 2 ]

    Zuweisung an Element

    name [Index 1][ index 2 ]= Wert ;

    Iteration:geschachtelte Schleifen

    for(int i=0; i

  • 8/19/2019 Java Kompakt Mindmaps

    27/47

    Mi  n d m a

     p

    2 7 

    K a pi   t   el   6 

    A r r  a y 

    E n um

     S  t  r i  n g

    E i  n d i  m en s i   on al  

    M eh r 

     d i  m en s i   on al  

    D ek l   ar  a t  i   on

     en

     u m E n um

    n am e { 

     

    K  on s  t   an

     t   e1  ,

     

     . . .

     

    K  on s  t   an

     t   en

     } 

    V  or  d 

     efi ni   er  t   e J  av  ak l   a s  s  ef   ü r Z  ei   c h  enk  e t   t   en

    A  uf  z 

     ä h l   un g s  t   y  p

     p u b l i 

     c 

     en

     u m R i 

     ch 

     t  un

     g 

     { 

     

     N  O R 

     D  ,

     

     S  U E 

     D  ,

     

     O  S  T  ,

     

     W E 

     S  T 

     } 

    Wi   c h 

     t  i   g e O p er  a t  i   on en

    +  e

     q u al 

     s

    F  a s  s 

     t  m eh r  er  eK  on s  t   an t   enz  u s  amm en

     s

     u b  s t  ri n

     g

  • 8/19/2019 Java Kompakt Mindmaps

    28/47

    Kapitel 07 Kontrollfluss

    - 28 -

  • 8/19/2019 Java Kompakt Mindmaps

    29/47

  • 8/19/2019 Java Kompakt Mindmaps

    30/47

    Mindmap Bedingungen

    - 30 -

    Bedingte

    Anweisung

    if/

    then/

    else

    Einfach

    if (Bedingung )  Block 1else

      Block 2 

    Bedingung  == true:Block 1 wird ausgeführt

    Bedingung  == false:Block 2  wird ausgeführt

    Geschachtelt

    if (Bedingung 1)  Block 1else if (Bedingung 2 )  Block 2 ...

    else if (Bedingung n )  Block n else

      Block n+1

    Es wird nur der erste Blockausgeführt, dessen Bedingungtrue ergibt

    Wenn alle Bedingungen falseergeben, wird Block n+1ausgeführt

    switch/

    case

    switch (Variable ) {case m:

    Anweisungen m ;  break;

    case n:

    Anweisungen n ;  break;

    ...

    default:

      Anweisungen def ;}

    Variable  hat Typ byte, short, int, char oder String

    Wert vonVariable 

    m   Anweisungen m 

    werden ausgeführt

    n   Anweisungen n 

    werden ausgeführt

    ...

    Die entsprechendenAnweisungen werdenausgeführt

    AndererWert

    Anweisungen def werdenausgeführt

  • 8/19/2019 Java Kompakt Mindmaps

    31/47

    Mi  n d m a p S  c h 

    l   ei  f   en

    3 1 

     S  ch l   ei  f   en

     wh i l  e

    f  o r

    f  o r  ( I  ni   t   ; B  e d i  n g un g ;  U p d  a t   e ) 

     

    B l   o c k  ;

    f   or - e a c h 

    f  o r  ( T 

     y  pE l   em en t    :  C  ol  l   e c  t  i   on ) 

     

    B l   o c k  ;

     d  o /  wh i l  e

     d  o

     

    B l   o

     c k 

     wh i l  e 

     ( B  e d i  n g un g )  ;

     wh i l  e  ( B  e d i  n g un g ) 

     

    B l   o c k  ;

    B  e d i  n g un

     gwi  r  d v  or  d  er A  u s f   ü h r  un gv  onB 

    l   o c k  ü  b  er  pr  ü f   t  

    B l   o c k wi  r  d 

     a u s  g ef   ü h r  t   , s  ol   an g eB  e d i  n g un

     gw ah r i   s  t  

    I  ni   t  wi  r  d z  u er 

     s  t   a u s  g ef   ü h r  t  

    B  e d i  n g un gw

    i  r  d  g e t   e s  t   e t   , b  ev  or B l   o c k  a u s  g e

    f   ü h r  t  wi  r  d 

    W ennB  e d i  n

     g un gw ah r i   s  t   ,w er  d  enB l   o c k  un d  U p d  a t   e a u s  g ef   ü h r  t   ; 

    B  e d i  n g un gwi  r  d wi   e d  er  g e t   e s  t   e t  

    Z  ur I   t   er  a

     t  i   on ü  b  er A r r  a y  s  un d  C  ol  l   e c  t  i   on s 

    E l   em en t   d  ur  c h l   ä  uf   t   d i   eE l   em en t   ev  on C  ol  l   e c  t  i   on

    B l   o c k 

    wi  r  d  a u s  g ef   ü h r  t   , d  annwi  r  d B  e d 

    i  n g un g g e t   e s  t   e t  

    B l   o c k 

    wi  r  d  a u s  g ef   ü h r  t   , s  ol   an g eB  e d i  n

     g un gw ah r i   s  t  

  • 8/19/2019 Java Kompakt Mindmaps

    32/47

    Mi  n d m a

     p

    3 2 

    K a pi   t   el  7 

    B l   o c k  {   . . .  } 

     S  c h l   ei  f   e

    F  a s  s  t  m eh r  er  eA nw ei   s  un g

     enz  u s  amm en

     wh i l  e

     d  o- wh i l  e

    f  o r

    f   or - e

     a c h 

     S  t   e u er  anw ei   s  un g

     b r  e ak 

     c  on t  i  n u e

    K  ann

    n ur i  n S  c h l   ei  f   en

    v  er w e

    n d  e t  w er  d  en

    K  annn u

    r I  n S  c h l   ei  f   en un d 

     s wi  t  ch /   c a s e-A nw ei   s  un g en

    v  er w en d 

     e t  w er  d  en

     {  A nw ei   s  un g1  ;  . . . ; A nw ei   s  un gn } 

    B r i   c h  t   d i   e S  c h l   ei  f   e/  

    A nw ei   s  u

    n g a b 

     S  t   ar  t   e

     t   d  enn ä  c h  s  t   en

    D ur  c h 

    l   a uf   d  er  S  c h l   ei  f   e

    B  e d i  n g t   eA nw ei   s  un g

    i f  /  t h  en /  el  s e

     s wi  t  ch  /  c a s e

  • 8/19/2019 Java Kompakt Mindmaps

    33/47

    Kapitel 08 Vererbung

    - 33 -

  • 8/19/2019 Java Kompakt Mindmaps

    34/47

    Mi  n d m a p O

     b  j   e c  t 

    3 4 

    Di   eKl   a s s e

     O  b  j  e c t 

    M e t  h  o d  en

    v  on

     O  b  j  e c t 

     e q u al 

     s

    “   S  em a

    n t  i   s  c h  er ”  V  er  gl   ei   c h 

    I  m pl   em en t  i   er  un gf   ü r  ei   g en eK l   a s  s 

     en

    h  a sh 

     C  o d  e

    i n

     t 

    -W er  t  f   ü r  O b  j   ek  t  

    Wi  r  d 

     e q u al 

     s  ü  b  er  s  c h r i   e b  en , s  o

    m u s  s 

    h  a sh 

     C  o d  e  ü  b  er  s  c h r i   e b  enw er  d 

     en.

    I   s  t  x

     .

     e q u al 

     s (  y )  w ah r  , s  om ü  s  s  enx

     un d 

     y  d  en gl   ei   c h  enH a s h -W er  t  

    h  a b  en

     t  o S  t  ri n

     g

    W an d  el   t   O b  j   ek  t   ei  n S  t  r i  n g s  um

    Wi  r  d v  on

     S  y s t  e m . o u t  . p ri n

     t l n

    v  er w en d  e t  

     O b  er k l   a s  s  e al  l   er K l   a s  s  en

  • 8/19/2019 Java Kompakt Mindmaps

    35/47

    Mindmap

    - 35 -

    Kapitel 8

    Klasse A

    erbt von B

    A übernimmt alle Instanzvariablen und Methoden von B 

    Syntax

    Schlüsselwortsuper

    DynamischesBinden

    Die Klasse Object

    class A extends B { ... }

    In MethodenundKonstruktoren

    Welche Methode aufgerufen wird, wird zurLaufzeit bestimmt

    Auswahl derMethode

    Methodenname

    Anzahl und statische Typender Argumente

    PolymorphieVariablen können Instanzen von Subklassen ihres

    statischen Typs speichern

    In KonstruktorenAufruf eines Konstruktorsder Oberklasse

    Aufruf von Methoden derOberklasse

    Zugriff auf Instanzvariablender Oberklasse

    A kann weitere Instanzvariablen und Methoden enthalten

    A kann Methoden von B überschreiben

    Bezeichnungen

    A: Unterklasse, Subklasse,Kindklasse

    B: Superklasse, Oberklasse,Elternklasse

    Dynamischer Typ von this

  • 8/19/2019 Java Kompakt Mindmaps

    36/47

    Kapitel 09 Generische Typen und Interface

    - 36 -

  • 8/19/2019 Java Kompakt Mindmaps

    37/47

    Mindmap groß

    - 37 -

    Kapitel 9

    GenerischeKlasse

    Interface

    GeschachtelteKlasse

    Regeln

    Anwendung

    Wie abstrakte Klasse

    Eine konkrete Klasse, die ein Interface implementiert

    muss alle Methoden des Interface implementieren

    AbstrakteKlasse

    Regeln

    Ist eine Methode abstrakt so muss die Klasse

    abstrakt sein.

    Hat Zugriff auf private Elemente der sie umschließenden Klasse

    class Klassenname   { ... }

    public class Paar {

      T1 erstesElement;

      ...

    }

    Eine Klasse, von der keine direkten Instanzen erzeugt werden können.

    abstract Klassenname { ... }

    Darf nur Konstanten und abstrakte Methoden enthalten

    AnwendungSuperklasse fürkonkrete Klassen

    Abstraktion

    Wiederverwendung

    Polymorphismus

    Eine abstrakte Klasse darf Konstruktoren und sowohlkonkrete als auch abstrakte Methoden haben

    Konkrete Subklassen einer abstrakten Klassemüssen alle abstrakten Methoden implementieren

    Schnittstelle in Client/Server-Anwendungen

    Mehrfachvererbung: eine Klasse kann mehrereInterfaces implementieren

    interface interfacename { ... }

    Abstrakte Klassen dürfen abstrakte Methoden vonInterfaces erben, ohne sie zu implementieren

    Wird in einer anderen Klasse definiert

    Anonyme

    Klasse

    Wird innerhalb eines Code-Blocks deklariert

    Deklaration und Erzeugen einer Instanz im gleichen Ausdruck

    Comparator c = new Comparator() {  @Override public int compare(Person p1, Person p2) {

      ...

      }

    };

  • 8/19/2019 Java Kompakt Mindmaps

    38/47

    Mi  n d m a p G en er i   s

     c h  eK l   a s s e

    3 8 

     G en er i   s ch 

     e

    Kl   a s s e

     p u b l i 

     c 

     cl 

     a s s P 

     a a r  

     { 

     

     T  1  

     e r s t  e sE l 

     e

     m en

     t  ;

     

     T 2  

     z w ei 

     t  e sE l 

     e m en

     t  ;

     

     . . .

     } cl 

     a s s K l   a s  s  enn am e  

     { 

     

     . . .

     }  K l   a s  s  e , d i   e d  ur  c h T  y  p p ar  am e t   er  s  p ez i   al  i   s i   er 

     t  w er  d  enk  ann

    P  a a r  

     p 1  = n

     e w P 

     a a r 

     (  )  ;

     S  ei   t   J  av  a7  a u c h : P 

     a a r  

     p2  = n

     e w P 

     a a r 

     (  )  ;

  • 8/19/2019 Java Kompakt Mindmaps

    39/47

    Mi  n d m a pA b  s t r  ak  t  eK l   a s s e

    3 9 

    A b  s t  r  ak  t   e

    Kl   a s s e

    R e g el  n

    E i  n e a b  s  t  r  ak  t   eK l   a s  s  e d  ar f  K  o

    n s  t  r  uk  t   or  en un d  s  ow oh l  

    k  onk r  e t   e al   s  a u c h  a b  s  t  r  ak  t   eM

     e t  h  o d  en b  e s i   t  z  en

    K  onk r  e t   e S  u b k l   a s  s  en ei  n er  a b  s  t  r  ak  t   enK l   a s  s  em ü  s  s  en al  l   e

     a b  s  t  r  ak  t   enM e t  h  o d  eni  m pl   em

     en t  i   er  en

    E i  n eK l   a s  s  e ,v  on d 

     er k  ei  n e d i  r  ek  t   enI  n s  t   anz  en

     er z  e u g t  w er  d  enk  ö nn en

     a b  s t  r a c t  K l   a s  s  e

    nn am e {  

     . . . 

     } 

    A nw en d  un g

     S  u p er k l   a s  s  ef   ü r 

    k  onk r  e t   eK l   a s  s  en

    A  b  s  t  r  ak  t  i   on

    Wi   e d  er v  er w en d  un g

    P  ol   y m or  ph i   e

    I   s 

     t   ei  n eM e t  h  o d  e a b  s  t  r  ak  t   , s  o

    m u s  s  d i   eK l   a s  s  e a b  s  t  r  ak  t   s  e

    i  n

  • 8/19/2019 Java Kompakt Mindmaps

    40/47

    Mi  n d m a pI  n t 

     er f   a c  e

    4 0 

    I  n t   er f   a c e

    R e g el  n

    A  b  s  t  r  ak  t   eK l   a s  s  en d  ü r f   en a b  s  t  r  ak  t   eM e t  h  o d  env  on

    I  n t   er f   a c  e s  er  b  en , oh n e s i   ez  ui  m pl   em en t  i   er  en

    E i  n

     ek  onk r  e t   eK l   a s  s  e , d i   e ei  nI  

    n t   er f   a c  ei  m pl   em en t  i   er  t   ,

    m u

     s  s  al  l   eM e t  h  o d  en d  e s I  n t   er f   a c  ei  m pl   em en t  i   er  en

    D ar f  n ur K  on s  t   an t   en

     un d  a b  s  t  r  ak  t   eM e t  h  o d  en en t  h  al   t   en

    i n

     t  e rf 

     a c e I  n t   er f   a c  en am e {  

     . . . 

     } 

    A nw en d  un g

    Wi   e a b  s  t  r  ak  t   eK l   a s  s  e

     S  c h ni   t   t   s  t   el  l   ei  n C l  i   en t  /   S  er v  er -A nw en d  un g en

    M eh r f   a c h v  er  er  b  un g: E i  n e

    K l   a s  s  ek  annm eh r  er  e

    I  n t   er f   a c  e s i  m pl   em en t  i   er  en

  • 8/19/2019 Java Kompakt Mindmaps

    41/47

    Mi  n d m a p G e s c h  a c h 

     t  el   t  eK l   a s s e

    4 1 

     G e s ch  a ch  t   el   t   e

    Kl   a s s e

    H a t  Z  u gr i  f  f   a uf   pr i  v  a t   eE l   em en t   e d  er  s i   e um s  c h l  i   e ß  en d  enK l   a s  s  e

    Wi  r  d i  n ei  n er 

     an d  er  enK l   a s  s  e d  efi ni   er  t  

    A n on y m e

    K l   a s  s  e

    Wi  r  d i  nn er h  al   b  ei  n e s 

     C  o d  e-B l   o c k  s  d  ek l   ar i   er  t  

    D ek l   ar  a t  i   on un d E r z  e

     u g en ei  n er I  n s  t   anz i  m

     gl   ei   c h  enA  u s  d r  u c k 

     C  o m p a r a t  o r  

     c =

     n e w 

     C  o m p a r a t  o r 

     (  )  

     { 

     

     @  O  v e r ri 

     d  e

     

     p u b l i 

     c i n

     t  

     c o m p

     a r e (  A  

     a 1  , 

     A  

     a2 

     )  

     { 

     

     . . .

     

     } 

     }  ;

  • 8/19/2019 Java Kompakt Mindmaps

    42/47

    Mindmap

    - 42 -

    Kapitel 9

    Generische Klasse

    Interface

    Geschachtelte Klasse

    Abstrakte Klasse

    Anonyme Klasse

  • 8/19/2019 Java Kompakt Mindmaps

    43/47

    Kapitel 10 Das Java Collections Framework

    - 43 -

  • 8/19/2019 Java Kompakt Mindmaps

    44/47

    Mindmap

    - 44 -

    Kapitel 10

    Wichtige Interfaces

    Iterator

    Collection

    Map

    Iterable

    Map

    Iterator

    RandomAccess

    Collection

    Zum Durchlaufen einer Collection

    next()

    hasNext()

    Liefert das aktuelle Element desIterators; setzt das nächste Elementals neues aktuelles Element

    Liefert true, solange der Iteratornicht am Ende der Collection ist

    Eine Folge von Elementen vom Typ E

    Aggregattyp

    Implementiert Collection

    Geordnet, ungeordnet

    Wichtige

    Methoden

    isEmpty, size

    contains, containsAll

    iterator

    WichtigeImplementierungen

    LinkedList

    ArrayList

    HashSet

    TreeSet

    Abbildung von K nach V (Wörterbuch)

    Wichtige

    Implementierungen

    TreeMap

    HashMap

    LinkedHashMap

    ArrayDeque

    WeakHashMap

  • 8/19/2019 Java Kompakt Mindmaps

    45/47

    Kapitel 11 Ausnahmebehandlung

    - 45 -

  • 8/19/2019 Java Kompakt Mindmaps

    46/47

    Mindmap Exceptions

    - 46 -

    Exceptions

    Java Exception-Hierarchie

    UncheckedExceptions

    CheckedExceptions

    Auslösen vonExceptions

    Behandeln von Exceptions

    BenutzerdefinierteException-Klassen

    Throwable

    Error

    Exception

    Erben von Error oder RuntimeException 

    Beispiele

    ClassCastException

    NullPointerException

    IndexOutOfBoundsException

    Können oft vermieden werden

    Erben nicht von Error oder RuntimeException

    Exception ex = new Exception(“Fehler!”);

    throw ex;

    throw new Exception(“Fehler!”);

    try { ... }

    catch (ExceptionTyp 1 ex) { ... }...

    catch (ExceptionTyp n  ex) { ... }finally { ... }

    Erbt indirekt von Throwable

    ZweiKonstruktoren

    Default

    Mit String-Parameter

    Müssen in Signatur von Methoden angegeben werden

    throw Exception-Instanz ;

  • 8/19/2019 Java Kompakt Mindmaps

    47/47

    Mi  n d m a

     p

    4 7 

    K a pi   t   el  1 1 

    F  eh l   er  ar  t   en

    A  u s n ah m e b  eh  an d 

    l   un g

    A  s  s  er  t  i   on s 

     J  Uni   t  T  e s  t  

    B  en u t  z  er f   eh l   er 

     a s s e r t  Z  u s i   c h  er  un g ;

    T  e s  t  k l   a s  s  e d  efi ni   er  en

    T  e s  t  -M e t  h  o d  en d  ur  c h  d i   e

     @ 

     T  e s t -A nn o t   a t  i   onm ar k i   er  en

    E i  n eI  n s  t   anz  d  er z  u t   e s  t   en

     d  enK l   a s  s  e er z  e u g en un d 

    I   s  t  /   S  ol  l  -V  er  gl   ei   c h mi   t   J  Uni   t  -M e t  h  o d  en d  ur  c h f   ü h r  en

     G er  ä  t   ef   eh l   er 

     S  of   t  w ar  ef   eh l   er 

     Ü  b  er  pr  ü f   en ei  n eZ  u s i   c h  er 

     un gv  omT  y  p b  o ol 

     e an

    I   s  t   d i   eZ  u s i   c h  er  un gf   al   s  c h 

     ,wi  r  d  ei  n eE x  c  e p t  i   on g ew or f   en

    A n g a b  e d  er F  eh l   er m el   d  un g

     a s s e r t  Z  u s i   c h  er  un g : 

    F  eh l   er m el   d  un g ;

    M an g el  n d  eR e s  s  o ur  c  en