Java Lexikalische Struktur

Ähnliche Dokumente
Einstieg in die Informatik mit Java

1. Der Einstieg in Java. Was heißt Programmieren?

5 Grundlagen der Java-Syntax

1. Der Einstieg in Java

Programmieren I + II Regeln der Code-Formatierung

Java-Schulung Grundlagen

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Elementare Konzepte von

Einführung in die Programmierung mit BlueJ

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014

1. Der Einstieg in Java

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1

2 Imperative Sprachkonzepte

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter

Welche Informatik-Kenntnisse bringen Sie mit?

3 Die Programmiersprache Java

Ein erstes Java-Programm

AuD-Tafelübung T-B5b

Einführung in die Programmierung Wintersemester 2011/12

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Vorlesung Programmieren

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Datenbankanwendungsprogrammierung Crashkurs Java

Einführung in die C-Programmierung

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Primitive Datentypen

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Aktivitäten in C# /.NET umsetzen

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

RO-Tutorien 3 / 6 / 12

Smalltalk vs. Java c Chris Burkert Smalltalk versus Java

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

JAVA-Datentypen und deren Wertebereich

3. Anweisungen und Kontrollstrukturen

Ab J2SE 5.0 Unterstützung formatierter Bildschirmausgaben. Mit den Operatoren und Klammern können Boolesche Ausdrücke gebildet werden Beispiel:

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

Klausur am Montag, 20.Juli um 9 Uhr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Theorie zu Übung 8 Implementierung in Java

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Einstieg in die Informatik mit Java

Einführung in die Programmierung

Programmieren in Java

Sprachvergleich C# / Java / C++

3. Grundregeln für die Java-Programmierung

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

Anwendungsentwicklung mit Java. Grundlagen der OOP, Variablen, Klassen und Objekte, Methoden

Einführung in Javadoc

3. Algorithmenentwurf und JAVA. Informatik II für Verkehrsingenieure

Informatik: Abschnitt 4

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

Kapitel 3: Variablen

Programmier-Richtlinien

Einstieg in die Informatik mit Java

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Der Datentyp String. Stringvariable und -vergleiche

3. Einführung in C Programmierung Einführung in C Programmierung

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Programmieren I. Kapitel 5. Kontrollfluss

Programmierkurs Java

6. Iteration (Schleifenanweisungen)

Einstieg in die Informatik mit Java

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Java - Programmierung - Objektorientierte Programmierung 1

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Informatik: Abschnitt 4

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Werkzeuge zur Programmentwicklung

Schleifen in C/C++/Java

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Computeranwendung und Programmierung (CuP)

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic

Sprachbeschreibung und Erweiterung

Probeklausur: Programmierung WS04/05

Moderne C-Programmierung

Tutorium Rechnerorganisation

Die Algorithmenbeschreibungssprache Jana

Objektorientierte Programmierung

Die Kunst des schönen Kodierens

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Transkript:

Informatik 1 für Nebenfachstudierende Grundmodul Java Lexikalische Struktur Kai-Steffen Hielscher Folienversion: 19. Dezember 2017 Informatik 7 Rechnernetze und Kommunikationssysteme

Inhaltsübersicht Kapitel 3 - Java Einführung Lexikalische Struktur Datentypen und Variablen Inf1NF 2

Literaturhinweise RATZ, SCHEFFLER, SEESE, WIESENBERGER: Grundkurs Programmieren in Java, 7. Auflage, Hanser, München 2014. LOIS, MÜLLER: Java Eine Einführung in die Programmierung, Hanser, München 2014. Oracle Java Tutorials Learning Paths https://docs.oracle.com/javase/tutorial/tutoriallearningpaths.html viele weitere gute Quellen und Tutorials online Inf1NF 3

Lexikalische Struktur Groß-/Kleinschreibung Anweisungen und Semikola Whitespace und Zeilenumbrüche Kommentare Literale Bezeichner (Identifier) Schlüsselwörter Inf1NF 4

Lexikalische Struktur Java stark beeinflusst von C und C++ (objektorientierte Erweiterung der Sprache C) Lexikalische Struktur Menge von Regeln bestimmt, wie Programmtexte aufgebaut sein müssen Niedrigste Ebene der Sprachsyntax beschreibt u.a. Aussehen von Variablen- und Funktionsnamen Aufbau von Kommentaren Trennung von Programmanweisungen Syntax der Sprache Inf1NF 5

Groß-/Kleinschreibung Java unterscheidet stets zwischen Groß- und Kleinschreibung die Bezeichner a und A kennzeichnen unterschiedliche Dinge ebenso sind Hallo, hallo, hallo, hallo und HALLO verscheiden Vorsicht beim Programmieren, kann zu Fehlern führen. Inf1NF 6

Anweisungen und Semikola Anweisungen werden in Java immer mit einem Semikolon ; abgeschlossen, das Semikolon trennt also die einzelnen Anweisungen voneinander entspricht in etwa dem Punkt in der deutschen Sprache Anweisung: einzelne Wertzuweisung, Methodenaufruf, Schleife, Beispiel: a = 5; System.out.println("Das ist meine Ausgabe."); g = ggt(21, 35); kgv = (m * n) / ggt(m, n); Inf1NF 7

Anweisungen und Semikola Verbundanweisungen (compound statement) Folge von Anweisungen bildet einen Block, der von geschweiften Klammern { } eingeschlossen wird kein Semikolon nach der schließenden geschweiften Klammer Beispiel: if(z < 3) { kleiner = true; System.out.println("Die Zahl z ist wirklich"); System.out.println("kleiner als 3."); } Inf1NF 8

Whitespace und Zeilenumbrüche Whitespace (Zeilenumbrüche, Leerzeichen, Wagenrücklauf, Zeilenschaltung, Tabulatoren) werden von Java ignoriert. Nutzung zur optischen Gliederung des Quelltextes Beispiel preissteigerung ( inventar, inflation, lebensunterhalt, gier ); ist äquivalent zu preissteigerung ( inventar, inflation, lebensunterhalt, gier ); oder preissteigerung(inventar,inflation,lebensunterhalt,gier); Inf1NF 9

Whitespace und Zeilenumbrüche Code durch Einrückung leserlicher machen Ausrichten gleichartiger Dinge verschachtelte Anweisungen lange Ausdrücke verkettete Zeichenketten Blockstruktur zusätzlich zu geschweiften Klammern durch Einrückung kennzeichnen Verzicht auf optische Gliederung macht Programme unlesbar. Inf1NF 10

Kommentare Kommentare informieren Menschen, werden von Java ignoriert immer kommentieren: sehr Abstraktes (z.b. reguläre Ausdrücke) geniales (kurzer Code mit weitreichender Funktionalität) Code mit unerwarteten Nebenwirkungen Offensichtliches nicht kommentieren Wirkung arithmetischer Ausdrücke a = b + c; (trivial) einfache, lokal begrenzte Aktionen Inf1NF 11

Kommentare Bezeichner von Variablen, Methoden und Klassen dienen auch der Kommentierung lange, aussagekräftige Namen für Dinge mit weitreichenden Konsequenzen, z.b. anzahlbildelemente = 5; kurze Namen erhöhen Übersicht bei lokal begrenzten Aufgaben, z.b. Schleifen: for(i = 1; i < 7; i++) { System.out.println("counter: " + i); } Inf1NF 12

Kommentare Zeilenkommentare beginnen mit den Zeichen // und enden mit dem Zeilenende alle Zeichen nach den Kommentarzeichen werden von Java ignoriert Beispiel: kgv = (m * n) / ggt(m, n); // kleinstes gemeinsames Vielfaches System.out.println("kgV(" + m + ", " + n +") = " + kgv); Blockkommentare soll ein Kommentar mehrere Zeilen umfassen, muss mit Zeilenkommentaren jeden Zeile mit // beginnen Blockkommentare beginnen mit /* und enden mit */ Blockkommentare können mehrere Zeilen umfassen Beispiel: /* Diese Funktion berechnet das kleinste gemeinsame Vielfache zweier Zahlen aus deren größtem gemeinsamen Teiler, siehe: https://de.wikipedia.org/wiki/kleinstes_gemeinsames_vielfaches */ Inf1NF 13

Kommentare JavaDoc-Format erlauben automatische Generierung einer Dokumentation beginnen mit /** und enden mit */ üblicherweise beginnt jede Zeile dazwischen mit *, ist aber nicht zwingend erforderlich zunächst allgemeine Beschreibung, die auch ohne den Quellcode verstanden werden kann dann unterschiedliche Kommentarbefehle, die jeweils mit @ beginnen, z.b. @author @version Inf1NF 14

Kommentare JavaDoc-Format Beispiel /** * Dieses Programm berechnet das kleinste gemeinsame * Vielfache zweier Zahlen aus deren größtem * gemeinsamen Teiler * * @author Euklid von Alexandria * @version 1.2 */ Inf1NF 15

Literale Literale legen einen konstanten Wert fest werden vom Compiler in interne Repräsentation überführt und in Java Bytecode übernommen verschiedene Typen ganze Zahlen, z.b. 4711 oder -28 Oktalzahlen mit führender 0, z.b. 077 Hexadezimalzahlen beginnen mit 0x, z.b. 0xBE oder 0xefef Binärzahlen mit 0b, z.b. 0b1001 Gleitkommazahlen mit., z.b. 3.14159265 Exponent mit e, z.b. 6.022e23 entspricht 6,022 10 23 Wahrheitswerte, true und false einzelne Zeichen in einfachen Anführungszeichen ', z.b. 'a' Sonderzeichen, z.b. '\n', '\t', Zeichenketten in Anführungszeichen, z.b. "Hallo" Null-Literal für Referenzen, null Inf1NF 16

Bezeichner verschiedene Dinge in Programmen brauchen einen Namen, beispielsweise Variablen, Klassen und Methoden, Programmierer gibt einen Bezeichner (Namen) vor auch hierbei ist die Groß-/Kleinschreibung relevant, a ist eine andere Variable als A erlaubte Zeichen für Bezeichner Kleinbuchstaben a z Großbuchstaben A Z auch internationale Buchstabenzeichen (ä, ß, µ, カ, Ж, ) sind möglich, da Unicode unterstützt wird, sollten aber vermieden werden Ziffern 0 9 Unterstrich _ Dollarzeichen $ Bezeichner dürfen nicht mit einer Ziffer beginnen reservierte Schlüsselwörter dürfen nicht als Bezeichner verwendet werden (if, else, for, ), siehe spätere Folien Inf1NF 17

Schlüsselwörter bestimmte Wörter dürfen nicht als Bezeichner gewählt werden Literale true, false und null reservierte Wörter, Schlüsselwörter mit besonderer Bedeutung in Java Inf1NF 18

Schlüsselwörter abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while Inf1NF 19