Programiranje 1 Flashcards
Woraus besteht ein einfaches Java Programm? Wie können Sie es ausführen?
- aus eine Klasse (, main()-Methode und Anweisung
- durch run, Ergebniss erscheint auf console
Wozu dient die main()-Methode?
- Als Startpunkt der Programmausführung eine Klasse (als eigenständiges Programm)
Wie können und sollen Bezeichner gewählt werden? Was ist nicht erlaubt?
- aus Buchstaben (Klasse, variable & methode) A-Z,a-z
- aus Ziffern (nicht aber beginnend!!!)
- aus _ und §
Nicht: Schlüsselwörter (reserviert für Datentyp, for, else,tru etc.)
Was unterscheidet Ausdruck und Anweisung?
- Ausdrücke sind Berechnungsvorschriften/Formeln, d.h. liefern währen Programmablauf konkreten Wert. (Abhängig von aktuellem Wert der Variable)
Wie können Sie Ihr Programm kommentieren?
- // einzeiliger Kommentar
- /* mehrzeiliger Kommentar*/
Welche Regeln zur Programmformatierung sollte man befolgen und warum?
1) Lesbarkeit - nur eine Anweisung pro Zeile, Einrückungen bei Blöcken, beschreibende Namen (keine Romane), Namenskoventionen (CamelCase)
2) Wiederverwendbarkeit und Wartbarkeit
Was versteht man unter Algorithmus?
Ein Algorithmus ist eine nachvollziehbare, detaillierte und explizite Vorschrift zur schrittweisen Lösung eines Problems.
Was ist ein Programmierparadigma? Welche gibt es?
Imperative,Deklarative und Funktionale Sprachen
Was sind die wesentlichen Merkmale von Java, die dieser Sprache zu ihrem Durchbruch verholfen haben?
Objektorientierte Sprache, Automatische Speicherverwaltung, Zahlreiche Bibliotheken, Exzellente Entwicklungsverkzeuge
Wozu benötigen Sie Variablen?
Als Behälter für Daten während der Ausführung des Programms.
Was ist ein Datentyp und welche Arten von Datentypen gibt es?
Datentypen speichern unterschiedliche Arten von Werten (binär Dargestellt) im Rechner anhand dem möglichen Operationen von diesen Werten.
Arten:
1) einfache (Zahlen,Zeichen…)
2)komplexe (Bilder,Telefondaten <-array)
- Welche einfachen Datentypen gibt es und wie wählen Sie den richtigen Datentyp aus?
1) Ganzzahlige Datentypen (byte, short, int, long) <- unterschiedlicher Wertebereich
-Aus Anzahl benötigten Stellen und Speichergrösse wählen-
2) Fließkommazahlen (float, double) <- Dezimalzahlen
3) Wahrheitswerte (boolean) <- true/false als Erg. von Vergleichen
4) Einzelne Zeichen (char) <- Buchstaben,Sonderzeichen in ‘ ’
Wie werden Zeichen codiert?
Mit ASCII Code (standartisierter)
Jetzt aber Unicode und UTF(-8) ( erste 128 Zeichen aus ASCII)‚
- Wie und warum definieren Sie Konstanten?
- Literale beschreiben einen konstanten Wert (mit final definiert)
Wie? final Datentyp VARIABLEN_NAME = Wert
Warum? Schutz von Veränderung, Optimierungspotential für Compiler
Was sind Operatoren, Operanden, Operationen?
Operatoren verknüpfen Operanden miteinander und liefern ein Ergebniss.
Operator: Operation/Aktion die in einem Programm durchgeführt wird ( Wie werden Daten
verknüpft? z.B. *,+,-,Vz…)
Operanden: Parameter der Operation (Welche Daten werden verknüpft? z.B. x,2,(2+3)…)
Welche Arten von Operatoren gibt es? Wie funktionieren Sie jeweils?
1) Arithmetische Operatoren (x+y, x*y, x-y, x/y, x%y <-Rest, -x <-Vorzeichen)
2) Zuweisungsoperator ‘=‘ (nicht gleichheit)
x=3 <- Zuerst immer Wert rechts von = (3) berechnen und zu Variable links von = (x)
abspeichern. X ist Ausdruck nicht Anweisung.
3) kombinierte Zuweisungsoperatoren (x+=y (x=x+y), -=, *=, /=, %=)
4) Inkrement- und Dekrement-Operatoren (++i Präinkrement, - -i Prädekrement, i++
Postinkrement, i- - Postdekrement)
5) Vergleichsoperatoren (Ergebnis- Wahrheitswert boolean, verwendung bei if, while..)
x==y, !=, < , > , <=, >=
6) Logische Operatoren ( Verknüpfung true-false- boolean)
!a (negation), a&&b (und), a||b (oder), a^b (exklusives oder)
7)Bitoperatoren ( Verknüpfung einzelne Bits zweier Werte int, byte, short, long)
~a,&,|,^
8) Schiebeoperatoren
A«b - a um b stellen nach links verschieben, mit 0 auffüllen
a»b - a um b stellen nach rechts verschieben, mit höchstem Bit auffüllen
A«<b - a nach rechts, mit 0 auffüllen
9) Bedingungsoperator
Bedingung ? Wert_wenn_true : wert_wenn_false;
Was ist implizite/explizite Typumwandlung und wann kann sie jeweils eingesetzt werden?
Implizite - Operanden unterschiedliche Datentypen automatisch in grössere umgewandelt
Explizite - Umwandlung in kleinere Datentyp mithilfe Cast-Operators erzwungen
Was sind Gefahren expliziter Typumwandlung?
Verlust von Genauigkeit oder Überlauf bei Wert außerhalb Wertebereichs
Wenn es keine Typumwandlung nach boolean gibt, wie kann ich Wahrheitswerte in Java sinnvoll einsetzen?
double <- float <- long <- int <-short/char <-byte
Wie können Sie Zeichenketten einlesen und diese in andere Datentypen umwandeln?
Mit switch?