Home | Résumé | Courses | Contact | Useful Links | Favorite Links | USC - Homepage


Computer Science 1 - (CPTR151) - Lectures  


 Return to Courses | Course Content  



Computer Science 1 - (CPTR151)

by David Siguelnitzky, MIS; MTE

Lecture 2 - Version 1.2.1

Introduction to Java Applications


                      

                Lecture Outline

                        2.1 Introduction
                        2.2 A First Program in Java: Printing a Line of Text
                        2.3 Modifying Our First Java Program
                        2.4 Displaying Text in a Dialog Box
                        2.5 Another Java Application: Adding Integers
                        2.6 Memory Concepts
                        2.7 Arithmetic
                        2.8 Decision Making: Equality and Relational Operators

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


                    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

                    1 // Fig. 2.1: Welcome1.java
                    2 // Text-printing program.
                    3
                    4 public class Welcome1 {
                    5
                    6     // main method begins execution of Java application
                    7     public static void main( String args[] )
                    8     {
                    9             System.out.println( "Welcome to Java Programming!" );
                    10
                    11     } // end method main
                    12
                    13 } // end class Welcome1

                   


                   Welcome to Java Programming!

 

                    1 // 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

                    3
                   
    – Blank line
                            • Makes program more readable
                            • Blank lines, spaces, and tabs are white-space characters
                        – Ignored by compile
r
                   
                    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
                        – 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
                    – For chapters 2 to 7, use public keyword
                        • Certain details not important now
                        • Mimic certain features, discussions later
                   
                    – 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 (see ch. 6)
                        – Java applications contain one or more methods
                   
                   
7 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
                   
                   
8 {
                        – Left brace begins body of method declaration
                                • Ended by right brace } (line 11)
                   
        
           9 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 ;
               
                   
11 } // 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
   
   

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

           


       Executing Welcome1 in a Microsoft Windows 2000 Command Prompt.

                    Modifying Our First Java Program
                        • Modify example in Fig. 2.1 to print same contents using different code
                        • Modifying programs
                                – Welcome2.java (Fig. 2.3) produces same output as
                                – Welcome1.java (Fig. 2.1)
                                – Using different code

                    9
  System.out.print( "Welcome to " );
                    10 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


 
                   1 // Fig. 2.3: Welcome2.java
                    2 // Printing a line of text with multiple statements.
                    3
                    4 public class Welcome2 {
                    5
                    6     // main method begins execution of Java application
                    7     public static void main( String args[] )
                    8     {
                    9             System.out.print( "Welcome to " ); //
                    10           System.out.println( "Java Programming!" );
                    11
                    12     } // end method main
                    13
                    14 } // end class Welcome2

       


                   
Welcome to Java Programming!
 

       
                    (System.out.print keeps the cursor on the same line, so System.out.println continues on the same line.)

                        • 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!" );
       


                    1 // Fig. 2.4: Welcome3.java
                    2 // Printing multiple lines of text with a single statement.
                    3
                    4 public class Welcome3 {
                    5
                    6     // main method begins execution of Java application
                    7     public static void main( String args[] )
                    8     {
                    9             System.out.println( "Welcome\nto\nJava\nProgramming!" );
                    10
                    11    } // end method main
                    12
                    13 } // end class Welcome3

       
   
                    Welcome
                    to
                    Java
                    Programming!

   
                    (Notice how a new line is output for each \n escape sequence.)
               
               
                    Escape characters
                        – Backslash ( \ )
                        – Indicates special characters be output

      
                                                                      

                    Displaying Text in a Dialog Box
                        • Display
                                – Most Java applications use windows or a dialog box
                        • We have used command window
                                – Class JOptionPane allows us to use dialog boxes
                        • Packages
                                – 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
                        • Package has classes for using Graphical User Interfaces (GUIs)
   
                                           

 


                    1 // Fig. 2.6: Welcome4.java
                    2 // Printing multiple lines in a dialog box.
                    3
                    4 // Java packages
                    5 import javax.swing.JOptionPane; // program uses JOptionPane
                    6
                    7 public class Welcome4 {
                    8
                    9     // main method begins execution of Java application
                    10     public static void main( String args[] )
                    11     {
                    12         JOptionPane.showMessageDialog(null, "Welcome\nto\nJava\nProgramming!" );
                    13
                    14
                    15         System.exit( 0 ); // terminate application with window
                    16
                    17     } // end method main
                    18
                    19 } // end class Welcome4

   

                    –Lines 1-2: comments as before
                    4 // Java packages
                        – Two groups of packages in Java API
                        – Core packages
                                • Begin with java
                                • Included with Java 2 Software Development Kit
                        – Extension packages
                                • Begin with javax
                                • New Java packages


                   
5 import javax.swing.JOptionPane; // program uses JOptionPane
                   
    – import declarations
                                • Used by compiler to identify and locate classes used in Java programs
                                • Tells compiler to load class JOptionPane from javax.swing package

   
                    Lines 6-11: Blank line, begin class Welcome4 and main
       
                   
12 JOptionPane.showMessageDialog(null, "Welcome\nto\nJava\nProgramming!" );
                        – 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 using class name, dot (.) then method name
   
                        – All statements end with ;
                                • A single statement can span multiple lines
                                • Cannot split statement in middle of identifier or string
                    – Executing lines 12 and 13 displays the dialog box

                        • Automatically includes an OK button
                                – Hides or dismisses dialog box
                        • Title bar has string Message

                    15 System.exit( 0 ); // terminate application with window
                        – Calls static method exit of class System
                                • Terminates application
                        – Use with any application displaying a GUI
                                • Because method is static, needs class name and dot (.)
                                • Identifiers starting with capital letters 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 declaration needed
                                • java.lang automatically imported in every Java program
                    – Lines 17-19: Braces to end Welcome4 and main



                    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


                    1 // Fig. 2.9: Addition.java
                    2 // Addition program that displays the sum of two numbers.
                    3
                    4 // Java packages
                    5 import javax.swing.JOptionPane; // program uses JOptionPane
                    6
                    7 public class Addition {
                    8
                    9     // main method begins execution of Java application
                    10     public static void main( String args[] )
                    11     {
                    12         String firstNumber; // first string entered by user
                    13         String secondNumber; // second string entered by user
                    14
                    15         int number1; // first number to add
                    16         int number2; // second number to add
                    17         int sum; // sum of number1 and number2
                    18
                    19         // read in first number from user as a String
                    20         firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
                    21
                    22         // read in second number from user as a String
                    23         secondNumber = JOptionPane.showInputDialog( "Enter second integer" );
                    24        
                    25
                    26         // convert numbers from type String to type int
                    27         number1 = Integer.parseInt( firstNumber );
                    28         number2 = Integer.parseInt( secondNumber );
                    29
                    30        // add numbers
                    31         sum = number1 + number2;
                    32
                    33         // display result
                    34         JOptionPane.showMessageDialog( null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE );
                    35 
                    36
                    37         System.exit( 0 ); // terminate application with window
                    38
                    39     } // end method main
                    40
                    41 } // end class Addition

       




 


                   
5 import javax.swing.JOptionPane; // program uses JOptionPane
                   
    –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

               
                   
12 String firstNumber; // first string entered by user
                    13 String secondNumber; // second string entered by user

                        – Declaration
                                • firstNumber and secondNumber are variables

                        – Variables
                                • Location in memory that stores a value
                        – Declare with name and type before use
                                • firstNumber and secondNumber are of type String (package java.lang)
                        – Hold strings
                                • Variable name: any valid identifier
                                • Declarations end with semicolons ;


                    13 String firstNumber, secondNumber;
                        – Can declare multiple variables of the same type at a time
                        – Use comma separated list
                        – Can add comments to describe purpose of variables

   

                    15 int number1; // first number to add
                    16 int number2; // second number to add
                    17 int sum; // 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
                                • Primitive types - more in Chapter 4

       
                   
20 firstNumber = JOptionPane.showInputDialog( "Enter first integer" );
                        – Reads 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 (non-integer) or click Cancel, error occurs

                        – Result of call to showInputDialog given to firstNumber using 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" )
   
                    23 secondNumber = JOptionPane.showInputDialog( "Enter second integer" );
                   
    – Similar to previous statement
                                • Assigns variable secondNumber to second integer input

                   
27 number1 = Integer.parseInt( firstNumber );
                    28 number2 = Integer.parseInt( secondNumber );

                        – Method Integer.parseInt
                                • Converts String argument into an integer (type int)
                        – Class Integer in java.lang
                                • Integer returned by Integer.parseInt is assigned to variable number1 (line 27)
                        – Remember that number1 was declared as type int
                                • Line 28 similar


                   
31 sum = number1 + number2;
                        – Assignment statement
                                • 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

   
                   
34  JOptionPane.showMessageDialog( null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE );
                        – Use showMessageDialog to display results
                        –" The sum is " + sum
                                • Uses the operator + to "add" the string literal "The sum is" and sum
                                • Concatenation of a String and another 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 11

                        – Different version of showMessageDialog
                                • Requires four arguments (instead of two as before)
                                • First argument: null for now
                                • Second: string to display
                                • Third: string in title bar
                                • Fourth: type of message dialog with icon
                        – Line 35 no icon: JOptionPane.PLAIN_MESSAGE





                    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

   

                    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
                                •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
           
                    Decision Making: Equality and Relational Operators
                       
if control statement
                                – 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 statements can be formed using equality or relational operators
                    if ( condition )
                       statement executed if condition true
                        • No semicolon needed after condition
                                – When IF is true, Else conditional task not performed

   

                    • Upcoming program uses if statements
                           
– Discussion afterwards
   
                    1 // Fig. 2.20: Comparison.java
                    2 // Compare integers using if statements, relational operators
                    3 // and equality operators.
                    4
                    5 // Java packages
                    6 import javax.swing.JOptionPane;
                    7
                    8 public class Comparison {
                    9
                    10     // main method begins execution of Java application
                    11     public static void main( String args[] )
                    12     {
                    13         String firstNumber; // first string entered by user
                    14         String secondNumber; // second string entered by user
                    15         String result; // a string containing the output
                    16
                    17         int number1; // first number to compare
                    18         int number2; // second number to compare
                    19
                    20         // read first number from user as a string
                    21         firstNumber = JOptionPane.showInputDialog( "Enter first integer:" );
                    22
                    23         // read second number from user as a string
                    24         secondNumber =
                    25         JOptionPane.showInputDialog( "Enter second integer:" );
                    26
                    27         // convert numbers from type String to type int
                    28         number1 = Integer.parseInt( firstNumber );
                    29         number2 = Integer.parseInt( secondNumber );
                    30
                    31         // initialize result to empty String
                    32         result = "";
                    33
                    34         if ( number1 == number2 )
                    35                 result = result + number1 + " == " + number2;
                    36
                    37         if ( number1 != number2 )
                    38                 result = r    esult + 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
                    49         if ( number1 >= number2 )
                    50                 result = result + "\n" + number1 + " >= " + number2;
                    51
                    52         // Display results
                    53         JOptionPane.showMessageDialog( null, result, "Comparison Results", JOptionPane.INFORMATION_MESSAGE );
                    54        
                    55
                    56         System.exit( 0 ); // terminate application
                    57
                    58     } // end method main
                    59
                    60 } // end class Comparison




                        – Lines 1-12: Comments, import JOptionPane, begin class Comparison and main
                        – Lines 13-18: declare variables
                                • Can use comma-separated lists instead:

   
                    13  String firstNumber,
                    14 secondNumber,
                    15 result;
   

                   
    – Lines 21-30: obtain user-input numbers and parses input string into integer variables
   
                    32 result = "";
                     
   – Initialize result with empty string
       
                    34 if ( number1 == number2 )
                    35         result = result + number1 + " == " + number2;

           
                        – if statement to test for equality using (==)
                                • If variables equal (condition true)
                        – result concatenated using + operator
                        – result = result + other strings
                        – Right side evaluated first, new string assigned to result
                                • If variables not equal, statement skipped
   
                        –Lines 37-50: other if statements testing for less than, more than, etc.
                                • If number1 = 123 and number2 = 123
                        – Line 34 evaluates true (if number1 = = number 2)
                                • Because number1 equals number2
                        – Line 40 evaluates false (if number1 < number 2)
                                • Because number1 is not less than number2
                        – Line 49 evaluates true (if number1 >= number2)
                                • Because number1 is greater than or equal to number2
                        – Lines 53-54: result displayed in a dialog box using showMessageDialog
       
                        • Precedence of operators
                                – All operators except for = (assignment) associates from left to right
                        • For example: x = y = z is evaluated x = (y = z)

   

   


                Source: Java: How to Program – 5th Edition Deitel & Deitel



 Return to Courses | Course Content  


 Home | Résumé | Courses | Contact | Useful Links | Favorite Links | USC - Homepage