Chapter 3: Introduction to Objects and Input/Output.

Slides:



Advertisements
Similar presentations
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
Advertisements

Introduction to Objects and Input/Output
Chapter 2 - Introduction to Java Applications
Dialogs. Displaying Text in a Dialog Box Windows and dialog boxes –Up to this our output has been to the screen –Many Java applications use these to display.
Objectives Learn about objects and reference variables Explore how to use predefined methods in a program.
1 Chapter 9 - Formatted Input/Output Outline 9.1Introduction 9.2Streams 9.3Formatting Output with printf 9.4Printing Integers 9.5Printing Floating-Point.
Mathematical Operators  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this course. Introduction to Computers and Programming in.
COMP 14 Introduction to Programming Miguel A. Otaduy May 17, 2004.
COMP 14 Introduction to Programming Mr. Joshua Stough February 2, 2005 Monday/Wednesday 11:00-12:15 Peabody Hall 218.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 29, 2005.
Chapter 9 Formatted Input/Output Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
School of Computing Science CMT1000 Ed Currie © Middlesex University Lecture 4: 1 CMT1000: Introduction to Programming Ed Currie Lecture 5a: Input and.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 9 - Formatted Input/Output Outline 9.1Introduction.
Chapter 2 - Introduction to Java Applications
Relational Operators Control structures Decisions using “if” statements  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this course.
COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.
JOptionPane class. Dialog Boxes A dialog box is a small graphical window that displays a message to the user or requests input. A variety of dialog boxes.
Warm-Up: Monday, March 3 List all devices you can think of that can be used to input information into the computer.
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
11 Chapter 3 DECISION STRUCTURES CONT’D. 22 FORMATTING FLOATING-POINT VALUES WITH THE DecimalFormat CLASS We can use the DecimalFormat class to control.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Streams Streams –Sequences of characters organized.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 9 - Formatted Input/Output Outline 9.1Introduction.
Chapter 9 Formatted Input/Output. Objectives In this chapter, you will learn: –To understand input and output streams. –To be able to use all print formatting.
Simple Programs from Chapter 2 Putting the Building Blocks All Together (corresponds with Chapter 2)
Chapter 2: Basic Elements of Java J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
CIS 260: App Dev I. 2 Objects and Reference Variables n Predefined Java classes you have used:  String —for defining and manipulating strings  Integer.
Chapter 2 Basic Elements of Java. Chapter Objectives Become familiar with the basic components of a Java program, including methods, special symbols,
Using Classes BCIS 3680 Enterprise Programming. Overview 2  Using Classes  Using premade classes for input and output  Display output: System, JOptionPane.
Jaeki Song ISQS6337 JAVA Lecture 03 Introduction to Java -The First Java Application-
CIS 260: App Dev I. 2 Programs and Programming n Program  A sequence of steps designed to accomplish a task n Program design  A detailed _____ for implementing.
Java Programming: From Problem Analysis to Program Design, 3e Chapter 3 Introduction to Objects and Input/Output.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 2 Basic Elements of Java.
Chapter 2 – Continued Basic Elements of Java. Chapter Objectives Type Conversion String Class Commonly Used String Methods Parsing Numeric Strings Commonly.
Chapter 2: Java Fundamentals Type conversion,String.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 2 - Introduction to Java Applications Outline 2.1Introduction 2.2A Simple Program: Printing a.
Using Data Within a Program Chapter 2.  Classes  Methods  Statements  Modifiers  Identifiers.
Java Fundamentals 5. Java Programming: From Problem Analysis to Program Design, Second Edition2 Parsing Numeric Strings  Integer, Float, and Double are.
Methods in Java. Program Modules in Java  Java programs are written by combining new methods and classes with predefined methods in the Java Application.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 3: Input/Output.
Objectives ► Become familiar with the class String ► ► Learn how to use input and output dialog boxes in a program ► ► Learn how to tokenize the input.
Lecture 2 Objectives Learn about objects and reference variables.
Dialog Boxes.
Data Types – Reference Types Objective To understand what reference types are The need to study reference types To understand Java standard packages To.
GUI Graphical User Interface Each onscreen component and window is an object Object interaction makes communication and scoping challenging Event-driven.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 3 Introduction to Objects and Input/Output.
Chapter 3: Input/Output
Java Fundamentals Part Integer Division Division can be tricky. In a Java program, what is the value of 1/2? You might think the answer is.
 2005 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Data Types – Reference Types Objective To understand what reference types are The need to study reference types To understand Java standard packages To.
Java Programming: From Problem Analysis to Program Design, Second Edition 1 Lecture 1 Objectives  Become familiar with the basic components of a Java.
Java Fundamentals 4. Java Programming: From Problem Analysis to Program Design, Second Edition2 Parsing Numeric Strings  Integer, Float, and Double are.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 3: Input/Output Samples.
Java Fundamentals 4.
Java Programming: Guided Learning with Early Objects
Java Programming Lecture 2
Chapter 7 User-Defined Methods.
Outline Creating Objects The String Class Packages Formatting Output
Data Types – Reference Types
Objectives You should be able to describe: Interactive Keyboard Input
2.5 Another Java Application: Adding Integers
Java Programming: From Problem Analysis to Program Design, 4e
OUTPUT STATEMENTS GC 201.
Chapter 3: Introduction to Objects and Input/Output
Chapter 2 - Introduction to Java Applications
Chapter 2: Basic Elements of Java
Chapter 3: Introduction to Objects and Input/Output
Introduction to Java Programming
Chapter 2: Java Fundamentals cont’d
Presentation transcript:

Chapter 3: Introduction to Objects and Input/Output

2 Chapter Objectives  Learn about objects and reference variables.  Explore how to use predefined methods in a program.  Become familiar with the class String.  Learn how to use input and output dialog boxes in a program.  Explore how to format the output of decimal numbers with the String method format.

3 1.int x; 2.x=45; 3.String str; 4.str = “java programming”; Java Variables

4  There are two types of variables in Java:  primitive type variables  reference variables.  Primitive type variables directly store data into their memory space. int x; x = 45;  The variable x can store DIRECTLY an int value in its memory space.  The second statement DIRECTLY stores 45 in x.

5 Object and Reference Variables  In reality, str = “Java Progrmming” is equivalent to String str = new String("Java Programming");  The variable str cannot directly store data in its memory space. The variable str stores the memory location, that is, the address of the memory space where the actual data is stored.

6 So… what is new ?  In java new is an operator that causes the system to: 1.Allocate memory space of a specific type, 2.Store data in that space, 3.Return the address of that space.  Remember:  String  calss type  str  object of that class  So, Reference variables are variables that store the address of the object ( str ). containing the data (“Java Programming”).  An object is an instance of a class and the operator new is used to instantiate an object.

7 Object and Reference Variables  Consequently, str is a reference variable and the memory space(2500) where the string data is stored is called string object or instance of class String.  In java, any variable declared using a class is a reference variable.  String objects are immutable ; that is, once they are created,they cannot be changed.

8 String str; str = "Hello there!"; Object and Reference Variables

9  Java system reclaims unused memory spaces for later use  Garbage collection.  As we saw before, the assignment operator(=) stores the address of that memory space into the variable str. So, String objects can be instantiated without using the new operator.  This is because the class String is so important in Java that it has defined the assignment operator for the class String.  We typically use the assignment operator to instantiate a String object.

10 Using Predefined Classes and Methods in a Program  There are many predefined packages, classes, and methods in Java.  Library: A collection of packages.  Package: Contains several classes.  Class: Contains several methods.  Method: A set of instructions.  main method executes automatically when you run the program.  Other methods executes only when you activate them ( call them).

11 Using Predefined Classes and Methods in a Program To use a method ( pow ) you must know:  Name of the class containing the method. ( Math ).  Name of the package containing the class ( java.lang ).  Name of the method - ( pow ), what the method does, number of its parameters (its has two parameters), type of each parameter and the return type.  Math.pow(x, y) = x y

12 Using Predefined Classes and Methods in a Program  Example method call: import java.lang; //imports package Math.pow(2, 3); //calls power method // in class Math,executes it and // returns the value of 2 3.  Dot (.) operator: Used to access the method in the class.

13 The API documentation How do we find out what methods are available in the Math class?  There is on-line (web based) documentation for the Java libraries.  You don’t need to study the entire set of classes in the API.  What it is useful for is:  Looking up the format for a method you already know exists  Finding a class that you think probably should exist. This will come with experience as you get used to the types of classes that are defined in libraries.

14 Java 2 Platform Standard Edition 5.0 API Specification

15 To find: Ctrl + f

16

17

18

19 The class String  String variables are reference variables.  Given: String name;  Equivalent statements: name = new String("Lisa Johnson"); name = "Lisa Johnson";

20 The class String  A String object is an instance of class String.  A String object with the value "Lisa Johnson" is instantiated.  The address of the object is stored in name.  The new operator is unnecessary when instantiating Java strings.  String methods are called using the dot operator.

21 The class String  Java system automatically makes the class String available (i.e no need to import this class )  Example : Consider the following declaration : String sentence ; sentence = “programming with Java”

22 Some Commonly Used String Methods

23 Some Commonly Used String Methods

24 Some Commonly Used String Methods

25 Some Commonly Used String Methods

26 Examples on String methods String s1; s1 = “abcdefeg” ; System.out.println( s1.length() ); // 8 System.out.println(s1.charAt(3)); // d System.out.println(s1.indexOf(‘e’)); // 4 System.out.println(s1.indexOf(“cd”)); // 2 System.out.println(s1.toUpperCase()); // ABCDEFEG System.out.println(s1.indexOf('z')); //-1 System.out.println(s1.charAt(20)); //Exception //out of range

27 String s1 ; s1 = “abcdefeg” ; System.out.println(s1.substring(1, 4)); //bcd System.out.println(s1.substring(7, 8)); //g System.out.println(s1 + “xyz”); //abcdefegxyz System.out.println(s1.replace(‘d’,’D’)); //abcDefeg System.out.println(s1.charAt(4) ); // e System.out.println(s1.indexOf(‘b’)); // 1 System.out.println(s1.indexOf(‘e’,5)); // 6 More examples on String methods Go through Example 3-4 from the text book.

28 Input/Output  Other ways to input data.  Other ways to output results.  Format output using method printf()  Format output of decimal numbers to a specific numbers of decimal places.

29  System.out  output object  print  println  Both cannot format the output in a specific manner.  For example: align the output in certain columns.  printf  does that. Formatting Output with printf

30 Formatting Output with printf  The syntax to use the method printf to produce output on the standard output device is: System.out.printf(formatString); or System.out.printf(formatString,argumentList);  formatString is a string specifying the format of the output.  argumentList is a list of arguments that consists of constant values, variables, or expressions.  If there is more than one argument in argumentList, the arguments are separated with commas.

31 Formatting Output with printf  For example:  The statement : System.out.printf("Hello there!"); Consists of only the format string  The statement: System.out.printf("There are %.2f inches in %d centimeters.%n", centimeters / 2.54, centimeters); Consists of both the format string and argumentList.  %.2f and %d are called format specifiers.  By default, there is a one-to-one correspondence between format specifiers and the arguments in argumentList.

32 Formatting Output with printf  The first format specifier, %.2f, is matched with the first argument, which is the expression centimeters /  The second format specifier, %d, is matched with the second argument, which is centimeters.  The format specifier %n positions the insertion point at the beginning of the next line.  If centimeters = 150  150/2.54 =  The o/p would be : There are inches in 150 centimeters  Note that the value of the expression centimeters / 2.54 is rounded. System.out.printf("There are %.2f inches in %d centimeters.%n", centimeters / 2.54, centimeters);

33 Formatting Output with printf  A format specifier for general, character, and numeric types has the following syntax: %[argument_index$][flags][width][.precision]conversion  The expressions in square brackets are optional. That is, they may or may not appear in a format specifier.  The optional argument_index is a (decimal) integer that indicates the position of the argument in the argument list. The first argument is referenced by " 1$," the second by " 2$," etc.  The optional flags is a set of characters that modify the output format.  The optional width is a (decimal) integer that indicates the minimum number of characters to be written to the output.  The optional precision is a (decimal) integer that is usually used to restrict the number of characters.  The required conversion is a character that indicates how the argument should be formatted.

34 Formatting Output with printf

35 Example3_6 1.public class Example3_6 2.{ 3. public static void main (String[] args) 4. { 5. int num = 763; 6. double x = ; 7. String str = "Java Program."; System.out.println(" "); 10. System.out.printf("%5d%7.2f%15s%n", num, x, str); 11. System.out.printf("%15s%6d%9.2f %n", str, num, x); 12. System.out.printf("%8.2f%7d%15s %n", x, num, str); 13. System.out.printf("num = %5d %n", num); 14. System.out.printf("x = %10.2f %n", x); 15. System.out.printf("str = %15s %n", str); 16. System.out.printf("%10s%7d %n","Program No.", 4); 17. } 18.} Formatting Output with printf 7  width.2  precision f  conversion

36  The output of a printf statement is right-justified by default.  To force the output to be left-justified, you can use the format specifier flag. If flag is set to ‘-’ (negative), then the output of the result is left justified.  The following example clarifies this: Formatting Output with printf

37 1.public class Example3_7 2.{ 3. public static void main (String[] args) 4. { 5. int num = 763; 6. double x = ; 7. String str = "Java Program."; System.out.println(" "); 10. System.out.printf("%-5d%-7.2f%-15s ***%n", num, x, str); 11. System.out.printf("%-15s%-6d%- 9.2f ***%n", str, num, x); 12. System.out.printf("%-8.2f%-7d%-15s ***%n", x, num, str); 13. System.out.printf("num = %-5d ***%n", num); 14. System.out.printf("x = %-10.2f ***%n", x); 15. System.out.printf("str = %-15s ***%n", str); 16. System.out.printf("%-10s%-7d ***%n", "Program No.", 4); 17. } 18.} Example3_7 Formatting Output with printf -  flag 7  width.2  precision f  conversion

38 Parsing Numeric Strings  A string consisting of only integers or decimal numbers is called a numeric string.  To convert a string consisting of an integer to a value of the type int, we use the following expression: Integer.parseInt(strExpression) Example: Integer.parseInt("6723") = 6723 Integer.parseInt("-823") = -823

39 Parsing Numeric Strings  To convert a string consisting of a decimal number to a value of the type float, we use the following expression: Float.parseFloat(strExpression) Example: Float.parseFloat("34.56") = Float.parseFloat(" ") =  To convert a string consisting of a decimal number to a value of the type double, we use the following expression: Double.parseDouble(strExpression) Example: Double.parseDouble("345.78") = Double.parseDouble(" ") =

40 Parsing Numeric Strings  Integer, Float, and Double are classes designed to convert a numeric string into a number.  These classes are called wrapper classes.  parseInt is a method of the class Integer, which converts a numeric integer string into a value of the type int.  parseFloat is a method of the class Float and is used to convert a numeric decimal string into an equivalent value of the type float.  parseDouble is a method of the class Double, which is used to convert a numeric decimal string into an equivalent value of the type double.

41 Using Dialog Boxes for Input/Output  Use a graphical user interface (GUI).  class JOptionPane:  Allows programmer to use GUI components for I/O.  Contained in package javax.swing.  Contains methods :  showInputDialog :allows programmer to input a string from keyboard.  showMessageDialog : allows programmer to display results.

42  showInputDialog syntax:  str = JOptionPane.showInputDialog(strExpression);  strExpression : usually informs the user what to do.  Example: suppose name is String variable: name=JOptionPane.showInputDialog(“Enter your name then press ok”);  The entered name is assigned to name. Using Dialog Boxes for Input/Output Text Field

43 showMessageDialog syntax: JOptionPane.showMessageDialog(parentComponent, messageStringExpression, boxTitleString, messageType); Using Dialog Boxes for Input/Output

44 Parameters for the Method showMessageDialog

45 JOptionPane Options for the Parameter messageType

46 JOptionPane Example Example 3-9

47 JOptionPane Example Example 3-11

48 Remember…  In order to use I/O dialog boxes and properly terminate program execution, the program must include the folloeing statement: System.exit(0);  You must import class JOptionPane into your program using one of the two stmts :  import javax.swing.* ;  import javax.swing.JOptionPane ;

49 Example //Program to determine the area and circumference of a circle 2.import javax.swing.JOptionPane; 3.public class AreaAndCircumferenceProgram{ public static final double PI = 3.14; 6. public static void main(String[] args) { double radius; 9. double area; 10. double circumference; 11. String radiusString; 12. String outputStr; 13. radiusString =JOptionPane.showInputDialog (“Enter the radius: “); 14. radius = Double.parseDouble(radiusString); 15. area = PI * radius * radius; 16. circumference = 2 * PI * radius; 17. outputStr = "Radius: " + radius + "\n" +"Area: " + area " square units\n" + "Circumference: " circumference + " units"; 20. JOptionPane.showMessageDialog(null, outputStr, "Circle", 21. JOptionPane.INFORMATION_MESSAGE); System.exit(0); 24. } 25.} JOptionPane Example

50 Example 3-12 JOptionPane Example

51  printf cannot be used with output dialog boxes.  Two other ways: 1. Use the String method format.  our interest 2.Use the class DecimalFormat.  Appendix D Formatting the Output Using the String Method format

52 Formatting the Output Using the String Method format Example 3-13 double x = ; double y = ; double z = ; int num = 83; String str;

53 Example3_15 import javax.swing.JOptionPane; public class Example3_15{ public static void main(String[] args) { double x = ; double y = ; double z = ; String str; str = String.format("The value of x with two decimal places = %.2f%n", x) + String.format("The value of y with two decimal places = %.2f%n", y) + String.format("The value of z with two decimal places = %.2f%n", z); JOptionPane.showMessageDialog(null, str, "Formatting with the String Method format", JOptionPane.INFORMATION_MESSAGE ); System.exit(0); }

54 Programming Example: Movie Ticket Sale and Donation to Charity  Input: Movie name, adult ticket price, child ticket price, number of adult tickets sold, number of child tickets sold, percentage of gross amount to be donated to charity.  Output:

55 Programming Example: Movie Ticket Sale and Donation to Charity 1.Import appropriate packages. 2.Get inputs from user using JOptionPane.showInputDialog. 3.Perform appropriate calculations. 4.Display output using JOptionPane.showMessageDialog.

56 Chapter Summary  Primitive type variables store data into their memory space.  Reference variables store the address of the object containing the data.  An object is an instance of a class.  Operator new is used to instantiate an object.  Garbage collection reclaims memory that is not being used.

57 Chapter Summary  To use a predefined method, you must know its name and the class and package it belongs to.  The dot (.) operator is used to access a certain method in a class.  Methods of the class String are used to manipulate input and output data.  Dialog boxes can be used to input data and output results.  Data can be formatted using the String method format.