Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference...

24
Data Types Reference Types Objective To understand what reference types are The need to study reference types To understand Java standard packages To differentiate between Java defined types and user defined types To have a deeper understanding of the String class To get acquainted with the Math class To get acquainted with the Wrapper classes

Transcript of Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference...

Page 1: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Data Types – Reference Types

Objective

• To understand what reference types are

• The need to study reference types

• To understand Java standard packages

• To differentiate between Java defined types and user defined types

• To have a deeper understanding of the String class

• To get acquainted with the Math class

• To get acquainted with the Wrapper classes

Page 2: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Data Types – Reference Types

• Reference types - any data type that is composed of primitive data types as its

based type.

• In other words, it is an aggregate of primitive types.

• Reference types in Java are:

The array data structure, and

The class data type.

• In this section we will briefly discuss the concept of array.

• We will discuss the class type to the extent of the fundamental classes of Java.

Page 3: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Reference Types - Array

• Array

• An array is a set of storage locations set aside to hold one type of data.

• It is simply a means where by we can store values of the same type by using

one generic name.

• The list of items are stored linearly

• Hence the items can be accessed by their relative position in the list.

• Arrays are real objects in Java.

• Storage space is allocated for an array during execution time.

• The concept will be discussed fully in future lesson

Page 4: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Reference Types - Array

10 20 30 40 50 60 70 80

arr

indeces

0 1 2 3 4 5 6 7

Data

This is the most we will say about arrays for now

Page 5: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Reference Types - Class

• The concept of class as you know is the fundamental construct upon which

Java is built.

• A class serves as a blueprint or a template for a certain type of object.

• All data types other than the primitive type or the array must be addressed in

terms of class.

• This is evident in the way that we have been using class.

• For instance, going back to the class Book.

• In order to use this class we had to declare variables of the type:

• That is, Book b1; for instance

Page 6: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Reference Types - Standard Packages

• Java has a vast and rich collection of classes.

• These classes are stored in respective directories and subdirectories.

• Each directory or subdirectory is called, a package.

• Programmers can use these classes in their specific applications.

• There are several packages in Java.

• Two of the most important packages in the language are java and javax.

Page 7: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Java Standard Packages

java and javax packages, along with

their sub-packages. Some of the sub-

packages also contain sub-packages

of their own

•The sub-package lang is a special

package is for general programming

•The sub-package javax is designed

for Graphical User Interface

programming (GUI)

Page 8: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Java Standard Package- lang

• The java.lang package contains classes that are fundamental to Java.

• All of the classes in this package are available in your program automatically.

• That is, as soon as the Java compiler is loaded, all of these classes are loaded

into every Java source file.

Page 9: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Java Standard Package- lang

Page 10: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Java Standard Package- lang

• Chief among these fundamental classes are the following:

Object

String

Math

System

• The wrapper classes - for each primitive type there is a corresponding class.

Byte

Short

Integer

Long

Character

Float

Double

Boolean

Void

Page 11: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

The class Object

• See the Application Programmers’ Interface (API)

• Class

• String

• Math

• Wrapper classes - Byte, Short, Integer, Long, Character, Float, Double,

Boolean, and Void.

Page 12: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Input and Output Operations

• There are three other important operations that are performed on data.

• Input operations

• Output operations, and

• Formatting operations.

• We have been generating outputs already but it was not dealt with formally.

• Input Operations - There are several ways to input data into a program:

Java Input/Output classes

The DOS prompt

The Scanner Class

JOptionPane Class

Page 13: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

JOptionPane Input/Output Dialog Boxes

Capabilities

1. Create input dialog boxes

2. Create output windows

Page 14: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

JOptionPane Input Dialog Boxes

There are four kinds of standard dialogs:

1. Message dialog shows a message and waits for the user to click OK.

2. Confirmation dialog shows a question and ask for confirmation such as OK

or Cancel.

3. Option dialog shows a question and gets the user’s response from a set of

options.

4. Input dialog shows a question and gets the user’s input from a text field, a

combo box, or list.

Page 15: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Enhance Your Output with Scrollable Window

Page 16: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

JOptionPane – Input Dialog

• You must import the class JOptionPane

import javax.swing.JOptionPane;

• The class contains:

Several constructors, and

Several class methods that deals with dialog boxes.

• The general construct of these methods is as follows:

showXXXXDialog( parameter_list)

• Where XXXX is any of the four dialog box types. We will only be concerned with the input dialog type.

Page 17: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Using JOptionPane for Input

1. import javax.swing.JOptionPane;

2. class optionPane

3. {

4. public static void main(String[] arg)

5. {

6. String str = JOptionPane.showInputDialog( "Read data” );

7. }

8. }

Page 18: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Using JOptionPane for Input

• Type the value 123.45

• This value is returned as a String

String str = JOptionPane.showInputDialog( "Read data” );

That is, str = “123.45”

Page 19: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Using the Wrapper class - Double

• Convert the string value to a double by using the parseDouble method

1. import javax.swing.JOptionPane;

2. class convert_string

3. {

4. public static void main(String[] arg)

5. {

6. String str = JOptionPane.showInputDialog("Read data");

7. double x = Double.parseDouble(str);

8. }

9. }

Page 20: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Build a Single Class for Input

1. import javax.swing.JOptionPane;

2. class GetData

3. {

4. static String str;

5. static double getDouble(String s)

6. {

7. str = JOptionPane.showInputDialog(s);

8. return Double.parseDouble(str);

9. }

10. static int getInt(String s)

11. {

12. str = JOptionPane.showInputDialog(s);

13. return Integer.parseInt(str);

14. }

15. static String getWord(String s)

16. {

17. return JOptionPane.showInputDialog(s);

18. }

19. }

Page 21: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Build a Single Class for Input (Another view)

1. import javax.swing.JOptionPane;

2. class GetData

3. {

4. static double getDouble(String s)

5. {

6. return Double.parseDouble( getWord(s) );

7. }

8. static char getChar(String s)

9. {

10. String str = getWord(s);

11. return str.charAt(0);

12. }

13. static int getInt(String s)

14. {

15. return Integer.parseInt(getWord(s));

16. }

17. static String getWord(String s)

18. {

19. return JOptionPane.showInputDialog(s);

20. }

21. }

Page 22: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

Using the GetData Class

1. class TestGetData

2. {

3. public static void main(String[] arg)

4. {

5. int x = GetData.getInt("Type an integer value");

6. double y = GetData.getDouble("Type a double value");

7. String name = GetData.getWord("Enter a Name");

8. System.out.println("Your name is: " + name + "\nYour age is: "

9. + x + "\nYou have $" + y);

10. }

11. }

Page 23: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

yy

• Dialog box when Line 5 is executed.

• Dialog box when Line 6 is executed.

• Dialog box when Line 7 is executed.

Page 24: Data Types – Reference Typessmithjo/classnotes_2xxxx/powerPoints/lesson...Data Types – Reference Types • Reference types - any data type that is composed of primitive data types

The output

• The output