De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

JAVA1 Hoofdstuk 2: Inleiding tot Java Applicaties.

Verwante presentaties


Presentatie over: "JAVA1 Hoofdstuk 2: Inleiding tot Java Applicaties."— Transcript van de presentatie:

1 JAVA1 Hoofdstuk 2: Inleiding tot Java Applicaties

2 JAVA2 2.1 Inleiding In dit hoofdstuk Voorbeelden om enkele kenmerken van Java te illustreren Twee programma vormen : applicaties en applets

3 JAVA3 2.2Eerste Java-programma: Een zin afdrukken Welcome to Java Programming! Gewenste programma uitvoer :

4 JAVA4 1 // Fig. 2.1: Welcome1.java 2 // Een eerste programma in Java. 3 4 public class Welcome1 5 { 6 // main methode begint de uitvoering van Java applicatie 7 public static void main( String args[] ) 8 { 9 System.out.println( "Welcome to Java Programming!" ); 10 11 } // einde methode main 12 13 } // einde klasse Welcome1

5 JAVA5 Commentaar (lijn 1 en 2) Beschrijft stukken code Verhoogt de leesbaarheid van programma Wordt door de Java-compiler genegeerd 3 soorten : Eén-lijn commentaar : //... Commentaar die uit meerdere lijnen bestaat : /*... */ Document commentaar : /**... */ 1 // Fig. 2.1: Welcome1.java 2 // Een eerste programma in Java.

6 JAVA6 Blanco regel (lijn 3) Zorgt voor de leesbaarheid van programma Witregels, spaties en tabs = “wit-ruimte” karakters, door de compiler genegeerd 3

7 JAVA7 1 // Fig. 2.1: Welcome1.java 2 // Een eerste programma in Java. 3 4 public class Welcome1 5 { 6 // main methode begint de uitvoering van Java applicatie 7 public static void main( String args[] ) 8 { 9 System.out.println( "Welcome to Java Programming!" ); 10 11 } // einde methode main 12 13 } // einde klasse Welcome1

8 JAVA8 Klasse definitie (lijn 4) Ieder Java programma => minstens één klasse door de programmeur gedefinieerd (= user-defined class) Keyword= sleutelwoord, heeft een speciale betekenis in Java class gevolgd door naam van klasse (= identifier) Afspraak : Naam klasse begint altijd met een hoofdletter. Alsook elk woord in de klasse- naam. Vb.: VoorbeeldKlasseNaam 4 public class Welcome1

9 JAVA9 Identifier Rij karakters bestaande uit letters, cijfers, underscores (_) en dollartekens ( $ ) Begint nooit met een cijfer, heeft geen spaties Voorbeelden: Welcome1, $value, value, button7 7button is ongeldig Java is case sensitive (hoofdletter-gevoelig) a1  A1 public sleutelwoord Wordt later besproken 4 public class Welcome1

10 JAVA10 Linkerhaakje (lijn 5) Blokken vormen Rechterhaakje sluit het blok (lijn 13) 4 public class Welcome1 5 { … 13 } // einde klasse Welcome1

11 JAVA11 1 // Fig. 2.1: Welcome1.java 2 // Een eerste programma in Java. 3 4 public class Welcome1 5 { 6 // main methode begint de uitvoering van Java applicatie 7 public static void main( String args[] ) 8 { 9 System.out.println( "Welcome to Java Programming!" ); 10 11 } // einde methode main 12 13 } // einde klasse Welcome1

12 JAVA12 Onderdeel van elke Java applicatie (7) Applicaties starten met de uitvoering van main main is een methode Java applicaties bevatten één of meerdere methodes Juist één methode moet main genoemd worden Methodes verrichten taken en kunnen informatie teruggeven void betekent geen teruggeef-informatie 7 public static void main( String args[] )

13 JAVA13 In body : instructies System.out Standard output object Drukt af in command window(MS-DOS prompt) Methode System.out.println Toont een zin Argument tussen haakjes instructies=statements Statements worden afgesloten met ; 8 { 9 System.out.println( "Welcome to Java Programming!" ); 10 11 } // einde methode main Linkerhaakje = begin body main Afgesloten door rechterhaakje } (lijn 11)

14 JAVA14 2.2.1Compilatie en uitvoering van Java Applicatie Bewaren Bestandsnaam = klassenaam.java Vb. : Welcome1.java javac Welcome1.java (compiler)  Welcome1.class (=uw applicatie, bestaande uit bytecodes) java Welcome1 (interpreter)  uitvoering van applicatie

15 JAVA15 2.3Eerste Java programma wijzigen. Eén zin afdrukken met meerdere statements Meerdere zinnen afdrukken met één enkel statement

16 JAVA16 2.3.1 Eén zin met meerdere statements 9 System.out.print( "Welcome to " ); 10 System.out.println( "Java Programming!" ); Welcome to Java Programming!

17 JAVA17 2.3.2Meerdere zinnen met éé n enkel statement Newline karakter (\n) “Speciale tekens” bij methodes System.out.print en s ystem.out.println new line = harde return 9 System.out.println ( "Welcome\nto\nJava\nProgramming!" ); Welcome to Java Programming!

18 JAVA18 Escape characters Backslash ( \ ) Speciale karakters die output vormgeven Voorbeelden : \n \t \r \\ \”

19 JAVA19 2.4Tekst in een Dialog Box tonen Weergave Meeste Java applicaties gebruiken vensters of een dialog box We gebruikten het command venster De klasse JOptionPane laat ons het gebruik van dialog boxes toe

20 JAVA20 Packages Verzameling van voorgedefinieerde klassen Groepen gerelateerde klassen = packages Verzameling van alle packages = Java class library of Java applications programming interface (Java API) JOptionPane zit in javax.swing package Deze package bevat klassen om Grafische User Interfaces (GUIs) te gebruiken

21 JAVA21 1 // Fig. 2.6: Welcome4.java 2 // Meerdere lijnen in een dialog boxafdrukken 3 4 // Java extension packages 5 import javax.swing.JOptionPane; // importeert klasse JOptionPane 6 7 public class Welcome4 8 { 9 // main methode start de uitvoering van Java applicatie 10 public static void main( String args[] ) 11 { 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); 14 15 System.exit( 0 ); // be ë indigt de applicatie 16 17 } // einde methode main 18 19 } // einde klasse Welcome4

22 JAVA22 Twee groepen packages in Java API Core (=kern) packages Beginnen met java Zitten in Java 2 Software Development Kit Extension (=uitbreidings) packages Beginnen met javax Nieuwe Java packages Zitten in Java 2 Software Development Kit 4 // Java extension packages 5 import javax.swing.JOptionPane;

23 JAVA23 import statements Laten de compiler toe de gebruikte klassen in een programma te identificeren en te localiseren In ons vb. : import statement vertelt de compiler om de klasse JOptionPane uit de javax.swing package te laden 4 // Java extension packages 5 import javax.swing.JOptionPane;

24 JAVA24 1 // Fig. 2.6: Welcome4.java 2 // Meerdere lijnen in een dialog boxafdrukken 3 4 // Java extension packages 5 import javax.swing.JOptionPane; // importeert klasse JOptionPane 6 7 public class Welcome4 8 { 9 // main methode start de uitvoering van Java applicatie 10 public static void main( String args[] ) 11 { 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" ); 14 15 System.exit( 0 ); // be ë indigt de applicatie 16 17 } // einde methode main 18 19 } // einde klasse Welcome4

25 JAVA25 Aanroep methode showMessageDialog van de klasse JOptionPane Twee argumenten Meerdere argumenten scheiden met komma’s Nu is eerste argument altijd null Tweede argument is string die wordt getoond showMessageDialog is een static methode van de klasse JOptionPane static methodes aanroepen via : klasse-naam. methode-naam 12 JOptionPane.showMessageDialog( 13 null, "Welcome\nto\nJava\nProgramming!" );

26 JAVA26 Aanroep static method exit van de klasse System Stopt de applicatie Gebruiken in elke applicatie die een GUI toont 0-argument = applicatie is correct geëindigd Niet-nul = meestal heeft zich een fout voorgedaan Klasse System deel van package java.lang Geen import statement nodig java.lang automatisch geïmporteerd in elk Java programma 15 System.exit( 0 ); // beëindigt de applicatie

27 JAVA27 2.5Andere Java Applicatie: Optellen van gehele getallen Programma Gebruikt input dialogs om twee waarden aan de gebruiker te vragen Gebruikt message dialog om de som van de twee waarden te tonen

28 JAVA28 1 // Fig. 2.9: Addition.java 2 // Een bijkomend programma. 3 4 // Java extension packages 5 import javax.swing.JOptionPane; // importeert klasse JOptionPane 6 7 public class Addition 8 { 9 // main methode start de uitvoering van Java applicatie 10 public static void main( String args[] ) 11 { 12 String firstNumber; // eerste string ingegeven door gebruiker 13 String secondNumber; // tweede string ingegeven door gebruiker 14 int number1; // eerste getal om op te tellen 15 int number2; // tweede getal om op te tellen 16 int sum; // som van number1 en number2 17

29 JAVA29 Variabelen Geheugenlocatie waarin een waarde wordt gestockeerd Heeft een naam en is van een bepaald datatype firstNumber en secondNumber zijn van data type String (package java.lang ) bevat strings Naam van variabele = willekeurige identifier Declaraties eindigen met ; Mogelijk meerdere variabelen van hetzelfde type tegelijkertijd te declareren Voeg commentaar toe om het doel van variabelen te beschrijven 12 String firstNumber; // eerste string ingegeven door gebruiker 13 String secondNumber; // tweede string ingegeven door gebruiker 14 int number1; // eerste getal om op te tellen

30 JAVA30 Variabelen van het type int int bevat gehele getallen : 0, -4, 97 Data types float en double kunnen decimalen stockeren Data type char bevat één enkel karakter: x, $, \n, 7 Primitieve data types - later in hoofdstuk 4 14 int number1; // eerste getal om op te tellen 15 int number2; // tweede getal om op te tellen 16 int sum; // som van number1 en number2

31 JAVA31 18 // lees eerste getal van gebruiker in als een String 19 firstNumber = 20 JOptionPane.showInputDialog( "Enter first integer" ); 21 22 // lees tweede getal van gebruiker in als een String 23 secondNumber = 24 JOptionPane.showInputDialog( "Enter second integer" ); 25 // som van number1 en number2

32 JAVA32 Inleesresultaat van showInputDialog toekennen aan firstNumber Toekenningsstatement = binaire operator - heeft twee operanden Rechterlid wordt geëvalueerd en toegekend aan variabele in het linkerlid Lees als: firstNumber krijgt de waarde van JOptionPane.showInputDialog( "Enter first integer" ) Methode J OptionPane.showInputDialog toont de dialoogbox en leest een string in Bij ingave van een verkeerd type van data (niet- integer) of bij klikken op Cancel, zal er zich een fout voordoen

33 JAVA33 26 // converteer getallen van type String naar het type int 27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber ); 29 30 // Sommeer de getallen 31 sum = number1 + number2; 32

34 JAVA34 Methode Integer.parseInt Converteert String argument in een integer (type int ) Klasse Integer in java.lang int teruggegeven door Integer.parseInt, wordt toegekend aan de variabele number1 (line 27) Herinner u dat number1 als int werd gedeclareerd Lijn 28 idem 27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber );

35 JAVA35 Toekenningsstatement Berekent de som van number1 en number2 (rechterzijde) Gebruikt de toekenningsoperator = om het resultaat in de variabele sum te stoppen Lees als: sum krijgt de waarde van number1 + number2 number1 en number2 zijn operanden 31 sum = number1 + number2;

36 JAVA36 Visuele presentatie sum = 0; number1 = 1; number2 = 2; sum = number1 + number2; na uitvoering van statement sum 0 3 31 sum = number1 + number2;

37 JAVA37 33 // toon de resultaten 34 JOptionPane.showMessageDialog( 35 null, "The sum is " + sum, "Results", 36 JOptionPane.PLAIN_MESSAGE ); 37 38 System.exit( 0 ); // beëindigt de applicatie 39 40 } // einde methode main 41 42 } // eind klasse Addition

38 JAVA38 showMessageDialog om resultaten te tonen "The sum is " + sum Samenvoeging van een String en een ander data type Dit resulteert in een nieuwe string Als sum 117 bevat, dan resulteert "The sum is " + sum in een nieuwe string "The sum is 117” Meer over strings in hoofdstuk 10 34 JOptionPane.showMessageDialog( 35 null, "The sum is " + sum, "Results", 36 JOptionPane.PLAIN_MESSAGE );

39 JAVA39 Andere versie van showMessageDialog Eist vier argumenten (in plaats van twee) Eerste argument: null Tweede: weer te geven string Derde: string in titelbar Vierde: type van bericht met icoon Lijn 36 geen icoon: JoptionPane.PLAIN_MESSAGE 34 JOptionPane.showMessageDialog( 35 null, "The sum is " + sum, "Results", 36 JOptionPane.PLAIN_MESSAGE );

40 JAVA40

41 JAVA41 2.7 Rekenkundige bewerkingen Gebruik * voor vermenigvuldiging / voor deling +, - Geen operator voor exponent (zie hoofdstuk 5) Integer deling kapt quotiënt af 7 / 5 => 1 Rest-operator % 7 % 5 => 2

42 JAVA42 Prioriteitsregels Haakjes ( ) *, /, % +, - Bij gelijke prioriteit => regels van de associativiteit (van L naar R)

43 JAVA43 2.8Beslissingen: Relationele operatoren if controlestructuur if (voorwaarde) body_voorwaarde_geldig => als de voorwaarde geldt (= true), dan wordt de body van het if statement uitgevoerd Voorwaarden kunnen geformuleerd worden met relationele operatoren en/of gelijkheidsoperatoren

44 JAVA44 Operator In Java == =exact gelijk  !=verschillend >>groter dan <<kleiner dan  >=groter dan of gelijk aan  <=kleiner dan of gelijk aan

45 JAVA45 1 // Fig. 2.20: Comparison.java 2 // Vergelijk integers gebruikmakend van if structuur, relationele operatoren 3 // en gelijkheidsoperatoren. 4 5 // Java extension packages 6 import javax.swing.JOptionPane; 7 8 public class Comparison { 9 10 // main method start de uitvoering van Java applicatie 11 public static void main( String args[] ) 12 { 13 String firstNumber; // eerste string ingegeven door gebruiker 14 String secondNumber; // tweede string ingegeven door gebruiker 15 String result; // een string die de uitvoer bevat 16 int number1; // eerste getal om te vergelijken 17 int number2; // tweede getal om te vergelijken 18

46 JAVA46 19 // lees eerste getal van gebruiker in als een string 20 firstNumber = 21 JOptionPane.showInputDialog( "Enter first integer:" ); 22 23 // lees tweede getal van gebruiker in als een string 24 secondNumber = 25 JOptionPane.showInputDialog( "Enter second integer:" ); 26 27 // converteer getallen van type String naar het type int 28 number1 = Integer.parseInt( firstNumber ); 29 number2 = Integer.parseInt( secondNumber ); 30 31 // initialiseer het resultaat als een lege String 32 result = ""; 33

47 JAVA47 34 if ( number1 == number2 ) 35 result = number1 + " == " + number2; 36 37 if ( number1 != number2 ) 38 result = number1 + " != " + number2; 39 40 if ( number1 < number2 ) 41 result = result + "\n" + number1 + " < " + number2; 42 43 if ( number1 > number2 ) 44 result = result + "\n" + number1 + " > " + number2; 45 46 if ( number1 <= number2 ) 47 result = result + "\n" + number1 + " <= " + number2; 48 49 if ( number1 >= number2 ) 50 result = result + "\n" + number1 + " >= " + number2; 51 34 if ( number1 == number2 ) 35 result = number1 + " == " + number2; 36 37 if ( number1 != number2 ) 38 result = number1 + " != " + number2; 39 40 if ( number1 < number2 ) 41 result = result + "\n" + number1 + " < " + number2; 42 43 if ( number1 > number2 ) 44 result = result + "\n" + number1 + " > " + number2; 45 46 if ( number1 <= number2 ) 47 result = result + "\n" + number1 + " <= " + number2; 48 49 if ( number1 >= number2 ) 50 result = result + "\n" + number1 + " >= " + number2; 51

48 JAVA48 if structuur om te testen op gelijkheid ( = = ) Als de conditie waar (true) is Rechterlid wordt eerst geëvalueerd, nieuwe string wordt toegekend aan result result = concatenatie variabelen + operator result = result + andere strings Als de conditie onwaar (false) is, dan wordt statement overgeslagen 34 if ( number1 == number2 ) 35 result = number1 + " == " + number2; 37 if ( number1 != number2 ) 38 result = number1 + " != " + number2; 40 if ( number1 < number2 ) 41 result = result + "\n" + number1 + " < " + number2;

49 JAVA49 52 // Toon resultaten 53 JOptionPane.showMessageDialog( 54 null, result, "Comparison Results", 55 JOptionPane.INFORMATION_MESSAGE ); 56 57 System.exit( 0 ); // be ë indigt de applicatie 58 59 } // einde methode main 60 61 } // einde klasse Comparison

50 JAVA50 Prioriteitsregels ( ) *, /, % +, -, >= ==, != = Bij gelijke prioriteit => alle operatoren worden verbonden van links naar rechts, behalve = (assignment) x = y = z => x = (y = z)

51 JAVA51 Oefeningen Hoofdstuk 2

52 JAVA52 Geldige identifiers? Bill main Sue’s start begin xyz123 123xyz int y=2 prog#2 DitIsGoed dit_is_ook_goed zonne-kant $

53 JAVA53 Welke uitvoer krijgen we? System.out.println( ” getal1+getal2" ); System.out.println( getal1 + getal2 ); met in beide gevallen getal1=21 en getal2=43

54 JAVA54 Hoe krijg je volgende zinnen op het scherm? Open de map C:\Mijn Documenten Volg de pijl “Omleiding” Het boek voor Java is dat van Deitel. Engelstalig

55 JAVA55 Bepaal resultaat : 2+3*4= (2+3)*4= 6*3/2*4= 6*3/(2*4)= 6*(8%(2*3))= 17/8+9%5-3*2= 17/(8+9)%(5-3)*2= 12/(2*8%4)= 20*17/8%4=

56 JAVA56 Schrijf een programma dat 2 getallen met elkaar vermenigvuldigt. Laat de gebruiker hierbij de waarden ingeven. Vraag 2 getallen in en geef het grootste terug op het scherm. Vraag het maandsalaris in en bereken het jaarsalaris (zonder vakantiegeld) en het vakantiegeld (=8% vh jaarsalaris)

57 JAVA57 Oplossingen Hoofdstuk 2

58 JAVA58 Welke uitvoer krijgen we? getal1+getal2 64 System.out.println( ” getal1+getal2" ); System.out.println( getal1 + getal2 ); met in beide gevallen getal1=21 en getal2=43

59 JAVA59 Hoe krijg je volgende zinnen op het scherm? Open de map C:\Mijn Documenten System.out.println( "Open de map C:\\Mijn Documenten" ); Volg de pijl “Omleiding” System.out.println( "Volg de pijl \"Omleiding\""); Het boek voor Java is dat van Deitel. Engelstalig System.out.println( "Het boek voor\tJava\nis dat van\tDeitel.\nEngelstalig");

60 JAVA60 Bepaal resultaat : 2+3*4 = 2 + 12 = 14 (2+3)*4 = 5 * 4 = 20 6*3/2*4 = 18/2*4 = 9*4 = 36 6*3/(2*4) = 6*3/8 = 18/8 = 2 6*(8%(2*3)) = 6 * (8%6) = 6*2 = 12

61 JAVA61 Bepaal resultaat : 17/8+9%5-3*2 = 2+9%5-3*2 = 2+4-3*2 = 2+4-6 = 6-6 = 0 17/(8+9)%(5-3)*2 = 17/17%(5-3)*2 = 17/17%2*2 = 1%2*2 = 1*2 = 2 12/(2*8%4) = 12/(16%4) = 12/(0)  fout: deling door nul 20*17/8%4 = 340/8%4 = 42%4 = 2

62 JAVA62 Schrijf een programma dat 2 getallen met elkaar vermenigvuldigt. Laat de gebruiker hierbij de waarden ingeven.

63 JAVA63 // Oefening 1. // vermenigvuldiging van twee getallen // Java extension packages import javax.swing.JOptionPane; // importeert klasse JOptionPane public class Oefening { // main methode start de uitvoering van Java applicatie public static void main( String args[] ) { String firstNumber; // eerste string ingegeven door gebruiker String secondNumber; // tweede string ingegeven door gebruiker int number1; // eerste getal om te vermenigvuldigen int number2; // tweede getal om te vermenigvuldigen int verm; // vermenigvuldiging van number1 en number2

64 JAVA64 // lees eerste getal van gebruiker in als een String firstNumber = JOptionPane.showInputDialog( "Geef eerste getal" ); // lees tweede getal van gebruiker in als een String secondNumber = JOptionPane.showInputDialog( "Geef tweede getal" ); // converteer getallen van type String naar het type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); // Vermenigvuldig de getallen verm = number1 * number2;

65 JAVA65 // toon de resultaten JOptionPane.showMessageDialog( null, "De vermenigvuldiging is " + verm, "Resultaat", JOptionPane.PLAIN_MESSAGE ); System.exit( 0 ); // beëindigt de applicatie } // einde methode main } // eind klasse Oefening

66 JAVA66 Vraag 2 getallen in en geef het grootste terug op het scherm.

67 JAVA67 // Oefening 2. // het grootste getal bepalen // Java extension packages import javax.swing.JOptionPane; // importeert klasse JOptionPane public class Oefening { // main methode start de uitvoering van Java applicatie public static void main( String args[] ) { String firstNumber; // eerste string ingegeven door gebruiker String secondNumber; // tweede string ingegeven door gebruiker String result; // een string die de uitvoer bevat int number1; // eerste getal om te vergelijken int number2; // tweede getal om te vergelijken

68 JAVA68 // lees eerste getal van gebruiker in als een String firstNumber = JOptionPane.showInputDialog( "Geef eerste getal" ); // lees tweede getal van gebruiker in als een String secondNumber = JOptionPane.showInputDialog( "Geef tweede getal" ); // converteer getallen van type String naar het type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); // initialiseer het resultaat als een lege String result = "grootste getal : ";

69 JAVA69 if ( number1 > number2 ) result = result + number1; if ( number1 < number2 ) result = result + number2; // Toon resultaat JOptionPane.showMessageDialog( null, result, "Resultaat", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // beëindigt de applicatie } // einde methode main } // eind klasse Addition

70 JAVA70 Vraag het maandsalaris in en bereken het jaarsalaris (zonder vakantiegeld) en het vakantiegeld (=8% vh jaarsalaris)

71 JAVA71 // Oefening 3. // jaarsalaris en vakantiegeld // Java extension packages import javax.swing.JOptionPane; // importeert klasse JOptionPane public class Oefening { // main methode start de uitvoering van Java applicatie public static void main( String args[] ) { String firstNumber; // eerste string ingegeven door gebruiker String result; // een string die de uitvoer bevat int maandsalaris; // maandsalaris int jaarsalaris; // jaarsalaris int vakantiegeld; // vakantiegeld

72 JAVA72 // lees eerste getal van gebruiker in als een String firstNumber = JOptionPane.showInputDialog( "Geef maandsalaris" ); // converteer getal van type String naar het type int maandsalaris = Integer.parseInt( firstNumber ); jaarsalaris = maandsalaris * 12; result = "jaarsalaris = " + jaarsalaris; vakantiegeld = jaarsalaris * 8 / 100; result = result + "\nvakantiegeld = " + vakantiegeld;

73 JAVA73 // Toon resultaten JOptionPane.showMessageDialog(null, result, "Resultaat", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // beëindigt de applicatie } // einde methode main } // eind klasse Addition


Download ppt "JAVA1 Hoofdstuk 2: Inleiding tot Java Applicaties."

Verwante presentaties


Ads door Google