Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2 - Introduction to Java Applications

Similar presentations


Presentation on theme: "Chapter 2 - Introduction to Java Applications"— Presentation transcript:

1 Chapter 2 - Introduction to Java Applications
Outline 2.1 Introduction 2.2 A Simple Program: Printing a Line of Text 2.3 Another Java Application: Adding Integers 2.4 Memory Concepts 2.5 Arithmetic 2.6 Decision Making: Equality and Relational Operators

2 2.1 Introduction In this chapter
Introduce examples to illustrate features of Java Two program styles - applications and applets

3 2.2 A Simple Program: Printing a Line of Text
Application Program that executes using the java interpreter Sample program We will show you an program then analyze each line in detail

4 Java program Program Output
1 // Fig. 2.1: Welcome1.java Java program Program Output 2 // A first program in Java 3 4 public class Welcome1 { 5 public static void main( String args[] ) 6 { System.out.println( "Welcome to Java Programming!" ); 8 } 9 } Welcome to Java Programming!

5 2.2 A Simple Program: Printing a Line of Text
// indicates the remainder of the line is a comment Comments are ignored by the compiler Use comments to document and describe code Can also use multiple line comments: /* ... */ /* This is a multiple line comment. It can be split over many lines */ Another line of comments that describes the program Note: line numbers are not part of the program; they are added for our reference 1 // Fig. 2.1: Welcome1.java 2 // A first program in Java

6 2.2 A Simple Program: Printing a Line of Text
A blank line Blank lines and spaces make a program more readable Blank lines, spaces, and tabs are known as whitespace characters, and are ignored by the compiler Begins a class definition for class Welcome1 Every Java program has at least one user-defined class class keyword immediately followed by class name Keyword words reserved for use by Java Naming classes: capitalize every word SampleClassName 3 4 public class Welcome1 {

7 2.2 A Simple Program: Printing a Line of Text
Name of class called identifier Series of characters consisting of letters, digits, underscores ( _ ) and dollar signs ( $ ) Does not begin with a digit Contains no spaces Examples: Welcome1, $value, _value, button7 7button is invalid Case sensitive (capitalization matters) a1 and A1 are different For chapters 2 to 7, use public keyword Certain details are not important now, full discussions will come later 4 public class Welcome1 {

8 2.2 A Simple Program: Printing a Line of Text
Saving files File name is class name and .java extension Welcome1.java Left brace Begins body of every class Right brace ends definition (line 9) Part of every Java application Applications begin executing at main Parenthesis indicate main is a method Java applications contain one or more methods 4 public class Welcome1 { 5 public static void main( String args[] )

9 2.2 A Simple Program: Printing a Line of Text
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 Left brace begins body of method definition Ended by right brace 5 public static void main( String args[] ) 6 {

10 2.2 A Simple Program: Printing a Line of Text
Instructs computer to perform an action Prints string of characters between double quotes String - series characters inside double quotes White spaces in strings are not ignored by compiler System.out - standard output object Allows java to print to command window (i.e., MS-DOS prompt) Method System.out.println displays a line of text Argument inside parenthesis Entire line known as a statement All statements must end with a semicolon ; System.out.println( "Welcome to Java Programming!" );

11 2.2 A Simple Program: Printing a Line of Text
Ends method definition Ends class definition Some programmers add comments to keep track of ending braces Lines 8 and 9 could be rewritten as: Remember that the compiler ignores comments 8 } 9 } 8 } // end of method main() 9 } // end of class Welcome1

12 2.2 A Simple Program: Printing a Line of Text
Compiling a program Open a command window, go to directory where program is stored Type javac Welcome1.java If there are no errors, file Welcome1.class is created Contains Java bytecodes that represent application Bytecodes passed to Java interpreter Executing a program Type java Welcome1 Launches interpreter to load .class file for class Welcome1 .class extension omitted from command Interpreter calls method main

13 Java program Program Output
1 // Fig. 2.1: Welcome1.java Java program Program Output 2 // A first program in Java 3 4 public class Welcome1 { 5 public static void main( String args[] ) 6 { System.out.println( "Welcome to Java Programming!" ); 8 } 9 }

14 2.2 A Simple Program: Printing a Line of Text
Other methods System.out.println Positions cursor on new line after displaying argument System.out.print Keeps cursor on same line after displaying argument

15 7: Method System.out.print 8: Method System.out.println
1 // Fig. 2.3: Welcome2.java 2 // Printing a line with multiple statements 3 4 public class Welcome2 { 5 public static void main( String args[] ) 6 { System.out.print( "Welcome to " ); System.out.println( "Java Programming!" ); 9 } 10 } Line numbers 1-2: Comments 3: Blank 4: Begin class Welcome2 5: Method main 6: Begin main body 7: Method System.out.print 8: Method System.out.println 9: end main 10: end Welcome2 Program Output System.out.print keeps the cursor on the same line, so System.out.println continues on the same line. Welcome to Java Programming!

16 2.2 A Simple Program: Printing a Line of Text
Escape characters Backslash ( \ ) Indicates that special characters are to be output Backslash combined with a character makes an escape sequence \n - newline \t - tab Others in Fig. 2.5 Usage Can use in System.out.println or System.out.print to create new lines System.out.println( "Welcome\nto\nJava\nProgramming!" );

17 2. System.out.println (uses \n for newline)
1 // Fig. 2.4: Welcome3.java 2 // Printing multiple lines with a single statement 3 4 public class Welcome3 { 5 public static void main( String args[] ) 6 { System.out.println( "Welcome\nto\nJava\nProgramming!" ); 8 } 9 } Class Welcome1 1. main 2. System.out.println (uses \n for newline) Program Output Notice how a new line is output for each \n escape sequence. Welcome to Java Programming!

18 2.2 A Simple Program: Printing a Line of Text
Display Although our first programs executed in the command window, most Java applications use windows or a dialog box Netscape Communicator and Microsoft Internet Explorer execute in their own windows Java has class JOptionPane that allows us to use dialog boxes Packages Java has a set of predefined classes for us to use Groups of related classes called packages Group of all packages known as Java class library or Java applications programming interface (Java API) JOptionPane is in the javax.swing package

19 2.2 A Simple Program: Printing a Line of Text
Upcoming program Application that uses dialog boxes Explanation will come afterwards

20 Java program using dialog box Program Output
1 // Fig. 2.6: Welcome4.java 2 // Printing multiple lines in a dialog box Java program using dialog box Program Output 3 import javax.swing.JOptionPane; // import class JOptionPane 4 5 public class Welcome4 { 6 public static void main( String args[] ) 7 { JOptionPane.showMessageDialog( null, "Welcome\nto\nJava\nProgramming!" ); 10 System.exit( 0 ); // terminate the program 12 } 13 }

21 2.2 A Simple Program: Printing a Line of Text
Lines 1-2: comments as before import statements - locate the classes we intend to use Tells compiler to load class JOptionPane from javax.swing package This package contains many Graphical User Interface components Lines 4-7: Blank line, begin class Welcome4 and main 3 import javax.swing.JOptionPane; // import class JOptionPane 4 5 public class Welcome4 { 6 public static void main( String args[] ) 7 {

22 2.2 A Simple Program: Printing a Line of Text
Call method showMessageDialog of class JOptionPane Requires two arguments Multiple arguments separated by commas (,) For now, first argument always null Second argument is string to display showMessageDialog is a static method of class JOptionPane static methods called by using class name, dot (.) then method name All statements end with ; A single statement can therefore span multiple lines JOptionPane.showMessageDialog( null, "Welcome\nto\nJava\nProgramming!" );

23 2.2 A Simple Program: Printing a Line of Text
Executing lines 8 and 9 displays the dialog box shown below Automatically includes an OK button Hides or dismisses dialog box Title bar has string Message JOptionPane.showMessageDialog( null, "Welcome\nto\nJava\nProgramming!" );

24 2.2 A Simple Program: Printing a Line of Text
Calls static method exit of class System Terminates application Use with any application displaying a GUI Because method is static, just needs class name and dot (.) Identifiers starting with capital letters are usually class names Argument of 0 means application ended successfully Non-zero usually means an error occurred Class System part of package java.lang No import statement needed java.lang automatically imported in every Java program Lines 12-13: End Welcome4 and main System.exit( 0 ); // terminate the program

25 1. import statement 2. Class Welcome4 2.1 main 2.2 showMessageDialog
1 // Fig. 2.6: Welcome4.java 2 // Printing multiple lines in a dialog box 1. import statement 2. Class Welcome4 2.1 main 2.2 showMessageDialog 2.3 System.exit Program Output 3 import javax.swing.JOptionPane; // import class JOptionPane 4 5 public class Welcome4 { 6 public static void main( String args[] ) 7 { JOptionPane.showMessageDialog( null, "Welcome\nto\nJava\nProgramming!" ); 10 System.exit( 0 ); // terminate the program 12 } 13 }

26 2.3 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

27 Java Program using input dialogs
1 // Fig. 2.8: Addition.java 2 // An addition program 3 Java Program using input dialogs 4 import javax.swing.JOptionPane; // import class JOptionPane 5 6 public class Addition { 7 public static void main( String args[] ) 8 { String firstNumber, // first string entered by user secondNumber; // second string entered by user int number1, // first number to add number2, // second number to add sum; // sum of number1 and number2 14 // read in first number from user as a string firstNumber = JOptionPane.showInputDialog( "Enter first integer" ); 18 // read in second number from user as a string secondNumber = JOptionPane.showInputDialog( "Enter second integer" ); 22 // convert numbers from type String to type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); 26 // add the numbers sum = number1 + number2; 29 // display the results

28 Program Output 31 JOptionPane.showMessageDialog(
null, "The sum is " + sum , "Results", JOptionPane.PLAIN_MESSAGE ); Program Output 34 System.exit( 0 ); // terminate the program 36 } 37 }

29 2.3 Another Java Application: Adding Integers
Lines 1-2: Comments Specifies location of JOptionPane for use in the program Begins public class Addition Recall that file name must be Addition.java Lines 7-8: main Declaration firstNumber and secondNumber are variables 4 import javax.swing.JOptionPane; // import class JOptionPane 6 public class Addition { String firstNumber, // first string entered by user secondNumber; // second string entered by user

30 2.3 Another Java Application: Adding Integers
String firstNumber, // first string entered by user Variables: location in memory that can store a value Must be declared with a name and data type before use firstNumber and secondNumber are of data type String (java.lang), so they will hold strings Variable name: any valid identifier Declarations end with semicolons ; Can declare multiple variables of the same type at a time Use a comma separated list Programmers often add comments to describe purpose of variables secondNumber; // second string entered by user

31 2.3 Another Java Application: Adding Integers
int number1, // first number to add number2, // second number to add sum; // sum of number1 and number2 Declares variables number1, number2, and sum of type int int can hold integer values (whole numbers): i.e., 0, -4, 97 Data types float and double can hold decimal numbers Data type char can hold a single character Known as primitive data types - more in Chapter 4

32 2.3 Another Java Application: Adding Integers
Reads a String from the user, representing the first number to be added Method JOptionPane.showInputDialog displays the following: Message called a prompt - directs user to perform an action Argument appears as prompt text If wrong type of data entered (i.e. non-integer) then error occurs // read in first number from user as a string firstNumber = JOptionPane.showInputDialog( "Enter first integer" );

33 2.3 Another Java Application: Adding Integers
Result of call to showInputDialog (a String with the user input) given to firstNumber with the assignment operator = Assignment statement = binary operator - takes two operands Expression on right evaluated and assigned to variable on left Read as: firstNumber gets value of JOptionPane.showInputDialog( "Enter first integer" ) // read in first number from user as a string firstNumber = JOptionPane.showInputDialog( "Enter first integer" );

34 2.3 Another Java Application: Adding Integers
Similar to previous statement Assigns variable secondNumber to second integer input Method Integer.parseInt Converts its String argument into an integer (type int) Class Integer in java.lang Integer returned by Integer.parseInt is assigned to variable number1 (line 24) Remember that number1 was declared as type int Line 25 similar // read in second number from user as a string secondNumber = JOptionPane.showInputDialog( "Enter second integer" ); // convert numbers from type String to type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber );

35 2.3 Another Java Application: Adding Integers
Assignment statement First calculates sum of number1 and number2 (right hand side) Next, uses assignment operator = to assign result to variable sum Read as: sum gets the value of number1 + number2 // add the numbers sum = number1 + number2;

36 2.3 Another Java Application: Adding Integers
Uses showMessageDialog to display results "The sum is " + sum Uses the operator + to "add" the string literal "The sum is" and sum Allows concatenation of a String and another data type Results in a new string If sum contains 117, then "The sum is " + sum results in the new string "The sum is 117" Note the space in "The sum is " More on strings in Chapter 10 JOptionPane.showMessageDialog( null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE );

37 2.3 Another Java Application: Adding Integers
Different version of showMessageDialog Requires four arguments (instead of two as before) First argument: null for now Second: message to display Third: string to display in title bar Fourth: value indicating type of message dialog JOptionPane.PLAIN_MESSAGE indicates no icon JOptionPane.ERROR_MESSAGE JOptionPane.INFORMATION_MESSAGE JOptionPane.WARNING_MESSAGE JOptionPane.QUESTION_MESSAGE JOptionPane.showMessageDialog( null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE );

38 2.1 Declare variables (name and data type)
1 // Fig. 2.8: Addition.java 2 // An addition program 3 1. import 2. class Addition 2.1 Declare variables (name and data type) 3. showInputDialog 4. parseInt 5. Add numbers, put result in sum 4 import javax.swing.JOptionPane; // import class JOptionPane 5 6 public class Addition { 7 public static void main( String args[] ) 8 { String firstNumber, // first string entered by user secondNumber; // second string entered by user int number1, // first number to add number2, // second number to add sum; // sum of number1 and number2 14 // read in first number from user as a string firstNumber = JOptionPane.showInputDialog( "Enter first integer" ); 18 // read in second number from user as a string secondNumber = JOptionPane.showInputDialog( "Enter second integer" ); 22 // convert numbers from type String to type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); 26 // add the numbers sum = number1 + number2; 29 // display the results

39 6. showMessageDialog 7. System.exit Program Output
JOptionPane.showMessageDialog( null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE ); 6. showMessageDialog 7. System.exit Program Output 34 System.exit( 0 ); // terminate the program 36 } 37 }

40 Visual representation
2.4 Memory Concepts Variables Variable names correspond to locations in the computer's memory Every variable has a name, a type, a size and a value Whenever a new value is placed into a variable it replaces (and destroys) previous value Reading variables from memory does not change them Visual representation number1 45

41 Arithmetic calculations are used in most programs
Use * for multiplication and / for division, +, - No operator for exponentiation (more in Chapter 5) Integer division truncates remainder 7 / 5 evaluates to 1 Modulus operator % returns the remainder 7 % 5 evaluates to 2 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

42 2.5 Arithmetic

43 2.6 Decision Making: Equality and Relational Operators
if control structure Simple version in this section, more detail later If a condition is true, then the body of the if statement executed 0 interpreted as false, non-zero is true Control always resumes after the if structure Conditions for if structures can be formed using equality or relational operators (next slide) if ( condition ) statement executed if condition true No semicolon needed after condition

44 2.6 Decision Making: Equality and Relational Operators
< _ > = Upcoming program uses if structures Discussion afterwards

45 1 // Fig. 2.17: Comparison.java
2 // Using if statements, relational operators 3 // and equality operators 4 5 import javax.swing.JOptionPane; 6 7 public class Comparison { 8 public static void main( String args[] ) 9 { String firstNumber, // first string entered by user secondNumber, // second string entered by user result; // a string containing the output int number1, // first number to compare number2; // second number to compare 15 // read first number from user as a string firstNumber = JOptionPane.showInputDialog( "Enter first integer:" ); 19 // read second number from user as a string secondNumber = JOptionPane.showInputDialog( "Enter second integer:" ); 23 // convert numbers from type String to type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); 27 // initialize result to the empty string result = ""; 30

46 if ( number1 == number2 ) result = result + number1 + " == " + number2; 33 if ( number1 != number2 ) result = result + number1 + " != " + number2; 36 if ( number1 < number2 ) result = result + "\n" + number1 + " < " + number2; 39 if ( number1 > number2 ) result = result + "\n" + number1 + " > " + number2; 42 if ( number1 <= number2 ) result = result + "\n" + number1 + " <= " + number2; 45 if ( number1 >= number2 ) result = result + "\n" + number1 + " >= " + number2; 48 // Display results JOptionPane.showMessageDialog( null, result, "Comparison Results", JOptionPane.INFORMATION_MESSAGE ); 53 System.exit( 0 ); 55 } 56 }

47 Program Output

48 2.6 Decision Making: Equality and Relational Operators
Lines 1-9: Comments, import JOptionPane, begin class Comparison and main Declare variables Input data from user and assign to variables String firstNumber, // first string entered by user secondNumber, // second string entered by user result; // a string containing the output int number1, // first number to compare number2; // second number to compare firstNumber = JOptionPane.showInputDialog( "Enter first integer:" ); secondNumber = JOptionPane.showInputDialog( "Enter second integer:" );

49 2.6 Decision Making: Equality and Relational Operators
number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); Convert Strings to ints and assign to variables Initialize String result with the empty string if structure to test for equality using (==) If the variables are equal (condition true) String result concatenated using + operator result = result + other strings Right side evaluated first: result and other strings are concatenated to form a new string The new string is assigned to result If variables are not equal, then statement skipped result = ""; if ( number1 == number2 ) result = result + number1 + " == " + number2;

50 2.6 Decision Making: Equality and Relational Operators
Other if structures Lines 50-52: result displayed in a dialog box using showMessageDialog if ( number1 != number2 ) result = result + number1 + " != " + number2; 36 if ( number1 < number2 ) result = result + "\n" + number1 + " < " + number2; 39 if ( number1 > number2 ) result = result + "\n" + number1 + " > " + number2; 42 if ( number1 <= number2 ) result = result + "\n" + number1 + " <= " + number2; 45 if ( number1 >= number2 ) result = result + "\n" + number1 + " >= " + number2; 48

51 2.3 Input data (showInputDialog)
1 // Fig. 2.17: Comparison.java 2 // Using if statements, relational operators 3 // and equality operators 1. import 2. Class Comparison 2.1 main 2.2 Declarations 2.3 Input data (showInputDialog) 2.4 parseInt 2.5 Initialize result 4 5 import javax.swing.JOptionPane; 6 7 public class Comparison { 8 public static void main( String args[] ) 9 { String firstNumber, // first string entered by user secondNumber, // second string entered by user result; // a string containing the output int number1, // first number to compare number2; // second number to compare 15 // read first number from user as a string firstNumber = JOptionPane.showInputDialog( "Enter first integer:" ); 19 // read second number from user as a string secondNumber = JOptionPane.showInputDialog( "Enter second integer:" ); 23 // convert numbers from type String to type int number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); 27 // initialize result to the empty string result = ""; 30

52 3. if statements 4. showMessageDialog
if ( number1 == number2 ) result = result + number1 + " == " + number2; 33 3. if statements 4. showMessageDialog if ( number1 != number2 ) result = result + number1 + " != " + number2; 36 if ( number1 < number2 ) result = result + "\n" + number1 + " < " + number2; 39 if ( number1 > number2 ) result = result + "\n" + number1 + " > " + number2; 42 if ( number1 <= number2 ) result = result + "\n" + number1 + " <= " + number2; 45 if ( number1 >= number2 ) result = result + "\n" + number1 + " >= " + number2; 48 // Display results JOptionPane.showMessageDialog( null, result, "Comparison Results", JOptionPane.INFORMATION_MESSAGE ); 53 System.exit( 0 ); 55 } 56 } Notice use of JOptionPane.INFORMATION_MESSAGE

53 Program Output

54 Homework for chapter 2 Due date: Monday 9/7/01
Compile and run all of the example programs. Write an application that inputs three integers from the user and display the sum, average, product, smallest and largest of these numbers in an information message dialog (use the GUI techniques) and standard output (using System class). Write an applet that allows the user to input the four arguments required by method drawRect and then draws an rectangular using four input values. Due date: Monday 9/7/01


Download ppt "Chapter 2 - Introduction to Java Applications"

Similar presentations


Ads by Google