1 / 42

Alice in Action with Java

Alice in Action with Java. Chapter 7 From Alice to Java. Objectives. Write some first Java programs Learn the basics of the development process for Java programs Begin making the transition from Alice to Java. From Alice to Java. Benefits of program development using Alice

saxon
Download Presentation

Alice in Action with Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alice in Action with Java Chapter 7 From Alice to Java

  2. Objectives • Write some first Java programs • Learn the basics of the development process for Java programs • Begin making the transition from Alice to Java Alice in Action with Java

  3. From Alice to Java • Benefits of program development using Alice • 3D graphics let you visualize programming concepts • Drag-and-drop coding reduces syntax errors • Benefits of program development using Java • Build reusable classes • Run Java programs across various platforms • Build applets to make Web pages interactive Alice in Action with Java

  4. Program Development • The four steps of computer programming • 1. Designing the program • 2. Writing the program • 3. Running the program • 4. Testing the program Alice in Action with Java

  5. Program development using Alice • Step 1: Write user stories and construct storyboards • Step 2: Add objects to world, animate with messages • Step 3: Press the Play button • Step 4: Scrutinize a number of executions Alice in Action with Java

  6. Designing a First Java Program • Use many techniques learned in Alice • First step: write a user story to help setup structure • User story for dollars-to-euros currency conversion • Query user for dollar amount to convert to euros • Read the dollar amount from the user • Query user for euros-per-dollar exchange rate • Read euros-per-dollar exchange rate • Compute corresponding number of euros • Display dollar and (computed euros values) Alice in Action with Java

  7. The Object List • Review: class is blueprint for an object • Procedure for isolating objects in the user story • Identify the noun phrases (primary object indicators) • Create a table listing nouns, values stored, and names • The name should also be a noun (or noun phrase) • The name should be descriptive • If no Java type matches the value, define a class • Naming convention • Class: capitalize each word in the name • Variable or method: capitalize each word except first Alice in Action with Java

  8. The Object List (continued) Alice in Action with Java

  9. The Operations List • Operations correspond to verb phrases in user story • Procedure for isolating verbs in the user story • Identify the verb phrases (primary operation indicators) • Create a table listing verbs and matching operations • There are five verb phrases in the user story Alice in Action with Java

  10. The Operations List (continued) Alice in Action with Java

  11. The Algorithm • Algorithm: sequence of steps that solve a problem • Algorithm for converting dollars to euros • 1. Display "How many dollars do you want to convert?" • 2. Read dollars • 3. Display "What is the euros-per-dollar exchange rate?" • 4. Read eurosPerDollar • 5. Compute euros = dollars * eurosPerDollar • 6. Display dollars and euros, plus descriptive labels Alice in Action with Java

  12. Writing a First Java Program • Integrated development environment (IDE) • Program editor • Compiler • Run-time environment • Debugger • Some features of the Alice IDE • World window, object tree, editing area,Playbutton • We are going to learn to develop programs using command line tools • BlueJ is a simple-to-use IDE for Java Alice in Action with Java

  13. Java Programming Process • Use a text editor to create a file containing the program code • vim MyFirstProgram.java • Compile the program • javac MyFirstProgram • Run the program • java MyFirstProgram Alice in Action with Java

  14. Java Basics • Strategy: compare the first program to the algorithm • References • Algorithm developed in Section 7.1 • DollarsToEurosConverter.java in Figure 7-20 Alice in Action with Java

  15. DollarsToEurosConverter import java.util.Scanner; /** DollarsToEurosConverter converts dollars to euros @author Joel Adams */ public class DollarsToEurosConverter { public static void main( String [] args) { System.out.print( "How many dollars? "); Scanner keyboard = new Scanner( System.in); double dollars = keyboard.nextDouble(); System.out.print( "How many euros per dollar? "); double eurosPerDollar = keyboard.nextDouble(); double euros = dollars * eurosPerDollar; System.out.printf( "%.2f dollars => %.2f euros\n", dollars, euros); } } Alice in Action with Java

  16. Import Statements and Packages • Package: group of related, predefined classes • Example: Scanner class is in java.util package • Access packaged classes with an import statement • Place import statements before class declaration • Example: import java.util.Scanner; • Wild-card import statement • Used to import all of the classes in a package • Example: import java.util.*; • java.lang contains commonly used classes • Automatically imported into a program Alice in Action with Java

  17. Comments • Comments: explanatory remarks • Comments are ignored by the Java compiler • Three different kinds of comments • Inline: begins comment with // and ends at line’s end • Block (C-style): begins with /* and ends with */ • Javadoc: begins with /** and ends with */ • Opening comments of converter are Javadoc type • Every class should have an opening comment • Place it just above the "public class …" • In general, add comments to improve readability Alice in Action with Java

  18. The Simplest Java Program • Consists of a class and an empty main()method • General pattern used to define a class: public class NameOfTheClass { } • The word public makes the class visible to users • The word class indicates a new type name follows • Every Java program needs a main()method • The main()method is defined within the class body • main()is like myFirstMethod()in Alice • However, you cannot replace main with another method Alice in Action with Java

  19. The Simplest Java Program Alice in Action with Java

  20. The main Method • Understanding the structure of the main()method • public allows method to be invoked outside class • static indicates that main()belongs to the class • void indicates that main()does not return a value • main is the name of the method • String[]args provides a way to pass values • Statements placed within body are delimited by { and } Alice in Action with Java

  21. Some Java Statements • Technique for writing a program • Go through an algorithm step by step • Translate each step into an equivalent Java statement • Goal: apply technique to dollars-to-euros algorithm • Step 1 • Display "How many dollars do you want to convert?” • Use System.out.print(String query) • Step 2 • Read dollars • Use a Scanner object to retrieve value from keyboard Alice in Action with Java

  22. Some Java Statements (continued) • Step 3 • Display "What is the euros-per-dollar exchange rate?” • Use System.out.print(String query) • Step 4 • Read eurosPerDollar • Reuse the Scanner object from Step 2 • Step 5 • Compute euros = dollars * eurosPerDollar • Assign the value in the expression to euros variable • double euros =dollars * eurosPerDollar; Alice in Action with Java

  23. Some Java Statements (continued) • Step 6 • Display dollars and euros, plus descriptive labels • Use System.out.println(String output) • Concatenation operator (+) combines String values • The printf()statement • Controls the format of printed values • Must have at least one argument (format-string) • Arguments after the format-string need a placeholder • Example: "%.2f dollars => %.2f euros“ • Placeholder %.2f provides precision and type information Alice in Action with Java

  24. Use printf for formatting numbers Alice in Action with Java

  25. A Second Java Program • Problem: how to determine relative value • Scenario 1 • Regular size cereal costs $2.90 per 12 ounces • Economy size cereal costs $4.00 per 15 ounces • Scenario 2 • 60-gigabyte MP3 player costs $150 • 80-gigabyte model costs $190 • Solution: compare items using unit prices • Goal: program should find the unit price of an item Alice in Action with Java

  26. Designing the UnitPricer Program • Step 1: elements of user story built around unit price • Query: “What is the price of the first item?” • Read the first price from the keyboard • Query “How many units are in the first item?” • Read the number of units in the first item • Perform the first four actions for the second item • Compute and display the unit prices of the two items • Use of a generic item broadens program’s application • Step 2: extract the objects from the noun phrases • Step 3: extract the methods from the verb phrases Alice in Action with Java

  27. Designing the UnitPricer Program (continued) Alice in Action with Java

  28. Designing the UnitPricer Program (continued) Alice in Action with Java

  29. Designing the UnitPricer Program (continued) • Step 4: develop the UnitPricer algorithm • The algorithm is the blueprint for the program • Generalization: broadens application of a program • Generalization in the UnitPricer algorithm • The use of “item” in place of cereal box and MP3 player • “Item” is a generic term embracing a variety of objects Alice in Action with Java

  30. Designing the UnitPricer Program (continued) Alice in Action with Java

  31. Writing the UnitPricer Program • A summary of the steps • Create a new Java project in Eclipse • Create the UnitPricerclass • Implement the algorithm in main() • Figure 7-24 presents the final version Alice in Action with Java

  32. Writing the UnitPricer Program (continued) Alice in Action with Java

  33. Testing the UnitPricer Program • Conduct testing using easy-to-verify values • The printf()message revisited • Begin format-string with %n to advance cursor one line • %w.pf placeholder used to specify width and precision • Format-string: "%nItem 1 unit price: $%7.2f“ • %nadvances the cursor to the next line • %7.2f: 7 spaces, two decimal places for a real number Alice in Action with Java

  34. Testing the UnitPricer Program (continued) Alice in Action with Java

  35. Testing the UnitPricer Program (continued) Alice in Action with Java

  36. Solving the Problems • Solve the MP3 player problem • Reminder: the 60-gigabyte model cost $150 • Reminder: the 80-gigabyte model cost $190 • MP3 player solution: 80-GB model is a better value • Solve the corn flakes problem • Reminder: the 12-ounce “regular” size cost $2.90 • Reminder: the 15-ounce “economy” size cost $4.00 • Corn flakes solution: regular size box is a better value Alice in Action with Java

  37. Solving the Problems (continued) Alice in Action with Java

  38. Solving the Problems (continued) Alice in Action with Java

  39. The Software Engineering Process • Six steps are similar for Java and Alice development • Software design: Steps 1-4 • Software implementation and testing: Steps 5 and 6 • Software engineering: • Includes software design, implementation, and testing Alice in Action with Java

  40. The Software Engineering Process (continued) Alice in Action with Java

  41. Summary • Steps in program development: designing, writing, running, and testing • Java: object-oriented language used to develop cross-platform applications • Algorithm: sequence of steps that solves a problem • IDE: program development tool that bundles an editor, compiler, run-time environment, and debugger • Eclipse: free IDE for Java developed by IBM Alice in Action with Java

  42. Summary (continued) • Package: group of related, predefined classes • importstatement: exposes a program to classes in a package • Display values by sending print(), println(),or printf()to an instance of System.out • Connect a program to the keyboard using a Scanner object • Software engineering: methodology for designing, implementing, and testing software Alice in Action with Java

More Related