1 / 34

Begin Java having used Alice

Begin Java having used Alice . Pepper - Some slides from Alice in Action with Java. Objectives. Write some first Java programs Learn the basics of the BlueJ Integrated Development Environment (IDE) Begin making the transition from Alice to Java. Alice vs Java.

annice
Download Presentation

Begin Java having used Alice

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. Begin Java having used Alice Pepper - Some slides from Alice in Action with Java

  2. Objectives • Write some first Java programs • Learn the basics of the BlueJ Integrated Development Environment (IDE) • Begin making the transition from Alice to Java

  3. Alice vs Java Much of Alice is written in Java

  4. A very simple Alice program

  5. A Very Simple Java Program Open braces mark the beginning Class header Method header public class JavaWorld { public static void main(String[] args) { System.out.println ("This is my first Java program."); } } statements Close braces mark the end

  6. A First Program – What Does It Do? System.out.println ("This is my first Java program."); Prints the message This is my first Java program. Ends the line

  7. Same steps to create a program

  8. Source x.java Compile (javac x.java) Object x.class Execute (java x) Make the Program Run • Compile (translate to java byte code) • Run (interpreter for that OS reads java byte code and translates for machine)

  9. Development Environment Blue Jay Lets you enter code just like Alice did Download at: http://www.bluej.org/download/download.html Instructions on syllabus

  10. Exercise • Add the line “Welcome to Java” • When you run the program, you will see: This is my first Java Program. Welcome to Java. • Extra: • Info: print() does not go to the next line • Try splitting Welcome to Java into two statements: “Welcome” and then “ to Java.”

  11. A program that does something Convert Dollars to Euros Where to start?

  12. Design possibilities • By words : Nouns and Verbs  algorithm • By test data : List some possible inputs and outputs before coding • By class diagram : Design object pictures • By flow chart : chart the sequential steps and decisions

  13. Designing by words • 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)

  14. Nouns  objects ? = make a Class

  15. Verbs -> Operations

  16. 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

  17. Design by test data • Possible inputs and outputs:

  18. Design by class diagram DollarsToEuroConverter Scanner Keyboard Input main nextDouble

  19. Design by flowchart start Ask for dollars Read Dollars Ask for rate Read rate Compute euros Print euros end

  20. Let’s start coding – setup #1 Create a new project in BlueJ Create a new class Write the standard new World starter: public class DollarsToEuroConverter { public static void main(String[ ] args) { } }

  21. Comments – setup #2 • 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 */ • Add comments to your class now at the top: /** DollarsToEurosConverter.java converts dollars to euros. @author you */ Public class DollarsToEurosConverter

  22. Import Packages – setup #3 • Like importing other character blueprints– actually groups of characters • Package Example: Scanner class is in java.util package • Bring it in with an import statement • Example: import java.util.Scanner; - let’s us talk with the user – like world’s “ask user for” functions • Do it now in your program between comment and class start: /** DollarsToEurosConverter.java converts dollars to euros. @author you */ Import java.util.scanner Public class DollarsToEurosConverter

  23. 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) – Like SAY • Ask now in your program, and then run it public class DollarsToEuroConverter { public static void main(String[ ] args) { System.out.print("How many dollars do you want to convert?”); } }

  24. Step 2 – Read dollars from screen • Step 2 • Read dollars • This means we have to read from the screen. We need an object that knows how to do this. Scanner. • Once we create him, we can ask him what the user typed on the screen. We can ask him as many times as we like once he is created. • Create a scanner in your program now Scanner kbd = new Scanner (System.in);

  25. Step 2 read the dollars cont. • Now we can ask scanner for the dollars, but we will need to save those dollars into a variable: double dollars; -> creates a variable dollars = kbd.nextDouble(); -> gets the input from the user and puts it into dollars

  26. Step 3 & 4 – same thing for rate • Step 3 • Display "What is the euros-per-dollar exchange rate?” • Use System.out.print(String query) System.out.print(“What is the Euros per dollar exchange rate?”); • Step 4 • Read eurosPerDollar • Reuse the Scanner object from Step 2 double eurosPerDollar; -> creates a variable eurosPerDollar = kbd.nextDouble(); -> gets the input from the user and puts it into eurosPerDollar

  27. Step 5 - compute • Step 5 • Compute euros = dollars * eurosPerDollar • Assign the value in the expression to euros variable double euros; euros =dollars * eurosPerDollar;

  28. Step 6 – tell result • Display dollars and euros, plus descriptive labels • Use System.out.println(String output) • Concatenation operator (+) combines String values Type: System.out.println(dollars + “dollars => “ + euros + “euros”); • RUN YOUR Program

  29. Check test data • Possible inputs and outputs:

  30. Testing a Java Program Using BlueJ • Functional testing • Running a program multiple times, using various values • Example: use various dollar values and exchange rates • Sanity checking: testing with easily verified values • Logic error: problem with the program structure • User testing • Utilizing another person to uncover hidden flaws • Example: roommate reveals euros formatting error • Solution: use printf()to round off values of euros

  31. Print statement – a bit more • 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

  32. Some Java Statements (continued)

  33. Step 6 – a bit better Type the statement to print the result to the screen in place of println: System.out.printf( “%.2f dollars => %.2f euros”,dollars, euros);

  34. Your toolset • Basic setup including comments and importing packages • Print to screen with formatting • Read from screen • Create variables to hold decimal values • Calculate (*,/,+,-,^)

More Related