A Very Simple Java Programpublic class JavaWorld { public static void mainString[] args { the end Open braces mark the beginning... Make the Program Run• Compile translate to java byte
Trang 1Begin Java having used Alice
Pepper
- Some slides from Alice in Action
with Java
Trang 2• Write some first Java programs
• Learn the basics of the BlueJ Integrated Development Environment (IDE)
• Begin making the transition from Alice to Java
Trang 3reduces syntax errors
•Create new objects -
•Run Java programs across various platforms
•Build applets to make Web pages interactive
Much of Alice is written in Java
Trang 4A very simple Alice program
Trang 5A Very Simple Java Program
public class JavaWorld {
public static void main(String[] args) {
the end
Open braces mark the beginning
Trang 6A First Program – What Does It Do?
Prints the message
This is my first Java program
Ends the line
System.out.println
("This is my first Java program.");
Trang 7Same steps to create a program
Trang 8Make the Program Run
• Compile (translate to java byte code)
• Run (interpreter for that OS reads java byte code and translates for machine)
Source x.java
Compile (javac x.java)
Object x.class
Execute (java x)
Trang 10• 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.”
Trang 11A program that does something
Convert Dollars to Euros
Where to start?
Trang 12Design 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
Trang 13– Compute corresponding number of euros
– Display dollar and (computed euros values)
Trang 14Nouns objects
? = make a Class
Trang 15Verbs -> Operations
Trang 16The 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?"
Trang 17Design by test data
• Possible inputs and outputs:
Trang 18Design by class diagram
DollarsToEuroConverter
main
Scanner
nextDouble Keyboard Input
Trang 20Let’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) {
}
}
Trang 21Comments – 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
*/
Trang 22Import 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
*/
Trang 23Some 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?”);
}
Trang 24Step 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);
Trang 25Step 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
Trang 26Step 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
Trang 27Step 5 - compute
• Step 5
– Compute euros = dollars * eurosPerDollar
– Assign the value in the expression to euros
variable
double euros;
euros = dollars * eurosPerDollar;
Trang 28Step 6 – tell result
– Display dollars and euros, plus descriptive labels
– Use System.out.println(String output)
– Concatenation operator (+) combines String values
Trang 29Check test data
• Possible inputs and outputs:
Trang 30Testing 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
Trang 31Print 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
Trang 32Some Java Statements
(continued)
Trang 33Step 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);
Trang 34Your toolset
• Basic setup including comments and importing packages
• Print to screen with formatting
• Read from screen
• Create variables to hold decimal values
• Calculate (*,/,+,-,^)