420 likes | 953 Views
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
E N D
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 Alice in Action with Java
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
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
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
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
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
The Object List (continued) Alice in Action with Java
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
The Operations List (continued) Alice in Action with Java
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
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
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
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
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
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
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
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
The Simplest Java Program Alice in Action with Java
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
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
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
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
Use printf for formatting numbers Alice in Action with Java
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
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
Designing the UnitPricer Program (continued) Alice in Action with Java
Designing the UnitPricer Program (continued) Alice in Action with Java
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
Designing the UnitPricer Program (continued) Alice in Action with Java
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
Writing the UnitPricer Program (continued) Alice in Action with Java
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
Testing the UnitPricer Program (continued) Alice in Action with Java
Testing the UnitPricer Program (continued) Alice in Action with Java
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
Solving the Problems (continued) Alice in Action with Java
Solving the Problems (continued) Alice in Action with Java
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
The Software Engineering Process (continued) Alice in Action with Java
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
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