Programmieren in Java

Ähnliche Dokumente
Programmieren in Java

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Ausgabe:

Java - Programmierung - Prozedurale Programmierung 1

Primitive Datentypen

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Übung 1: Installation + Test von Eclipse. Übung 2: Hello World

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3

Programmieren in Java

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Ausdrucksbäume in verschiedenen Darstellungen

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

EidP. Blocktutorium SS 2014

Objektorientierte Programmierung OOP Programmieren mit Java

Zentralübung Grundlagen der Programmierung

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Arrays und Schleifen

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Ein erstes Java-Programm

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

5. Tutorium zu Programmieren

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

2 Eine einfache Programmiersprache

Institut für Programmierung und Reaktive Systeme 5. Dezember Programmieren I. 5. Übungsblatt

Aufgabenblatt: Arrays

Institut für Informatik

Programmieren in Java

Anweisungen zur Ablaufsteuerung

Klausur Grundlagen der Programmierung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Propädeutikum zur Programmierung

Einstieg in die Informatik mit Java

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Übung Grundlagen der Programmierung WS 2008/09. Übung 04: Methoden. Abgabetermin: Prosabeschreibung Java-Programm.

Eine kleine Befehlssammlung für Java Teil1

boolean ispalindrome = word.equalsignorecase(reverse.tostring());

Praktikum 1: Einführung, BMI Rechner

Wie entwerfe ich ein Programm?

Kontrollstrukturen: Wiederholungsanweisungen

Dr. Monika Meiler. Inhalt

Programmieren 2 Java Überblick

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Informatik II Musterlösung

JAVA für Nichtinformatiker - Probeklausur -

Einstieg in die Informatik mit Java

Grundlagen der Programmierung

5. Java Arrays und Strings

Programmierkurs Java

Übungsblatt 3: Algorithmen in Java & Grammatiken

Kapitel 5: Interfaces

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Methoden und Wrapperklassen

II.1.1. Erste Schritte - 1 -

public class SternchenRechteckGefuellt {

Informatik II Übung, Woche 10

Vorkurs Informatik WiSe 17/18

Delegatesund Ereignisse

Institut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Grundlagen der Objektorientierten Programmierung - Statische Arrays

Einführung in C. EDV1-04C-Einführung 1

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Klassenvariablen, Klassenmethoden

Algorithmen und Programmierung II

Java Einführung Klassendefinitionen

Einführung in die Programmierung 1

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

Javakurs für Anfänger

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Programmieren I + II Regeln der Code-Formatierung

3. Anweisungen und Kontrollstrukturen

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. Juni 2004

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Transkript:

Programmieren in Java Vorlesung 03: Schleifen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 12

Inhalt Codequalität Eingaben Schleifen Nichtfunktionale Anforderungen Verwendung von StringBuilder Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 2 / 12

Codequalität Codequalität Standards auf der Webseite Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 3 / 12

Eingaben Einlesen von Konsole und Dateien Lösungsmuster mit java.util.scanner 1 package linenumbers; 2 import java.util.scanner; 3 public class Main { 4 public static void main(string[] args) { 5 // get a scanner 6 while (sc.hasnextline()) { 7 String line = sc.nextline(); 8 // do s.t. with the line 9 } 10 sc.close(); 11 } 12 } Ende der Eingabe Dateiende magic key (CMD-D) in IntelliJ Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 4 / 12

Eingaben Verwenden von Argumenten 1 package linenumbers; 2 public class Main { 3 public static void main(string[] args) { 4 int nrofparameters = args.length; 5 String arg1 = args[0]; 6 String arg2 = args[1]; 7 dosomething(arg1, arg2); 8 } 9 } Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 5 / 12

Schleifen Standardmuster: Schleife mit Array 1 package printarguments; 2 public class Main { 3 public static void main(string[] args) { 4 int nrofparameters = args.length; 5 for (int i = 0; i < nrofparameters; i++) { 6 System.out.println((i+1) + tes Argument: + args[i]); 7 } 8 } 9 } Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 6 / 12

Schleifen Alternative: Schleife mit Array 1 package printarguments; 2 public class Main { 3 public static void main(string[] args) { 4 for (String s : args) { 5 System.out.println(s); 6 } 7 } 8 } Index ist nicht verfügbar Vorteil: einfacher, Nachteil: wenn Index notwendig ist... Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 7 / 12

Schleifen Zweidimensionale Felder 1 int[][] matrix = new int[rows][cols]; 2 for (int i = 0; i < ROWS; i++) { 3 for (int j = 0; j < COLS; j++) { 4 matrix[i][j] = initialize(i, j); 5 } 6 } Zur Übung Implementiere Matrixmultiplikation Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 8 / 12

Schleifen Verarbeiten der Zeichen eines Strings 1 public static void traverse(string s) { 2 for (int i = 0; i < s.length(); i++) { 3 char c = s.charat(i); 4 // do s.t. with c 5 } 6 } Umwandlung zwischen char und int Geschieht am einfachsten durch einen type cast: 1 char c; 2 int codeofc = (int) c; 3 // do s.t. with codeofc 4 char newc = (char) codeofc; Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 9 / 12

Nichtfunktionale Anforderungen Nichtfunktionale Anforderungen P. Thiemann, L. Fennell Sommersemester 2017 Programmieren in Java http://proglang.informatik.uni-freiburg.de/teaching/java/2017/ second-highest Die zweithöchste Zahl Woche 03 Aufgabe 2/4 Herausgabe: 2017-05-08 Abgabe: 2017-05-19 Achtung: beachten Sie unbedingt die allgemeinen Hinweise zur Abgabe auf der Homepage. Project Package Klassen second-highest secondhighest Main public static int secondhighest(int[] numbers) Implementieren Sie die Funktion secondhighest, die in einem int-array die zweitgrößte Zahl findet und zurückgibt. Kann die Zahl nicht gefunden werden, soll Integer.MIN_VALUE zurückgegeben werden. Ihre Implementierung sollte das Ergebnis in nur einem Durchlauf des Arrays numbers berechnen (also ohne das Array beispielsweise zu sortieren). Diese Anforderung zählt zur Code-Qualität! Beispielaufruf 01: Main.secondHighest(new int[]{1, 5, 5, 6, 1, 7}) ergibt 6 (als int) Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 10 / 12

Verwendung von StringBuilder Verwendung von StringBuilder 1 StringBuilder sb = new StringBuilder(42); // erwartete Zeichenzahl 2 // 3 char c: 4 sb.append(c); 5 sb.append(character.tochars(c)); 6 // 7 String s = sb.tostring(); StringBuilder: veränderlicher String Erzeugen mit new StringBuilder() Anhängen von Zeichen, Strings, Zahlen, etc mit append() Umwandlen in String mit tostring() Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 11 / 12

Verwendung von StringBuilder Fragen? Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 12 / 12