1 Chapter 2 - Introduction to Java Applications Outline 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Introduction A First Program in Java: Printing a Line of Text Modifying Our First Java Program Displaying Text using Printf Another Java Application: Adding Integers Memory Concepts Arithmetic 2003 Prentice Hall, Inc. All rights reserved. 2 2.2 A First Program in Java: Printing a Line of Text • Application – Program that executes using the java interpreter • Sample program – Show program, then analyze each line 2003 Prentice Hall, Inc. All rights reserved. 3 1 2 3 4 5 6 7 8 9 ); 10 11 12 13 // Fig. 2.1: Welcome1.java // Text-printing program. public class Welcome1 { Outline Welcome1.java // main method begins execution of Java application public static void main( String args[] ) { System.out.println( "Welcome to Java Programming!" } // end method main } // end class Welcome1 Welcome to Java Programming! Program Output 2003 Prentice Hall, Inc. All rights reserved. 4 2.2 1 A First Program in Java: Printing a Line of Text // Fig. 2.1: Welcome1.java – Comments start with: // • Comments ignored during program execution • Document and describe code • Provides code readability – Traditional comments: /* ... */ /* This is a traditional comment. It can be split over many lines */ 2 // Text-printing program. – Another line of comments – Note: line numbers not part of program, added for reference 2003 Prentice Hall, Inc. All rights reserved. 5 2.2 A Simple Program: Printing a Line of Text 3 – Blank line • Makes program more readable • Blank lines, spaces, and tabs are white-space characters – Ignored by compiler 4 public class Welcome1 { – Begins class declaration for class Welcome1 • Every Java program has at least one user-defined class • Keyword: words reserved for use by Java – class keyword followed by class name • Naming classes: capitalize every word – SampleClassName 2003 Prentice Hall, Inc. All rights reserved. 6 2.2 4 A Simple Program: Printing a Line of Text public class Welcome1 { – Name of class called identifier • Series of characters consisting of letters, digits, underscores ( _ ) and dollar signs ( $ ) • Does not begin with a digit, has no spaces • Examples: Welcome1, $value, _value, button7 – 7button is invalid • Java is case sensitive (capitalization matters) – a1 and A1 are different 2003 Prentice Hall, Inc. All rights reserved. 7 2.2 4 A Simple Program: Printing a Line of Text public class Welcome1 { – Saving files • File name must be class name with .java extension • Welcome1.java – Left brace { • Begins body of every class • Right brace ends declarations (line 13) 7 public static void main( String args[] ) – Part of every Java application • Applications begin executing at main – Parenthesis indicate main is a method – Java applications contain one or more methods 2003 Prentice Hall, Inc. All rights reserved. 8 2.2 7 A Simple Program: Printing a Line of Text public static void main( String args[] ) • Exactly one method must be called main – Methods can perform tasks and return information • void means main returns no information • For now, mimic main's first line 8 { – Left brace begins body of method declaration • Ended by right brace } (line 11) 2003 Prentice Hall, Inc. All rights reserved. 9 2.2 9 A Simple Program: Printing a Line of Text System.out.println( "Welcome to Java Programming!" ); – Instructs computer to perform an action • Prints string of characters – String - series characters inside double quotes • White-spaces in strings are not ignored by compiler – System.out • Standard output object • Print to command window (i.e., MS-DOS prompt) – Method System.out.println • Displays line of text • Argument inside parenthesis – This line known as a statement • Statements must end with semicolon ; 2003 Prentice Hall, Inc. All rights reserved. 10 2.2 11 A Simple Program: Printing a Line of Text } // end method main – Ends method declaration 13 – – – – } // end class Welcome1 Ends class declaration Can add comments to keep track of ending braces Remember, compiler ignores comments Comments can start on same line after code 2003 Prentice Hall, Inc. All rights reserved. 11 2.2 A Simple Program: Printing a Line of Text • Compiling a program – If no errors, Welcome1.class created • Has bytecodes that represent application • Bytecodes passed to Java interpreter 2003 Prentice Hall, Inc. All rights reserved. 12 2.2 A Simple Program: Printing a Line of Text • Executing a program • Interpreter loads .class file for class Welcome1 • .class extension omitted from command – Interpreter calls method main Fig. 2.2 Executing Welcome1 in a Microsoft Windows 2000 Command Prompt. 2003 Prentice Hall, Inc. All rights reserved. 13 2.3 Modifying Our First Java Program • Modify example in Fig. 2.1 to print same contents using different code 2003 Prentice Hall, Inc. All rights reserved. 14 2.3 Modifying Our First Java Program • Modifying programs – Welcome2.java (Fig. 2.3) produces same output as Welcome1.java (Fig. 2.1) – Using different code 9 10 System.out.print( "Welcome to " ); System.out.println( "Java Programming!" ); – Line 9 displays “Welcome to ” with cursor remaining on printed line – Line 10 displays “Java Programming! ” on same line with cursor on next line 2003 Prentice Hall, Inc. All rights reserved. 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Outline // Fig. 2.3: Welcome2.java // Printing a line of text with multiple statements. Welcome2.java public class Welcome2 { // main method begins execution of Java application public static void main( String args[] ) { System.out.print( "Welcome to " ); System.out.println( "Java Programming!" ); } // end method main } // end class Welcome2 1. Comments 2. Blank line 3. Begin class Welcome2 3.1 Method main System.out.print keeps the cursor on the same line, so System.out.println 4. Method continues on the same line. System.out.prin t 4.1 Method System.out.prin tln Welcome to Java Programming! 5. end main, Welcome2 Program Output 2003 Prentice Hall, Inc. All rights reserved. 16 2.3 Modifying Our First Java Program • Newline characters (\n) – Interpreted as “special characters” by methods System.out.print and System.out.println – Indicates cursor should be on next line – Welcome3.java (Fig. 2.4) 9 System.out.println( "Welcome\nto\nJava\nProgramming!" ); – Line breaks at \n • Usage – Can use in System.out.println or System.out.print to create new lines • System.out.println( "Welcome\nto\nJava\nProgramming!" ); 2003 Prentice Hall, Inc. All rights reserved. 17 Outline 1 2 3 4 5 6 7 8 9 10 11 12 13 // Fig. 2.4: Welcome3.java // Printing multiple lines of text with a single statement. Welcome3.java public class Welcome3 { 1. main // main method begins execution of Java application public static void main( String args[] ) { System.out.println( "Welcome\nto\nJava\nProgramming!" ); } // end method main 2. System.out.prin tln (uses \n for new line) } // end class Welcome3 Program Output Welcome to Java Programming! Notice how a new line is output for each \n escape sequence. 2003 Prentice Hall, Inc. All rights reserved. 18 2.3 Modifying Our First Java Program Escape characters – Backslash ( \ ) – Indicates special characters be output Escape sequence \n Description Newline. Position the screen cursor at the beginning of the next line. \t Horizontal tab. Move the screen cursor to the next tab stop. \r Carriage return. Position the screen cursor at the beginning of the current line; do not advance to the next line. Any characters output after the carriage return overwrite the characters previously output on that line. \\ Backslash. Used to print a backslash character. \" Double quote. Used to print a double -quote character. For exampl e, System.out.println( " \ "in quotes \ "" ); displays "in quotes" Fig. 2.5 Some common escape sequences. 2003 Prentice Hall, Inc. All rights reserved. 19 2.4 Displaying Text with printf • System.out.printf – Method for displaying formatted data – the f in the name printf stands for "formatted" 2003 Prentice Hall, Inc. All rights reserved. 20 2.4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Displaying Text with printf // Fig. 2.6: Welcome4.java // Printing multiple lines in a dialog box. public class Welcome4 { // main method begins execution of Java application public static void main( String args[] ) { System.out.printf( "%s\n%s\n", "Welcome to", "Java Programming!" ); } // end method main } // end class Welcome4 Welcome to Java Programming! 2003 Prentice Hall, Inc. All rights reserved. 21 2.4 Displaying Text with printf 9 System.out.printf( "%s\n%s\n", 10 "Welcome to", "Java Programming!" ); – The method call specifies three arguments. – When a method requires multiple arguments, the arguments are separated with commas (,) this is known as a commaseparated list. – Remember that all statements in Java end with a semicolon (;) Therefore, lines 9/10 represent only one statement. – Java allows large statements to be split over many lines. 2003 Prentice Hall, Inc. All rights reserved. 22 2.4 Displaying Text with printf 9 System.out.printf( "%s\n%s\n", 10 "Welcome to", "Java Programming!" ); • Method printf's first argument is a format string that may consist of fixed text and format specifiers. • Fixed text is output by printf just as it would be output by print or println. Each format specifier is a placeholder for a value and specifies the type of data to output. • Format specifiers begin with a percent sign (%) and are followed by a character that represents the data type. – For example, the format specifier %s is a placeholder for a string. The format string in line 9 specifies that printf should output two strings and that each string should be followed by a newline character. 2003 Prentice Hall, Inc. All rights reserved. 23 2.5 Another Java Application: Adding Integers • Upcoming program – Use input dialogs to input two values from user – Use message dialog to display sum of the two values 2003 Prentice Hall, Inc. All rights reserved. 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.util.Scanner; // program uses class Scanner 24 public class Addition { // main method begins execution of Java application public static void main( String args[] ) { // create Scanner to obtain input from command window Scanner input = new Scanner( System.in ); int number1; // first number to add int number2; // second number to add int sum; // sum of number1 and number2 System.out.print( "Enter first integer: " ); // prompt number1 = input.nextInt(); // read first number from user System.out.print( "Enter second integer: " ); // prompt number2 = input.nextInt(); // read second number from user Outline Addition.java 1. import 2. class Addition 2.1 Declare variables (name and type) 3. showInputDialog 4. parseInt 5. Add numbers, put result in sum sum = number1 + number2; // add numbers System.out.printf( "Sum is %d\n", sum ); // display sum } // end method main } // end class Addition 2003 Prentice Hall, Inc. All rights reserved. 25 Outline Enter first integer: 45 Enter second integer: 72 Sum is 117 Program output 2003 Prentice Hall, Inc. All rights reserved. 26 2.5 5 Another Java Application: Adding Integers import java.util.Scanner; // program uses class Scanner – Location of JOptionPane for use in the program 7 public class Addition { – Begins public class Addition • Recall that file name must be Addition.java – Lines 10-11: main 15 16 17 int number1; int number2; int sum; // first number to add // second number to add // sum of number1 and number2 – Declares variables number1, number2, and sum of type int • int holds integer values (whole numbers): i.e., 0, -4, 97 • Types float and double can hold decimal numbers • Type char can hold a single character: i.e., x, $, \n, 7 2003 Prentice Hall, Inc. All rights reserved. 27 2.5 17 Another Java Application: Adding Integers System.out.print( "Enter first integer: " ); – Uses System.out.print to display the message "Enter first integer:" 18 number1 = input.nextInt(); // read first number from user – Uses Scanner object input's nextInt method to obtain an integer from the user. At this point the program waits for the user to type the number and press the Enter key to submit the number. 2003 Prentice Hall, Inc. All rights reserved. 28 2.5 20 Another Java Application: Adding Integers sum = number1 + number2; – Assignment statement • • • • 25 Calculates sum of number1 and number2 (right hand side) Uses assignment operator = to assign result to variable sum Read as: sum gets the value of number1 + number2 number1 and number2 are operands System.out.printf( "Sum is %d\n", sum ); // display sum • Displays "Sum is", followed by the value of sum 2003 Prentice Hall, Inc. All rights reserved. 29 2.6 Memory Concepts • Variables – Every variable has a name, a type, a size and a value • Name corresponds to location in memory – When new value is placed into a variable, replaces (and destroys) previous value – Reading variables from memory does not change them 2003 Prentice Hall, Inc. All rights reserved. 30 2.6 Memory Concepts • Visual Representation – Sum = 0; number1 = 1; number2 = 2; sum 0 – Sum = number1 + number2; after execution of statement sum 2003 Prentice Hall, Inc. All rights reserved. 3 31 2.7 Arithmetic • Arithmetic calculations used in most programs – Usage • • • • * for multiplication / for division +, No operator for exponentiation (more in Chapter 5) – Integer division truncates remainder 7 / 5 evaluates to 1 – Remainder operator % returns the remainder 7 % 5 evaluates to 2 2003 Prentice Hall, Inc. All rights reserved. 32 2.7 Arithmetic • Operator precedence – Some arithmetic operators act before others (i.e., multiplication before addition) • Use parenthesis when needed – Example: Find the average of three variables a, b and c • Do not use: a + b + c / 3 • Use: ( a + b + c ) / 3 – Follows PEMDAS • Parentheses, Exponents, Multiplication, Division, Addition, Subtraction 2003 Prentice Hall, Inc. All rights reserved. 33 2.7 Op era tor(s) * / + Fig. 2.17 Op era tion(s) Multiplication Division Remainder Addition Subtraction Arithmetic Ord er of eva lua tion (p rec ed enc e) Evaluated first. If there are several of this type of operator, they are evaluated from left to right. Evaluated next. If there are several of this type of operator, they are evaluated from left to right. Prec ed enc e o f a rithm etic o p era tors. 2003 Prentice Hall, Inc. All rights reserved. 34 Latihan • Buatlah aplikasi menggunakan Java NetBeans untuk menghitung luas persegi panjang • Buatlah aplikasi menggunakan Java NetBeans untuk mengubah jam dan menit yang diinput ke dalam satuan detik. • Buatlah aplikasi menggunakan Java NetBeans untuk menghitung luas lingkaran. 2003 Prentice Hall, Inc. All rights reserved.