0% found this document useful (0 votes)
48 views

Getting Started With Java

This document provides an introduction to writing Java programs. It discusses the basic components of Java programs which include comments, import statements, and class declarations. It also describes writing a simple Java program that creates a window using the JFrame class. The document explains key concepts such as declaring and creating objects, and sending messages to objects by calling methods. It provides examples of writing comments, import statements, class declarations, and method declarations in a Java program. Finally, it discusses some standard Java classes that are commonly used like JOptionPane, String, Date, and SimpleDateFormat.

Uploaded by

colleeb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Getting Started With Java

This document provides an introduction to writing Java programs. It discusses the basic components of Java programs which include comments, import statements, and class declarations. It also describes writing a simple Java program that creates a window using the JFrame class. The document explains key concepts such as declaring and creating objects, and sending messages to objects by calling methods. It provides examples of writing comments, import statements, class declarations, and method declarations in a Java program. Finally, it discusses some standard Java classes that are commonly used like JOptionPane, String, Date, and SimpleDateFormat.

Uploaded by

colleeb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 51

Getting Started with Java

Lesson Objectives

After you have read and studied this lesson, you should be
able to:
• Identify the basic components of Java programs
• Write simple Java programs
• Describe the difference between object declaration and creation
• Describe the process of creating and running Java programs
• Use the Date, SimpleDateFormat, String, and JOptionPane standard
classes
• Develop Java programs, using the incremental development approach
The First Java Program

 The fundamental OOP concept illustrated by the program:


 An object-oriented program uses objects.
 This program displays a window on the screen.
 The size of the window is set to 300 pixels wide and 200 pixels
high. Its title is set to My First Java Program.
Program Ch2Sample1

import javax.swing.*;

class Ch2Sample1 {
public static void main(String[ ] args) {

JFrame myWindow; Declare a name

myWindow = new JFrame( ); Create


an object

myWindow.setSize(300, 200);
myWindow.setTitle(“My First Java Program”);
myWindow.setVisible(true);
}
}
Use an object
Program Diagram for Ch2Sample1

Ch2Sample1 setSize(300, 200)

setTitle(“My First Java Program”)


myWindow : JFrame
(true)
setVisible
Dependency Relationship

Ch2Sample1

myWindow : JFrame

Instead of drawing all messages, we summarize it by showing only the dependency


relationship. The diagram shows that Ch2Sample1 “depends” on the service
provided by myWindow.
Object Declaration

Class Name
Object Name
This class must be
One object is declared
defined before this
here.
declaration
can be stated.

JFrame myWindow;

Account customer;
More
jan, jim, jon;
Examples
Student car1, car2;
Object Creation

Object Name Class Name Argument


Name of the object we An instance of this class No arguments are used
are creating here. is created. here.

myWindow = new JFrame ( );

customer = new Customer( );


More jon = new Student(“John
Examples Java”); car1 = new Vehicle( );
Declaration vs. Creation

1 Customer customer;
2 customer = new Customer( );

1. The identifier customer is 2. A Customer object is


declared and space is created and the identifier
allocated in memory. customer is set to refer to it.

customer customer
1 2

: Customer
State-of-Memory vs. Program

customer

customer : Customer

: Customer

State-of-Memory Notation Program Diagram Notation


Name vs. Objects

Customer customer;
= new Customer( );
customer = new Customer( );

customer

customer

Created with the second


Created with : Customer new. Reference to the first
: Customer
the first Customer object is lost.
new.
Sending a Message

Object Name Method Name Argument


Name of the object to The name of the The argument we are
which we are sending a message we are sending. passing with the
message. message.

myWindow . setVisible ( true ) ;

account.deposit( 200.0 );
More
student.setName(“john”);
Examples car1.startEngine( );
Program Components

 A Java program is composed of

– comments,

– import statements, and

– class declarations.
Program Component: Comment
/*
Chapter 2 Sample Program: Displaying a Window

File: Ch2Sample2.java
*/

import javax.swing.*;

class Ch2Sample1 {
public static void main(String[ ] args) {
Comment
JFrame myWindow;

myWindow = new JFrame( );

myWindow.setSize(300, 200);
myWindow.setTitle(“My First Java Program”);
myWindow.setVisible(true);
}
}
Matching Comment Markers

/* This is a comment on one line */

/*
Comment number 1
*/
/*
Comment number 2
*/

These are part of the


/* comment.

/*
/*
This is a comment
*/ Error: No matching
beginning marker.
*/
Three Types of Comments

/*
This is a comment with
three lines of Multiline Comment
text.
*/

// This is a comment
// This is another comment Single line Comments
// This is a third comment

/**
* This class provides basic clock functions. In addition
javadoc Comments
* to reading the current time and today’s date, you can
* use this class for stopwatch functions.
*/
Import Statement
/*
Chapter 2 Sample Program: Displaying a Window

File: Ch2Sample2.java
*/
Import
import javax.swing.*;
Statement
class Ch2Sample1 {
public static void main(String[ ] args) {
JFrame myWindow;

myWindow = new JFrame( );

myWindow.setSize(300, 200);
myWindow.setTitle(“My First Java Program”);
myWindow.setVisible(true);
}
}
Import Statement Syntax and Semantics

Package Name Class Name


Name of the package that The name of the class we
contains the classes we want to import. Use asterisks
want to use. to import all classes
.

<package name> . <class name> ;


e.g. dorm Resident;

More import javax.swing.JFrame;


java.util.*;
Examples import com.drcaffeine.simplegui.*;

import
Class Declaration
/*
Chapter 2 Sample Program: Displaying a Window
Class
Declaration
File: Ch2Sample2.java
*/

import javax.swing.*;

class Ch2Sample1 {
public static
void main(String[
] args) {
JFrame

myWindow;

myWindow = new
JFrame( );

myWindow.setSize(300, 200);
myWindow.setTitle(“My First Java Program”);
myWindow.setVisible(true);
Method Declaration
/*
Chapter 2 Sample Program: Displaying a Window

File: Ch2Sample2.java Method


*/ Declaration
import javax.swing.*;

class Ch2Sample1 {
public static void main(String[ ] args) {
JFrame myWindow;

myWindow = new JFrame( );

myWindow.setSize(300, 200);
myWindow.setTitle(“My First Java Program”);
myWindow.setVisible(true);
}
}
Method Declaration Elements

Modifier Modifier Return Type Method Name Parameter

public static main( String[ ] args ){


void
Method Body
JFrame myWindow;
myWindow = new JFrame( );

myWindow.setSize(300, 200);
myWindow.setTitle(“My First Java Program”);
myWindow.setVisible(true);

}
Template for Simple Java Programs

Comment

Import
Statements
class {

public static void main(String[ ] args) {


Class Name

Method Body

}
}
Why Use Standard Classes

 Don’t reinvent the wheel. When there are existing objects that satisfy
our needs, use them.
 Learning how to use standard Java classes is the first step toward
mastering OOP. Before we can learn how to define our own classes,
we need to learn how to use existing classes
 We will introduce four standard classes here:
 JOptionPane
 String
 Date
 SimpleDateFormat.
JOptionPane

• Using showMessageDialog of the JOptionPane class is a simple


way to display a result of a computation to the user.

JOptionPane.showMessageDialog(null, “I Love Java”);

This dialog will appear


at the center of the
screen.
Displaying Multiple Lines of Text

• We can display multiple lines of text by separating lines with a new


line marker \n.

JOptionPane.showMessageDialog(null,
“one\ntwo\nthree”);
String

 The textual values passed to the showMessageDialog method


are instances of the String class.
 A sequence of characters separated by double quotes is
a String constant.
 There are close to 50 methods defined in the String class. We
will introduce three of them here: substring, length, and
indexOf.
 We will also introduce a string operation called
concatenation.
String is an Object
1 String name;
2 name = new String(“Jon Java”);

1. The identifier name is 2. A String object is created


declared and space and the identifier name
is allocated in is set to refer to it.
memory.

name name
1 2

: String

Jon Java
String Indexing

The position, or index, of


the first character is 0.
Definition: substring

• Assume str is a String object and properly initialized to a


string.
• str.substring( i, j ) will return a new string by extracting
characters of str from position i to j-1 where 0  i  length of str,
0  j  length of str, and i  j.
• If str is “programming” , then str.substring(3, 7) will create a
new string whose value is “gram” because g is at position 3 and
m is at position 6.
• The original string str remains unchanged.
Examples: substring

String text = “Espresso”;

text.substring(6,8) “so”
text.substring(0,8) “Espresso”
text.substring(1,5)
“spre”
text.substring(3,3)
“”
text.substring(4,2)
error
Definition: length

• Assume str is a String object and properly initialized to a


string.
• str.length( ) will return the number of characters in
str.
• If str is “programming” , then str.length( ) will return 11 because
there are 11 characters in it.
• The original string str remains unchanged.
Examples: length
String str1, str2, str3, str4;
str1 = “Hello” ;
str2 = “Java” ;
str3 = “” ; //empty string
str4 = “ “ ; //one space

str1.length( ) 5
str2.length( )
4
str3.length( )
0
str4.length( )
1
Definition: indexOf

 Assume str and substr are String objects and properly


initialized.
 str.indexOf( substr ) will return the first position substr occurs in
str.
 If str is “programming” and substr is “gram” , then
str.indexOf(substr ) will return 3 because the position of the first
character of substr in str is 3.
 If substr does not occur in str, then –1 is returned.
 The search is case-sensitive.
Examples: indexOf

String str;
str = “I Love Java and Java loves me.” ;

3 7 21

str.indexOf( “J” ) 7
str2.indexOf( “love” )
21
str3. indexOf( “ove” )
3
str4. indexOf( “Me” )
-1
Definition: concatenation

• Assume str1 and str2 are String objects and properly


initialized.
• str1 + str2 will return a new string that is a concatenation
of two strings.
• If str1 is “pro” and str2 is “gram” , then str1 + str2 will return
“program”.
• Notice that this is an operator and not a method of the String class.
• The strings str1 and str2 remains the same.
Examples: concatenation

String str1, str2;


str1 = “Jon” ;
str2 = “Java” ;

str1 + str2 “JonJava”


str1 + “ “ + str2 “Jon Java”
str2 + “, “ + str1
“Java, Jon”
“Are you “ + str1 + “?”
“Are you Jon?”
Date

 The Date class from the java.util package is used to represent a


date.
 When a Date object is created, it is set to today (the current date
set in the computer)
 The class has toString method that converts the internal format to
a string.

Date today;
today = new Date( );

today.toString( );
“Fri Oct 31 10:05:18 PST 2020”
SimpleDateFormat

 The SimpleDateFormat class allows the Date information to be


displayed with various format.
 Table 2.1 page 64 shows the formatting options.

Date today = new Date( );


SimpleDateFormat sdf1, sdf2;
sdf1 = new SimpleDateFormat(
“MM/dd/yy” );
sdf2 = new SimpleDateFormat(
“MMMM dd, yyyy” );
sdf1.format(today); “10/31/03”

sdf2.format(today); “October 31, 2020”


JOptionPane for Input

 Using showInputDialog of the JOptionPane class is a simple way to


input a string.

String name;

name = JOptionPane.showInputDialog
(null, “What is your name?”);

This dialog will appear


at the center of the
screen ready to accept
an input.
Problem Statement

• Problem statement:
Write a program that asks for the user’s first,
middle, and last names and replies with their
initials.

Example:

input: Andrew Lloyd Weber


output: ALW
Overall Plan

• Identify the major tasks the program has to perform.


• We need to know what to develop before we
develop!
• Tasks:
– Get the user’s first, middle, and last names
– Extract the initials and create the monogram
– Output the monogram
Development Steps

We will develop this program in two steps:

1. Start with the program template and add code to get


input

2. Add code to compute and display the monogram


Step 1 Design

 The program specification states “get the user’s name” but


doesn’t say how.
 We will consider “how” in the Step 1 design
 We will use JOptionPane for input
 Input Style Choice #1
 Input first, middle, and last names separately
 Input Style Choice #2
 Input the full name at once
 We choose Style #2 because it is easier and quicker for the user
to enter the information
Step 1 Code
/*
Chapter 2 Sample Program: Displays the Monogram

File: Step1/Ch2Monogram.java
*/

import javax.swing.*;

class Ch2Monogram {
public static
void main
(String[ ] args)
{

String name;

name =
JOptionPane.s
howInputDialo
g(null,
Step 1 Test

• In the testing phase, we run the program and


verify that
– we can enter the name
– the name we enter is displayed correctly
Step 2 Design

 Our programming skills are limited, so we will make the


following assumptions:
 input string contains first, middle, and last names
 first, middle, and last names are separated by single
blank spaces
 Example

John Quincy Adams John (okay)


Kennedy Harrison, William (not okay)
Henry (not okay)
Step 2 Design (cont’d)

• Given the valid input, we can


compute the monogram by
“Aaron Ben Cosner”
– breaking the input name into
first, middle, and last
– extracting the first “Aaron” “Ben Cosner”
character from them
– concatenating three first
“Ben” “Cosner”
characters

“ABC”
Step 2 Code
/*
Chapter 2 Sample Program: Displays the Monogram

File: Step 2/Ch2MonogramStep2.java


*/
import javax.swing.*;

class Ch2Monogram {

public static void main (String[ ] args) {


String name, first, middle, last,
space, monogram;

space = " “;

//Input the full name


name =
JOptionPane.showInputDialog(null,
"Enter your full name
(first, middle,
Step 2 Code (cont’d)
//Extract first, middle, and last names
first = name.substring(0, name.indexOf(space));
name = name.substring(name.indexOf(space)+1,
name.leng
th());

middle = name.substring(0, name.indexOf(space));


last = name.substring(name.indexOf(space)+1,
name.lengt
h());

//Compute the monogram


monogram = first.substring(0, 1) +
middle.substring(0, 1) +
last.substring(0,1);

//Output the result


JOptionPane.showMessageDialog(null,
"Your

monogram is " +
Step 2 Test

• In the testing phase, we run the program and verify that, for all
valid input values, correct monograms are displayed.

• We run the program numerous times. Seeing one correct


answer is not enough. We have to try out many different types
of (valid) input values.
Program Review

• The work of a programmer is not done yet.


• Once the working program is developed, we perform a critical
review and see if there are any missing features or possible
improvements
• One suggestion
– Improve the initial prompt so the user knows the valid input
format requires single spaces between the first, middle, and last
names

You might also like