Chapter 2 - 1 Chapter 2 Getting Started with Java.

Slides:



Advertisements
Similar presentations
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 2 Getting Started with Java.
Advertisements

©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 2 Getting Started with Java Animated Version.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Four Defining Your Own Classes.
Introduction to Java.
L2:CSC © Dr. Basheer M. Nasef Lecture #2 By Dr. Basheer M. Nasef.
The Web Warrior Guide to Web Design Technologies
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Ch2: Getting Started with Java - Objectives After.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 2 Getting Started with Java Program development.
Primitive Data Types and Operations. Introducing Programming with an Example public class ComputeArea { /** Main method */ public static void main(String[]
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 2 Getting Started with Java Structure of.
Mathematical Operators  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this course. Introduction to Computers and Programming in.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 2 Getting Started with Java Structure of.
Introduction to Computers and Programming Lecture 3: Variables and Input Professor: Evan Korth New York University.
Getting Started with Java
©2004 Brooks/Cole Chapter 1: Getting Started Sections Covered: 1.1Introduction to Programming 1.2Constructing a Java Program 1.3The print() and println()
COMPSCI 125 Spring 2005 ©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 2: Getting Started with Java *Components.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 2 Getting Started with Java.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 4 Defining Your Own Classes.
Programming with Java standard classes. Java API Application Programming Interface Provides hundreds of standard classes that can be incorporated into.
Chapter 2 Getting Started with Java Part B. Topics Components of a Java Program –classes –methods –comments –import statements Declaring and creating.
Fundamental Programming Structures in Java: Comments, Data Types, Variables, Assignments, Operators.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 4 Defining Your Own Classes.
Guide To UNIX Using Linux Third Edition
CS 180 Recitation 8 / {30, 31} / Announcements Project 1 is out –Due 10:00pm –Start early! –Use the newsgroup for your questions –LWSN B146.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Software Engineering Software Development Process.
Introduction to scripting
CS1101: Programming Methodology
Getting Started with Java Recitation – 1/23/2009 CS 180 Department of Computer Science, Purdue University.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 2 Getting Started with Java Animated Version.
The Java Programming Language
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Java Programming, Second Edition Chapter One Creating Your First Java Program.
Computer Programming 2 Lab(1) I.Fatimah Alzahrani.
CHAPTER 3 GC Java Fundamentals. 2 BASICS OF JAVA ENVIRONMENT  The environment  The language  Java applications programming Interface API  Various.
CS1101X: Programming Methodology Recitation 1 Java Basics Numerical Data.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Sample Slides - 1 Sample Animated Slides for Wu, Intro to OOP.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 4 Defining Your Own Classes.
SE-1010 Dr. Mark L. Hornick 1 Java Programming Basics.
1 CSE1340 Class 4. 2 Objectives Write a simple computer program in Java Use Swing components to build the GUI Use proper naming conventions for classes.
Identifiers Identifiers in Java are composed of a series of letters and digits where the first character must be a letter. –Identifiers should help to.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Chapter 2 Getting Started with Java. Objectives After you have read and studied this chapter, you should be able to Identify the basic components of Java.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
 2005 Pearson Education, Inc. All rights reserved. 1 A class A class is the blueprint from which objects are generated. In other words, if we have six.
1 Training Lecture 1. 2 Primitive Data Declaration and Assignments Code State of Memory int firstNumber, secondNumber; firstNumber = 234; secondNumber.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Getting Started with Java: Object declaration and creation Primitive.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 2 Getting Started with Java Animated Version.
Strings and I/O. Lotsa String Stuff… There are close to 50 methods defined in the String class. We will introduce several of them here: charAt, substring,
Computer Programming 2 Lab (1) I.Fatimah Alzahrani.
بسم الله الرحمن الرحيم CPCS203: Programming II. ©The McGraw-Hill Companies, Inc. Permission required for reproduction or display., Modifications by Dr.
Object Oriented Programming Object and Classes Lecture 3 MBY.
Java Programming Fifth Edition Chapter 1 Creating Your First Java Classes.
Chapter 6 JavaScript: Introduction to Scripting
Intro to OOP with Java, C. Thomas Wu
Introduction to Classes and Objects
An Introduction to Programming Languages
Intro to OOP with Java, C. Thomas Wu Getting Started with Java
2.5 Another Java Application: Adding Integers
Chapter 2 Java Programming Basics
Defining Your Own Classes
Chapter 2 - Introduction to Java Applications
Introduction to Java Programming
Fundamental OOP Programming Structures in Java: Comments, Data Types, Variables, Assignments, Operators.
In this class, we will cover:
Getting Started with Java
Computer Programming-1 CSC 111
Presentation transcript:

Chapter Chapter 2 Getting Started with Java

Chapter Objectives Identify the basic components of Java programs –Write simple Java programs Describe the difference between variable declaration and object 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.

Chapter The first java Program Program Ch2Sample1.java import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFramemyWindow; myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); myWIndow.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); } Declare a name Create an object Use an object a compilation unit

Chapter The First Java Program The fundamental OOP concept used: 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”. –concepts shown: How to use objects. Object declaration; Object creation, Object invocation (message passing)

Chapter Program Diagram for Ch2Sample1 myWindow : JFrame Ch2Sample1 setSize(300, 200) setTitle(“My First Java Program”) setVisible(true)

Chapter Dependency Relationship myWindow : JFrame Ch2Sample1 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.

Chapter More Examples Object (Reference) Declaration JFrame myWindow; Accountcustomer; Studentjan, jim, jon; Vehiclecar1, car2; Object Name One object is declared here. Object Name One object is declared here. Class Name This class must be known by the compiler for this declaration to be compilable. Class Name This class must be known by the compiler for this declaration to be compilable.

Chapter Object Creation myWindow = new JFrame ( ) ; More Examples customer = new Customer( ); jon= new Student(“John Java”); car1= new Vehicle( ); Object Name Name of the object we are creating here. Object Name Name of the object we are creating here. Class Name An instance of this class is created. Class Name An instance of this class is created. Argument No arguments are used here. Argument No arguments are used here.

Chapter Declaration vs. Creation Customer customer; customer = new Customer( ); The identifier customer is declared and space is allocated in memory. 2. A Customer object is created and the identifier customer is set to refer to it. customer 2 : Customer customer 1 3. Customer cus = new Customer() ;

Chapter Identifiers Used for –class name, method name, variables etc. no predefined meaning except as specified by the programmer made up of letters, digits, the underscore character (_), and the dollar sign ($) –They cannot begin with a digit –avoid using $ in your program since it is preserved by many tools. Java is case sensitive, –Total and total are different identifiers

Chapter State-of-Memory vs. Program customer : Customer State-of-Memory Notation customer : Customer Program Diagram Notation

Chapter Name vs. Objects Customer customer; customer = new Customer( ); customer (role) : Customer Created with the first new. Created with the second new. Reference to the first Customer object is lost. (individual)

Chapter Sending a Message myWindow. setVisible ( true ) ; More Examples account.deposit( ); student.setName(“john”); car1.startEngine( ); Object Name Name of the object to which we are sending a message. Object Name Name of the object to which we are sending a message. Method Name The name of the message we are sending. Method Name The name of the message we are sending. Argument The argument we are passing with the message. Argument The argument we are passing with the message.

Chapter Program Components A Java program is composed of –comments, –package statement –import statements, and –class declarations.

Chapter /* Chapter 2 Sample Program: Displaying a Window File: Ch2Sample2.java */ // package no_name_package ; // default package has no name; import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFramemyWindow; myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); } Program Component: Comment Comment

Chapter Matching Comment Markers /* This is a comment on one line */ /* Comment number 1 */ /* Comment number 2 */ /* This is a comment */ Error: No matching beginning marker. These are part of the comment.

Chapter Three Types of Comments /* This is a comment with three lines of text. */ Multiline Comment Single line Comments // This is a comment // This is another comment // This is a third comment /** * This class provides basic clock functions. In addition * to reading the current time and today ’ s date, you can * use this class for stopwatch functions. */ javadoc Comments

Chapter Package Declaration Statement /* Chapter 2 Sample Program: Displaying a Window File: Ch2Sample2.java */ // package no_name_package; import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFramemyWindow; // javax.swing.JFrame myWindow; myWindow = new JFrame( ); // or javax.swing.JFrame(); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); } package declaration ;

Chapter Import Statement /* Chapter 2 Sample Program: Displaying a Window File: Ch2Sample2.java */ import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFramemyWindow; // javax.swing.JFrame myWindow; myWindow = new JFrame( ); // or javax.swing.JFrame(); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); } Import Statement

Chapter Import Statement Syntax and Semantics. ; e.g. dorm. Resident; More Examples import javax.swing.JFrame; import java.util.*; import com.drcaffeine.simplegui.*; Class Name The name of the class we want to import. Use asterisks to import all classes. Class Name The name of the class we want to import. Use asterisks to import all classes. Package Name Name of the package that contains the classes we want to use. Package Name Name of the package that contains the classes we want to use.

Chapter Class Declaration /* Chapter 2 Sample Program: Displaying a Window File: Ch2Sample2.java */ import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFramemyWindow; myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); } Class Declaration

Chapter Method Declaration /* Chapter 2 Sample Program: Displaying a Window File: Ch2Sample2.java */ import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFramemyWindow; myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); } Method Declaration

Chapter Method Declaration Elements public static void main( String[ ] args ){ JFramemyWindow; myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); } Method Body Modifier Return Type Method Name Parameter

Chapter Template for Simple Java Programs /* Chapter 2 Sample Program: Displaying a Window File: Ch2Sample2.java */ import javax.swing.*; class Ch2Sample1 { public static void main(String[ ] args) { JFramemyWindow; myWindow = new JFrame( ); myWindow.setSize(300, 200); myWindow.setTitle(“My First Java Program”); myWindow.setVisible(true); } Import Statements Class Name Comment Method Body package declaration

Chapter 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.

Chapter JOptionPane Using showMessageDialog of the JOptionPane class is a simple way to display a result of a computation to the user.JOptionPane JOptionPane.showMessageDialog(null, “I Love Java”); This dialog will appear at the center of the screen.

Chapter 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”);

Chapter String The textual values passed to the showMessageDialog method are instances of the String class.String 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.

Chapter name String is an Object 1. The identifier name is declared and space is allocated in memory. 2. A String object is created and the identifier name is set to refer to it String name; name = new String(“Jon Java”); : String Jon Java name 2

Chapter String Indexing The position, or index, of the first character is 0.

Chapter 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.

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

Chapter 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.

Chapter Examples: length String str1, str2, str3, str4; str1 = “Hello” ; str2 = “Java” ; str3 = “” ; //empty string str4 = “ “ ; //one space str1.length( ) str2.length( ) str3.length( ) str4.length( )

Chapter 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.

Chapter Examples: indexOf String str; str = “I Love Java and Java loves me.” ; str.indexOf( “J” ) str2.indexOf( “love” ) str3. indexOf( “ove” ) str4. indexOf( “Me” )

Chapter 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.

Chapter Examples: concatenation String str1, str2; str1 = “Jon” ; str2 = “Java” ; str1 + str2 str1 + “ “ + str2 str2 + “, “ + str1 “Are you “ + str1 + “?” “JonJava” “Java, Jon” “Are you Jon?”

Chapter Date The Date class from the java.util package is used to represent a date.Date –represents a specific instant in time, with millisecond precision. –not accurate; ex: leap second not considered. 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 2003”

Chapter SimpleDateFormat The SimpleDateFormat class allows the Date information to be displayed with various format.SimpleDateFormat 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); sdf2.format(today); “10/31/03” “October 31, 2003”

Chapter JOptionPane for Input Using showInputDialog of the JOptionPane class is a simple way to input a string.JOptionPane 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.

Chapter 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

Chapter 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

Chapter 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

Chapter 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

Chapter Step 1 Code /* Chapter 2 Sample Program: Displays the Monogram File: Step1/Ch2Monogram.java */ package chapter2 ; import javax.swing.*; class Ch2Monogram { public static void main (String[ ] args) { String name; name = JOptionPane.showInputDialog(null, "Enter your full name (first, middle, last):“); JOptionPane.showMessageDialog(null, name); }

Chapter 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

Chapter 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(okay) John Kennedy(not okay) Harrison, William Henry (not okay)

Chapter Step 2 Design (cont’d) Given the valid input, we can compute the monogram by –breaking the input name into first, middle, and last –extracting the first character from them –concatenating three first characters “Aaron Ben Cosner” “Aaron” “Ben Cosner” “Ben” “Cosner” “ABC”

Chapter 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, last):“ );

Chapter 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.length()); middle = name.substring(0, name.indexOf(space)); last = name.substring(name.indexOf(space)+1, name.length()); //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 " + monogram); }

Chapter 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.

Chapter 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