Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen:...

10
Java-Kurs - 3. Übung Boolesche Operatoren vom Problem zum Programm Arbeiten mit Array-Variablen: primitive Datentypen versus Referenztypen Deklaration, Instantiierung & Initialisierung

Transcript of Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen:...

Page 1: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Java-Kurs - 3. ÜbungBoolesche Operatorenvom Problem zum ProgrammArbeiten mit Array-Variablen:

primitive Datentypen versus Referenztypen Deklaration, Instantiierung & Initialisierung

Page 2: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Boolesche Operatoren

Operator Bedeutung& logisches UND| logisches ODER! logisches NICHT&& abgekürztes UND|| abgekürztes ODER

Page 3: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

2. Übungsaufgabe vom 27. 10.

Berechnung der Laufzeit eines Sparvertrages: 1000 DM sind zu 4.3 % p.a. verzinst. Nach wievielen Jahren hat sich das Geld 1) verdreifacht und 2) verzehnfacht?

Lösungsansatz: solange auf das Konto den jeweiligen Zins-

gewinn addieren, bis die Wunschgrenze erreicht oder über-

schritten ist. Hier bietet sich eine (for-)Schleife an.

Page 4: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Musterlösung - Aufgabe 2(unter Verwendung einer for-Schleife) class Sparvertrag {

public static void main (String args[]) {float zins, wert, grenze;int laufzeit;

zins=(float) 0.043; // Zinssatz pro Jahrwert=(float) 1000.0; // Startkapitalgrenze=10*wert; // Zielwert

for (laufzeit=0; wert<grenze; laufzeit++)wert=wert*zins + wert;

System.out.print("Nach ");System.out.print(laufzeit);System.out.print(" Jahren ist ein Betrag von ");System.out.print(wert);System.out.println(" angespart.");

}}

Page 5: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Programmentwicklung für einfache Probleme

Problemanalyse (Komplexität, Randbedingungen) Formalisierung

Auswahl / Entwicklung geeigneter Datenstrukturen Algorithmen

Implementierung z.B. in Java

Testen

Page 6: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Arrays Arrays sind keine primitiven

Datentypen Deklaration: int my_arr[]; Anlegen zur Laufzeit:my_arr=new int[5];

Zugriff auf Arrayelemente über Index:my_arr[2]=12;

Indizes fangen mit 0 an

Index Wert0 451 -1172 123 04 999

Integer Array mit fünf Elementen

Page 7: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Arbeiten mit Array-Variablen (I)

Array-Deklarationint my_array[];

Erschaffung (Instantiierung) my_array=new int[3];

Initialisierung der Array-Elementemy_array[0]=17; my_array[1]=0; my_array[2]=-4*my_array[0];

Page 8: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Arbeiten mit Array-Variablen (II)

Deklaration mit impliziter Erschaffung + Initialisierung:

int my_array[]={45,-117,12,0,999};

erschafft ein 5-elementiges Array und initialisiert es mit den aufgezählten Werten (angefangen bei Index 0).

Page 9: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Beispiel zu Arrays

Programm:// Bestimmung der kleinsten Zahl eines ganzzahligen Arrays

class Minimum {public static void main (String args[]) {int my_array[] = {45,12,1,13,-4,0,-23,1001};int my_array_length=8; // Anzahl der Array-Elementeint minimum, i;

minimum=my_array[0];for (i=1; i<my_array_length; i=i+1)if (my_array[i]<minimum)minimum=my_array[i];

System.out.print("Die kleinste Zahl ist ");System.out.println(minimum);}

}

Ausgabe:Die kleinste Zahl ist -23

Page 10: Java-Kurs - 3. Übung zBoolesche Operatoren zvom Problem zum Programm zArbeiten mit Array-Variablen: yprimitive Datentypen versus Referenztypen yDeklaration,

Übungsaufgaben Invertieren eines Arrays mit Integer-Zahlen und

Ausgabe des ErgebnissesBeispiel: gegeben: {4,12,67,90,-10,39,0,1}

Resultat: {1,0,39,-10,90,67,12,4} unter Verwendung eines zweiten Arrays (Zielarray) innerhalb des selben Arrays

Sortieren eines Arrays mit Integer-Zahlen in ein Zielarray und Ausgabe des ErgebnissesResultat (bei obigem Bsp.): {-10,0,1,4,12,39,67,90}