Geschrieben von Student*innen, die bestanden haben Sofort verfügbar nach Zahlung Online lesen oder als PDF Falsches Dokument? Kostenlos tauschen 4,6 TrustPilot
logo-home
Zusammenfassung

Objektorientierte Programmierung Zusammenfassung

Bewertung
-
Verkauft
1
seiten
25
Hochgeladen auf
07-07-2021
geschrieben in
2019/2020

Eine Zusammenfassung über die Grundlagen der objektorientierten Programmierung in Java mit vielen eigenen Beispielen.

Inhaltsvorschau

Objektorientierte Programmierung -
Zusammenfassung
Grundlagen eines Computers
Computer
Gerät zur Verarbeitung von Daten
Zeichenverarbeitende Maschine


Bit
Ein Symbol
Informationsträger
0 oder 1


Zweierkomplement
Das Zweierkomplement ist eine Möglichkeit, negative Integer-Zahlen im Dualsystem darzustellen,
ohne zusätzliche Zeichen wie + oder - zu benötigen. Gegenüber dem Einerkomplement bietet es
unter anderem den Vorteil, dass es nur eine Darstellung für 0 gibt. Positive Zahlen werden im
Zweierkomplement mit einer führenden 0 versehen und ansonsten nicht verändert.

Bsp.: Umwandlung von -4 in die Zweierkomplementdarstellung (8 Bit)

Negative Zahlen werden wie folgt aus einer positiven Zahl codiert: Sämtliche binären Stellen
werden negiert und zu dem Ergebnis der Wert 1 addiert.


1 1. Vorzeichen ignorieren und ins Binärsystem umrechnen
2 00000100
3
4 2. Invertieren
5 11111011
6
7 3. Eins addieren
8 11111011
9 00000001
10 == 11111100 == -4


Bsp.: Umwandlung von 11111101 in das Dezimalsystem (Umkehrung von Dezimal in
Zweierkomplement)


1 1. Eins subtrahieren
2 11111101
3 00000001
4 == 11111100
5
6 2. Invertieren
7 00000011 == -3

,Grundlagen der Programmierung
Literale
Definition

Ein Literal ist eine Schreibweise für Datenwerte. Die Schreibweise ist eindeutig und lässt den Typ
des Datenwerts erkennen. Beispiele sind 'Z' für einen char -Wert, 0.007 für einen double -
Wert und 0b100 für den int -Wert 4 in binärer Schreibweise.

Jede Zahl ohne Dezimalpunkt wird als int betrachtet

7L um den Wert als Wert vom Datentyp long zu verarbeiten
Jede Zahl mit Dezimalpunkt wird als double betrachtet

7.4F um den Wert als Wert vom Datentyp float zu betrachten


Beispiele

true (Boolean)
"Hello World" (String)
'k' (Character)
12.4 (Double)
87 (Integer)


Typ
Formal gesprochen ist ein Typ eine Menge von Datenwerten. Das Konzept des Typs ist eng
verwandt mit dem Konzept der Menge aus der Mengenlehre. Jeder Datenwert hat einen Typ.
Anders ausgedrückt: Jeder Datenwert ist einem Typ zugeordnet. Der Typ legt folgende Dinge fest:

Wie der Datenwert zu interpretieren ist (z.B. als Ganzzahl)
Wie die Speicherorganisation aussieht (benötigten Speicherzellen in Bytes und Kodierung)
Wie der Datenwert dargestellt wird

Datentypen

Primitive Datentypen (grundlegend, einfach)
byte

1 Byte
Zweierkomplement
Default: 0
short

2 Byte
Zweierkomplement
Default: 0
int

4 Byte
Zweierkomplement
Default: 0
long
8 Byte
Zweierkomplement

, Default: 0
float

4 Byte
Zweierkomplement
Default: 0.0
double
8 Byte
Zweierkomplement
Default: 0.0
char

2 Byte
UTF-16
Default: '\000'
boolean
2 Byte
Zweierkomplement
Default: false
Referenz Datentypen

Klassen
Default: null
Interface

Default: null
Array

Default: null
String

Default: null

Primitive Datentypen haben meist 0 oder false als Wert, wenn ihnen noch keiner zugewiesen
wurde. Referenz Datentypen dagegen null .

Wertebereich eines Datentyps:


1 start = -1 * (2^BitAnzahl / 2)
2 end = (2^BitAnzahl / 2) - 1
3
4 Beispiel Integer
5 start = -1 * (2^) = -2147483648
6 end = (2^) - 1 = 2147483647



Variablen

1 int i = 7;


Reservierter Platz im Speicher

int = Datentyp; i = Variablenname

Informationen:

Welcher Typ? Integer
Wie viel Speicher ? 4 Bytes

, Was steht drin? 7
Wie codiert? Zweierkomplement

Deklaration vs Definition

Deklaration

Mittels einer Deklaration benennt man z.B. eine Variable inkl. Datentyp und macht diese
dem Compiler bekannt
Die Variable hat noch keinen Wert
String name;
class myClass{};
Definition
Mittels Definition geben wir einer Variable, neben dem Namen und dem Datentyp,
zusätzlich einen Initialwert
String name = "Max"
Zuweisung

Mittels Zuweisung weisen wir einer bereits existenten Variable einen Wert zu
name = "John"

Casting

Wenn bei Zuweisungen oder in Ausdrücken unterschiedliche Datentypen vorkommen, führt Java
nach Möglichkeit eine automatische Typumwandlung durch (implizites Casting).


1 int i1 = 3;
2 double d1 = 1.7;
3 double d2 = d1 * i1; // double Multiplikation => 5.1
4 long l1 = i1; // Casting int => long


Wenn die Gefahr besteht, dass bei der Typumwandlung zu einem Genauigkeitsverlust (z.B. double
=> float) oder zu einem Überlauf kommt (z.B. long => int) produziert javac einen Fehler. Das
Programm kann also nicht kompiliert werden.


1 long l = 10;
2 int i = l; // javac-Fehler: possible loss of precision, da long > int
3
4 double d = 3.14;
5 float f = d; // javac-Fehler: possible loss of precision, da double >
float


Abhilfe schafft in solchen Fällen eine explizite Typumwandlung


1 long l = 10;
2 int i = (int) l;
3
4 double d = 3.14;
5 float f = (float) d;

, Definition eines Arrays


1 // 1. Weg - mit Dimensionsangabe; der Initialwert jedes Elements ist 0
2 int[] arr = new int[5];
3
4 // 2. Weg - mit Initialwerten
5 int[] arr = new int[]{1, 2, 3, 4, 5};
6
7 // 3. Weg - analog zu Weg 2, allerdings kürzer
8 int[] arr = {1, 2, 3, 4, 5};



Verzweigungen

Schleifen
for-Schleife

Wird ausgeführt, solange die Bedingung true ergibt

Wird verwendet, wenn man weiß wie oft man iterieren möchte
Statement 1 is executed (one time) before the execution of the code block.
Statement 2 defines the condition for executing the code block.
Statement 3 is executed (every time) after the code block has been executed.
Kopfgesteuert


1 for (statement 1; statement 2; statement 3) {
2 // code block to be executed
3 }
4
5 for (int i = 0; i < 5; i++) {
6 System.out.println(i);
7 }
8
9 // Es lassen sich auch mehrere Variablen und Bedingungen im Kopf definieren
10 for(int i = 0, k = 2; i < 10 && k < 100; i++, k*=2) {
11 System.out.println(i);
12 System.out.println(k);
13 }


for-each-Schleife

Wird verwendet um z.B. durch Arrays oder Listen zu iterieren
Kopfgesteuert


1 for (type variableName : arrayName) {
2 // code block to be executed
3 }
4
5 String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
6 for (String i : cars) {
7 System.out.println(i);
8 }
9

Dokument Information

Hochgeladen auf
7. juli 2021
Anzahl der Seiten
25
geschrieben in
2019/2020
Typ
ZUSAMMENFASSUNG
7,49 €
Vollständigen Zugriff auf das Dokument erhalten:

Falsches Dokument? Kostenlos tauschen Innerhalb von 14 Tagen nach dem Kauf und vor dem Herunterladen kannst du ein anderes Dokument wählen. Du kannst den Betrag einfach neu ausgeben.
Geschrieben von Student*innen, die bestanden haben
Sofort verfügbar nach Zahlung
Online lesen oder als PDF

Lerne den Verkäufer kennen
Seller avatar
larswaechter

Lerne den Verkäufer kennen

Seller avatar
larswaechter Technische Hochschule Mittelhessen (Gießen)
Profil betrachten
Folgen Sie müssen sich einloggen, um Studenten oder Kursen zu folgen.
Verkauft
1
Mitglied seit
5 Jahren
Anzahl der Follower
1
Dokumente
0
Zuletzt verkauft
3 Jahren vor

0,0

0 rezensionen

5
0
4
0
3
0
2
0
1
0

Warum sich Studierende für Stuvia entscheiden

on Mitstudent*innen erstellt, durch Bewertungen verifiziert

Geschrieben von Student*innen, die bestanden haben und bewertet von anderen, die diese Studiendokumente verwendet haben.

Nicht zufrieden? Wähle ein anderes Dokument

Kein Problem! Du kannst direkt ein anderes Dokument wählen, das besser zu dem passt, was du suchst.

Bezahle wie du möchtest, fange sofort an zu lernen

Kein Abonnement, keine Verpflichtungen. Bezahle wie gewohnt per Kreditkarte oder Sofort und lade dein PDF-Dokument sofort herunter.

Student with book image

“Gekauft, heruntergeladen und bestanden. So einfach kann es sein.”

Alisha Student

Arbeitest du an deiner Quellenangabe?

Erstelle korrekte Quellenangaben in APA, MLA und Harvard mit unserem kostenlosen Zitiergenerator.

Arbeitest du an deiner Quellenangabe?

Häufig gestellte Fragen