1 / 54

Chapter 2 - Introduction to Java Applications

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.1 Introduction. In this chapter

amma
Download Presentation

Chapter 2 - Introduction to Java Applications

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. Chapter 2 - Introduction to Java Applications Outline2.1 Introduction2.2 A Simple Program: Printing a Line of Text2.3 Another Java Application: Adding Integers2.4 Memory Concepts2.5 Arithmetic2.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. 1 // Fig. 2.1: Welcome1.java 2 // A first program in Java 3 4 public class Welcome1 { 5 public static void main( String args[] ) 6 { 7 System.out.println( "Welcome to Java Programming!" ); 8 } 9 } Java program Program Output Welcome to Java Programming!

  5. 1 // Fig. 2.1: Welcome1.java 2 // A first program in Java 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

  6. 3 4 public class Welcome1 { 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

  7. 4 public class Welcome1 { 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

  8. 4 public class Welcome1 { 5 public static void main( String args[] ) 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

  9. 5 public static void main( String args[] ) 6 { 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

  10. 7 System.out.println( "Welcome to Java Programming!" ); 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 ;

  11. 8 } 9 } 8 } // end of method main() 9 } // end of class Welcome1 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

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

  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. 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 { 7 System.out.print( "Welcome to " ); System.out.print keeps the cursor on the same line, so System.out.println continues on the same line. 8 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 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. 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 { 7 System.out.println( "Welcome\nto\nJava\nProgramming!" ); 8 } 9 } Notice how a new line is output for each \n escape sequence. Class Welcome1 1. main 2. System.out.println (uses \n for newline) Program Output 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. 1 // Fig. 2.6: Welcome4.java 2 // Printing multiple lines in a dialog box 3 import javax.swing.JOptionPane; // import class JOptionPane 4 5 public class Welcome4 { 6 public static void main( String args[] ) 7 { 8 JOptionPane.showMessageDialog( 9 null, "Welcome\nto\nJava\nProgramming!" ); 10 11 System.exit( 0 ); // terminate the program 12 } 13 } Java program using dialog box Program Output

  21. 3 import javax.swing.JOptionPane; // import class JOptionPane 4 5 public class Welcome4 { 6 public static void main( String args[] ) 7 { 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

  22. 8 JOptionPane.showMessageDialog( 9 null, "Welcome\nto\nJava\nProgramming!" ); 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

  23. 8 JOptionPane.showMessageDialog( 9 null, "Welcome\nto\nJava\nProgramming!" ); 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

  24. 11 System.exit( 0 ); // terminate the program 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

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

  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. 1 // Fig. 2.8: Addition.java 2 // An addition program 3 4 import javax.swing.JOptionPane; // import class JOptionPane 5 6 public class Addition { 7 public static void main( String args[] ) 8 { 9 String firstNumber, // first string entered by user 10 secondNumber; // second string entered by user 11 int number1, // first number to add 12 number2, // second number to add 13 sum; // sum of number1 and number2 14 15 // read in first number from user as a string 16 firstNumber = 17 JOptionPane.showInputDialog( "Enter first integer" ); 18 19 // read in second number from user as a string 20 secondNumber = 21 JOptionPane.showInputDialog( "Enter second integer" ); 22 23 // convert numbers from type String to type int 24 number1 = Integer.parseInt( firstNumber ); 25 number2 = Integer.parseInt( secondNumber ); 26 27 // add the numbers 28 sum = number1 + number2; 29 30 // display the results Java Program using input dialogs

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

  29. 4 import javax.swing.JOptionPane; // import class JOptionPane 6 public class Addition { 9 String firstNumber, // first string entered by user 10 secondNumber; // second string entered by user 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

  30. 9 String firstNumber, // first string entered by user 10 secondNumber; // second string entered by user 2.3 Another Java Application: Adding Integers • 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

  31. 11 int number1, // first number to add 12 number2, // second number to add 13 sum; // sum of number1 and number2 2.3 Another Java Application: Adding Integers • 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. 15 // read in first number from user as a string 16 firstNumber = 17 JOptionPane.showInputDialog( "Enter first integer" ); 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

  33. 15 // read in first number from user as a string 16 firstNumber = 17 JOptionPane.showInputDialog( "Enter first integer" ); 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" )

  34. 19 // read in second number from user as a string 20 secondNumber = 21 JOptionPane.showInputDialog( "Enter second integer" ); 23 // convert numbers from type String to type int 24 number1 = Integer.parseInt( firstNumber ); 25 number2 = Integer.parseInt( secondNumber ); 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

  35. 27 // add the numbers 28 sum = number1 + number2; 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

  36. 33 JOptionPane.PLAIN_MESSAGE ); 31 JOptionPane.showMessageDialog( 32 null, "The sum is " + sum, "Results", 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

  37. 33 JOptionPane.PLAIN_MESSAGE ); 31 JOptionPane.showMessageDialog( 32 null, "The sum is " + sum, "Results", 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

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

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

  40. number1 45 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

  41. 2.5 Arithmetic • 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 { 10 String firstNumber, // first string entered by user 11 secondNumber, // second string entered by user 12 result; // a string containing the output 13 int number1, // first number to compare 14 number2; // second number to compare 15 16 // read first number from user as a string 17 firstNumber = 18 JOptionPane.showInputDialog( "Enter first integer:" ); 19 20 // read second number from user as a string 21 secondNumber = 22 JOptionPane.showInputDialog( "Enter second integer:" ); 23 24 // convert numbers from type String to type int 25 number1 = Integer.parseInt( firstNumber ); 26 number2 = Integer.parseInt( secondNumber ); 27 28 // initialize result to the empty string 29 result = ""; 30

  46. 49 // Display results 34 if ( number1 != number2 ) 35 result = result + number1 + " != " + number2; 50 JOptionPane.showMessageDialog( 51 null, result, "Comparison Results", 36 37 if ( number1 < number2 ) 52 JOptionPane.INFORMATION_MESSAGE ); 53 38 result = result + "\n" + number1 + " < " + number2; 39 54 System.exit( 0 ); 40 if ( number1 > number2 ) 55 } 41 result = result + "\n" + number1 + " > " + number2; 56 } 42 43 if ( number1 <= number2 ) 44 result = result + "\n" + number1 + " <= " + number2; 45 46 if ( number1 >= number2 ) 47 result = result + "\n" + number1 + " >= " + number2; 48 31 if ( number1 == number2 ) 32 result = result + number1 + " == " + number2; 33

  47. Program Output

  48. 10 String firstNumber, // first string entered by user 11 secondNumber, // second string entered by user 12 result; // a string containing the output 13 int number1, // first number to compare 14 number2; // second number to compare 17 firstNumber = 18 JOptionPane.showInputDialog( "Enter first integer:" ); 21 secondNumber = 22 JOptionPane.showInputDialog( "Enter second integer:" ); 2.6 Decision Making: Equality and Relational Operators • Lines 1-9: Comments, importJOptionPane, beginclass Comparison and main • Declare variables • Input data from user and assign to variables

  49. 25 number1 = Integer.parseInt( firstNumber ); 26 number2 = Integer.parseInt( secondNumber ); 29 result = ""; 31 if ( number1 == number2 ) 32 result = result + number1 + " == " + number2; 2.6 Decision Making: Equality and Relational Operators • 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

  50. 34 if ( number1 != number2 ) 35 result = result + number1 + " != " + number2; 36 37 if ( number1 < number2 ) 38 result = result + "\n" + number1 + " < " + number2; 39 40 if ( number1 > number2 ) 41 result = result + "\n" + number1 + " > " + number2; 42 43 if ( number1 <= number2 ) 44 result = result + "\n" + number1 + " <= " + number2; 45 46 if ( number1 >= number2 ) 47 result = result + "\n" + number1 + " >= " + number2; 48 2.6 Decision Making: Equality and Relational Operators • Other if structures • Lines 50-52: result displayed in a dialog box using showMessageDialog

More Related