eerste voorbeelden in Java



Vergelijkbare documenten
Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma


Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Oefenzitting Werken met Java Achtergrond BVP

Een stoomcursus door Edgar de Graaf, november 2006

X. Grafische elementen

Vakgroep CW KAHO Sint-Lieven

Programmeren in Java

Game of Life in Java

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

Java Objectgeoriënteerd ontwerpen en programmeren

IMP Uitwerking week 13

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Oefeningen Java Oplossingen

Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();

Labo 1 Programmeren II

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Zelftest Programmeren in Java

Zo vind u hierin de volgende documentatie over de klasse Applet: +----java.awt.panel java.applet.applet

voorwaardelijke en selectie opdrachten

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, uur

Modelleren en Programmeren

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

Modelleren en Programmeren

Modelleren en Programmeren

Datastructuren en algoritmen

Overerving & Polymorfisme

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Ingebouwde klassen & methodes

Robocode. Inleiding tot programmeren

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 9 november 2018, uur

Java Les 3 Theorie Herhaal structuren

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, uur

Programmeren in Java 3

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Hoofdstuk 0. Van Python tot Java.

Imperatief Programmeren, derde deeltentamen (INFOIMP) 4 november 2005

Modulewijzer Tirdat01

BEGINNER JAVA Inhoudsopgave

Modelleren en Programmeren

Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

Door ir. Christine Daniels

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur

Wat is een grafische gebruikersinterface (GUI)?

Zelftest Java concepten

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Modelleren en Programmeren

Objectgericht programmeren 1.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Programmeren in Java les 3

PROS1E1 Handleiding ( ) Kf/Dd/Bd

Inhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97

Programmeren: Visual Basic

Informatica: C# WPO 12

WELKOM BIJ UNICODING PROCESSING. Unicoding 1. Handleiding docent LES 1 DEEL A: Vormen, coördinaten en kleuren

Informatica: C# WPO 13

Labo 2 Programmeren II

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Inleiding programmeren

JavaLogo-programma s op het web plaatsen

Kleine cursus PHP5. Auteur: Raymond Moesker

import java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println("Hallo!

Modelleren en Programmeren

Werken met JCreator en JavaLogo

Opdracht 7a. Applicatiebouw 2014/2015

sheets Programmeren 2 Java Recursie, de muis en graphics Walter Kosters

Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A

Werkomgeving. Android Studio. Android - werkomgeving 1/6

Voor het bepalen van de getalswaarde van een string is een standaardmethode beschikbaar: n = Integer.parseInt(s);

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

Modelleren en Programmeren

Activity. Bij het starten van een app: Operating system maakt een Activity -object aan. en neemt dat onderhanden met de methode OnCreate( )

Opdrachten herhalen. public void tekenscherm (object o, PEA pea) { int x; x = 1; zolang de voorwaarde geldig is

Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld

Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing

Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Programmeren I. 26 augustus Algemene Richtlijnen. Richtlijnen Programmeren 1

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Dynamisch Programmeren. Het Rugzakprobleem

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF Reken om naar EURO---

Lab Webdesign: Javascript 11 februari 2008

Inleiding C++ Coding Conventions

Numerieke benadering van vierkantwortels

Beschrijving JabberPoint met inwerkopdracht (versie 1.6)

Transcriptie:

Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele Machine (JVM): voert de bytecode uit twee mogelijkheden: een geïntegreerde ontwikkelomgeving vbn: Kawa, Code-warrior, JCreator,.. pakket van losse onderdelen van Sun: Java Development Kit (JDK), dat de Java compiler en JVM bevat aan te vullen met een willekeurige eenvoudige editor 1 2 voorbeeld 1 Eenvoudige werkwijze: corrigeren foutmeldingen editor intikken bronprogramma vertalen (compileren) Xxxxx.java compiler class Groet // begroeting van de gebruiker System.out.println ("Welkom in de cursus Beginselen van Programmeren!"); doelprogramma (in byte-code) Xxxxx.class bibliotheek intikken in editor bewaren als Groet.java conventie: elke klassenaam begint met een hoofdletter uitvoeren (vertolken) JVM 3 4 1

vertalen van programma: in de juiste directory: javac Groet.java resultaat: indien geen syntactische fouten: een bytecode versie met naam Groet.class indien wel syntactische fouten: foutmeldingen dan: opnieuw naar editor, fouten verbeteren en terug bewaren illustratie uitvoeren van programma: in juiste directory: java Groet resultaat: een tekst verschijnt op het scherm: Welkom bij de cursus Beginselen van Programmeren varianten: Groet1 Groet2 5 6 voorbeeld 2 1 met veel commentaar /****************************************************************** // een eenvoudig programma dat een tekst toont //****************************************************************** class Groet1 // begroeting van de gebruiker System.out.print ("Welkom in de cursus "); System.out.println ("Beginselen van Programmeren!"); // som van de natuurlijke getallen van 1 tot 10 public class Sommeren int i = 1; // declaratie en intialisatie van een gehele // variabele i int som = 0; // declaratie en initialisatie van de gehele // variabele som /****************************************************************** // een eenvoudig programma dat een tekst toont //****************************************************************** class Groet2 // begroeting van de gebruiker System.out.println ("Welkom in de cursus "); System.out.println ("Beginselen van Programmeren!"); 7 while (i <= 10) // herhaal zolang i niet groter is dan 10 som += i; // tel waarde van i bij de som i++; // verhoog waarde van i met 1 System.out.println("de som bedraagt: " + som); // toon resultaat 8 2

voorbeeld 2 2 met minder commentaar // som van de natuurlijke getallen van 1 tot 10 public class Sommeren int i = 1; int som = 0; while (i <= 10) som += i; i++; System.out.println("de som bedraagt: " + som); vertalen: javac Sommeren.java uitvoeren: java Sommeren resultaat (de uitvoer): de som bedraagt: 55 9 10 voorbeeld 3 // kwadraten van de natuurlijke getallen van 1 tot 9 public class Kwadraten int i = 1; // declaratie en intialisatie van een gehele variabele while (i < 10) // herhaal zolang i kleiner is dan 10 System.out.print(i + " "); // schrijf waarde van i en een // spatie System.out.println(i*i); // gevolgd door het kwadraat i = i + 1; // verhoog waarde van i met 1 vertalen: javac Kwadraten.java uitvoeren: java Kwadraten resultaat (de uitvoer): 1 1 2 4 3 9 4 16 5 25 6 36 7 49 8 64 9 81 11 12 3

Voorbeeld 4: twee getallen inlezen en optellen In- en uitvoer in een dialoogbox import java.util.*; public class FirstProgram System.out.println("Dag."); System.out.println ("Ik zal twee gehele getallen voor je optellen."); System.out.println("Geef twee gehele getallen op een regel:"); int n1, n2; Scanner toetsenbord = new Scanner(System.in); n1 = toetsenbord.nextint( ); n2 = toetsenbord.nextint( ); System.out.println("De som van die twee getallen bedraagt"); System.out.println(n1 + n2); 13 alternatief voor tekstregels: een venster met een invulveld: dialoogbox. Gebruik van voorgedefinieerde klassen: gegroepeerd in categorieën van verwante klassen: pakketten. De verzameling van deze pakketten: = Java klassebibliotheek (Eng. Java class library) = Java applicaties programmeer interface (Eng. Java applications programming interface Java API) verdeeld over kernpakketten en uitbreidingspakketten. De namen van de pakketten beginnen met java voor de kernpakketten of javax voor de uitbreidingspakketten. Heel wat van de kernpakketten zijn opgenomen in de Java Software Development Kit. Gebruik van een pakket en klassen dat niet in de JSDK opgenomen zijn: aangeven dat je een pakket of een klasse wil gebruiken door middel van een import opdracht. 14 voorbeeld 5 In voorbeeldprogramma de klasse JOptionPane uit het pakket javax.swing. dit pakket bevat veel klassen die het mogelijk maken om grafische gebruikersinterfaces te definiëren. klasse JoptionPane zorgt voor voorgedefinieerde dialoogboxen waarmee berichten voor de gebruiker kunnen worden getoond. methode showmessagedialog vereist twee argumenten, opgesomd tussen haakjes, gescheiden door een komma. eerste argument: null waardoor de dialoogbox in het centrum van het scherm zal verschijnen. tweede argument: de te tonen tekst tussen aanhalingtekens. methode showmessagedialog moet aangeroepen worden door haar naam vooraf te laten gaan door de naam van de klasse en een punt. getoonde dialoogbox heeft een titelstrook met daarin waarin het woord Message. heeft een OK-knop; die laat de gebruiker toe om de dialoogbox te doen verdwijnen, door met de muis op die knop te klikken. // Groet3.java // Uitvoer in een dialoogbox import javax.swing.joptionpane; // importeer klasse JOptionPane public class Groet3 public static void main( String[] args ) JOptionPane.showMessageDialog ( null, "Welkom in de cursus Programmeren!" ); 15 16 4

uitvoer: Voorbeeld 6: een grafische applet import javax.swing.*; import java.awt.*; public class HappyFace extends JApplet public void paint(graphics kader) kader.drawoval(100, 50, 200, 200); kader.filloval(155, 100, 10, 20); kader.filloval(230, 100, 10, 20); kader.drawarc(150, 160, 100, 50, 180, 180); 17 18 voorbeeld van een grafische applet grootte en positie van figuren paint methode: geeft aan wat getekend wordt in de applet. wordt automatisch aangeroepen wanneer deze applet wordt uitgevoerd. Cirkels en ellipsen tekenen: drawoval methode: tekent enkel de omtreklijn van de ellips kader.drawoval(100, 50, 90, 50); filloval methode: tekent een gevulde ellips. kader.filloval(155, 100, 10, 20); beide methodes hebben vier argumenten:. eerste twee argumenten: linker bovenhoek van omgeschreven rechthoek derde en vierde argument: breedte en hoogte van de ellips een cirkel is een ellips waabij breedte = hoogte 19 grootte en positie: aangegeven in pixels. schermcoördinaten: 20 5

bogen tekenen bogen tekenen dedrawarc methode tekent een boog drawarc(100, 50, 200, 200, 180, 180); dedrawarc methode heeft zes argumenten de eerste vier argumenten: dezelfde als de vier argumenten voor dedrawoval methode de laatste twee argumenten: Geven aan waar de boog start en het aantal graden waarover de boog verloopt 0 graden is horizontaal naar rechts 21 22 bogen tekenen een Applet laten uitvoeren er zijn twee manieren om een applet te laten starten: veranker een applet in een html document en laat het uitvoeren gebruik een applet viewer er zijn twee overeenkomstige manieren om een applet te beëindigen: indien je een applet van een html document laat uitvoeren, sluit dat html document (of navigeer weg van de pagina) indien je een applet viewer gebruikt, klik op de sluit-venster knop 23 24 6

fouten soorten fouten (naargelang van moment van ontdekken) : compilatiefouten: ontdekt bij compilatie meestal syntactische fouten verbeteren door terug te keren naar editor uitvoeringsfouten: ontdekt tijdens interpretatie en uitvoering; uitvoering stopt kunnen van verschillende oorsprong zijn verbeteren door terug te keren naar vorige stappen foutieve resultaten: slechts ontdekt bij uitvoering / bij testen meestal logische fouten (fouten in de redenering, in de opbouw van het programma) verbeteren door terug te keren naar programma-ontwerp niet ontdekte fouten: blijven onbekend, en kunnen onverwacht foutieve resultaten of uitvoeringsfouten opleveren kunnen tot catastrofes leiden! 25 7