Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Teresa Manuela Hochberg Geändert vor über 9 Jahren
1
Java Programme nur ein bisschen objektorientiert
2
© till.haenisch@gmx.de Prozedurales Programm Proz2 Proz1 Data1 Proz3 Data3 Data
3
© till.haenisch@gmx.de Objekte Data Methode1 Methode3 M2M4 Data Methode1 Methode3 M2M4 Objekt1Objekt2
4
© till.haenisch@gmx.de Beispiel: Rechteck prozedural paint main height setsize width
5
© till.haenisch@gmx.de Rechteck objektorientiert height setsize paint width main height setsize paint width
6
© till.haenisch@gmx.de Objekte und Klassen Objekt Ding Identität Attribute (Datenfelder) Methoden (Funktionen) Kapselung Klasse Zusammenfassung von Objekten mit gleichen Attributen und Methoden (Werte der Attribute können natürlich verschieden sein) Schablone zur Erstellung von Objekten gleicher Art Objekte sind Instanzen einer Klasse
7
© till.haenisch@gmx.de Klassen in Java Dateiname identisch Klassenname + ".java" Beispiel.java: public class Beispiel { public int oeffentlich; private int geheim; public int doSomething() { geheim = 3; } public void foo() {...} }
8
© till.haenisch@gmx.de Programme werden durch Aufruf der Methode main() gestartet public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World"); } werden durch javac übersetzt main() wird durch java aufgerufen System.out.println() schreibt auf Konsole public, private, static später
9
© till.haenisch@gmx.de Beispiel public class VielHelloWorld { public static void main(String args[]) { int i; i = 3; while (i<5) { System.out.println("Hello World"); i++; } for(int j=0; j<10; j++) System.out.println("Hello World"); }
10
© till.haenisch@gmx.de Übungen HelloWorld soll den String "Hello World" ausgeben gerade Zahlen von 0 bis 30 Dreieck soll ein Dreieck aus * ausgeben: * *** ***** ******* ********* ***********
11
© till.haenisch@gmx.de Arrays Vektor von Objekten gleichen Typs auch primitive Datentypen Deklaration: int v[]; v ist ein Objekt genauer: eine Referenz Objekt muß erst erzeugt werden v = new int[42]; erzeugt ein Array mit max. 42 Elementen Erstes Element hat Index 0 v[0] = 4711; Arrays kennen ihre Größe v.length
12
© till.haenisch@gmx.de Beispiel Primzahlen berechnen Siebverfahren: Ist n eine Primzahl, sind alle Vielfachen von n keine... int Zahlen[] = new int[101]; for(int i=0;i<101;i++) Zahlen[i]=i; for(int i=2;i<101;i++) if (Zahlen[i] != 0) { System.out.println(i); for(int j=i;j<101;j+=i) Zahlen[j]=0; }
13
© till.haenisch@gmx.de echo main() hat Parameter String args[] Kommandozeilenargumente als Array von Strings public class echo { public static void main(String args[]) { for(int i=0;i<args.length;i++) System.out.println(args[i]); } Aufgabe: Parameter in umgekehrter Reihenfolge
14
© till.haenisch@gmx.de Fakultät Fakultät einer Zahl n! ist n*(n-1)*(n-2)*...*1 Klasse Fakultaet mit Methode fak, die Fakultät berechnet private static int fak(int Wert) {... return ergebnis; } public static void main(String args[]) { int i = 5; int f = fak(i); System.out.println(f); }
15
© till.haenisch@gmx.de Wahrscheinlichkeit n über k ist die WK, k Ereignisse aus n Möglichkeiten zu erhalten, etwa ist die WK, 6 Richtige im Lotto zu haben Schreiben Sie eine Funktion private static int over(int n, int k) die diese berechnet Wie groß ist nun die WK, 6 Richtige zu haben ? K:\JavaKurs\004 Basis Übungen>java OverTest 6 Exception in thread "main" java.lang.ArithmeticException: / by zero at OverTest.over(OverTest.java:13) at OverTest.main(OverTest.java:20)
16
© till.haenisch@gmx.de Wertebereich int ist eine 32 Bit Variable, d.h. die größte Zahl, die dargestellt werden kann ist etwa 2 31 Wie groß ist 49 ? etwa 2 66 ! Lösung ? Typen mit größerem Wertebereich verwenden long reicht hier auch nicht aus, also spezielle Klassen für große Zahlen (kaufen/schreiben) double reicht, Präzision ? Andere Formulierung des Algorithmus
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.