data types – reference typessmithjo/classnotes_2xxxx/powerpoints/lesson...data types – reference...
TRANSCRIPT
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
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.
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
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
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
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.
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)
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.
Java Standard Package- lang
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
The class Object
• See the Application Programmers’ Interface (API)
• Class
• String
• Math
• Wrapper classes - Byte, Short, Integer, Long, Character, Float, Double,
Boolean, and Void.
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
JOptionPane Input/Output Dialog Boxes
Capabilities
1. Create input dialog boxes
2. Create output windows
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.
Enhance Your Output with Scrollable Window
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.
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. }
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”
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. }
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. }
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. }
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. }
yy
• Dialog box when Line 5 is executed.
• Dialog box when Line 6 is executed.
• Dialog box when Line 7 is executed.
The output
• The output