Summary: This module contains review questions and answers keyed to the module titled Jb0240: Java OOP: Arrays and Strings.
This module contains review questions and answers keyed to the module titled Jb0240: Java OOP: Arrays and Strings .
The questions and the answers are connected by hyperlinks to make it easy for you to navigate from the question to the answer and back again.
True or false? Arrays and Strings are true objects. If false, explain why.
True or false? It is easy to write outsides the bounds of a String or an array. If false, explain why.
You must declare a variable capable of holding a reference to an array object before you can use it. In declaring the variable, you must provide two important pieces of information. What are they?
Provide code fragments that illustrate the two different syntaxes that can be used to declare a variable capable of holding a reference to an array object that will store data of type int.
True or false? When you declare a variable capable of holding a reference to an array object, the memory required to contain the array object is automatically allocated. If false, explain why and show how memory can be allocated.
True or false? It is required that you simultaneously declare the name of the variable and cause memory to be allocated to contain the array object in a single statement. If false, explain why and show code fragments to illustrate your answer.
True or false? Array indices always begin with 1. If false, explain why.
What is the name of the property of arrays that can be accessed to determine the number of elements in the array? Provide a sample code fragment that illustrates the use of this property.
What types of data can be stored in array objects?
True or false? Just as in other languages, when you create a multi-dimensional array, the secondary arrays must all be of the same size. If false, explain your answer. Then provide a code fragment that illustrates your answer or refer to a sample program in Jb0240: Java OOP: Arrays and Strings that illustrates your answer.
True or false? Just as in other languages, when declaring a two-dimensional array, it is necessary to declare the size of the secondary dimension when the array is declared. If false, explain your answer. Then provide a code fragment that illustrates your answer or refer to a sample program in Jb0240: Java OOP: Arrays and Strings that illustrates your answer.
True or false? Java allows you to assign one array to another. Explain what happens when you do this. Then provide a code fragment that illustrates your answer or refer to a sample program in Jb0240: Java OOP: Arrays and Strings that illustrates your answer.
Give a brief description of the concept of a string and list the names of two classes used to implement strings?
What is the syntax that is used to create a literal string? Provide a code fragment to illustrate your answer.
Explain the difference between objects of types String and StringBuffer .
Provide a code fragment that illustrates how to concatenate strings.
Provide a code fragment that declares and instantiates an array object capable of storing references to two String objects. Explain what happens when this code fragment is executed. Then show a code fragment that will allocate memory for the actual String objects.
Write a Java application that illustrates the creation and manipulation of a two-dimensional array with the sub arrays being of different lengths. Also cause your application to illustrate that an attempt to access an array element out of bounds results in an exception being thrown. Catch and process the exception. Display a termination message with your name.
What is the meaning of the following two images?
This image was inserted here simply to insert some space between the questions and the answers to keep them from being visible on the screen at the same time.
The image is also an example of the kinds of things that we do in my course titled ITSE 2321, Object-Oriented Programming.

This image was also inserted for the purpose of inserting space between the questions and the answers.
| Listing 1: Listing for Answer 18. |
|---|
|
The following statement declares and instantiates an array object capable of storing references to two String objects.
String[] myArrayOfStringReferences = new String[2];Note however, that this array object doesn't contain the actual string data. Rather, it simply sets aside memory for storage of two references to String objects. No memory has been set aside to store the characters that make up the individual strings. You must allocate the memory for the actual String objects separately using code similar to the following.
myArrayOfStringReferences[0] = new String(
"This is the first string.");
myArrayOfStringReferences[1] = new String(
"This is the second string.");Java supports string concatenation using the overloaded + operator as shown in the following code fragment:
"My variable has a value of " + myVar +
" at this point in the program."String objects cannot be modified once they have been created. StringBuffer objects can be modified
The Java compiler considers a series of characters surrounded by quotation marks to be a literal string, as in the following code fragment:
"This is a literal string in Java."A string is commonly considered to be a sequence of characters stored in memory and accessible as a unit. Java implements strings using the String class and the StringBuffer class.
Java allows you to assign one array to another. When you do this, you are simply making another copy of the reference to the same data in memory. Then you have two references to the same data in memory. This is illustrated in the program named array02.java in Jb0240: Java OOP: Arrays and Strings .
False. When declaring a two-dimensional array, it is not necessary to declare the size of the secondary dimension when the array is declared. Declaration of the size of each sub-array can be deferred until later as illustrated in the program named array01.java in Jb0240: Java OOP: Arrays and Strings .
False. Java can be used to produce multi-dimensional arrays that can be viewed as an array of arrays. However, the secondary arrays need not all be of the same size. See the program named array01.java in Jb0240: Java OOP: Arrays and Strings .
Array objects can contain any Java data type including primitive values, references to ordinary objects, and references to other array objects.
All array objects have a length property that can be accessed to determine the number of elements in the array as shown below.
for(int cnt = 0; cnt < myArray.length; cnt++)
myArray[cnt] = cnt;False. Array indices always begin with 0.
False. While it is possible to simultaneously declare the name of the variable and cause memory to be allocated to contain the array object, it is not necessary to combine these two processes. You can execute one statement to declare the variable and another statement to cause the memory for the array object to be allocated as shown below.
int[] myArray;
.
.
.
myArray = new int[25];False. As with other objects. the declaration of the variable does not allocate memory to contain the array object. Rather it simply allocates memory to contain a reference to the array object. Memory to contain the array object must be allocated from dynamic memory using statements such as the following.
int[] myArray = new int[15];
int myArray[] = new int[25];
int[] myArray = {1,2,3,4,5}
int[] myArray;
int myArray[];In declaring the variable, you must provide two important pieces of information:
False. Java has a true array type and a true String type with protective features to prevent your program from writing outside the memory bounds of the array or the String .
True.
This section contains a variety of miscellaneous information.
Financial : Although the Connexions site makes it possible for you to download a PDF file for this module at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should be aware that some of the HTML elements in this module may not translate well into PDF.
I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.
In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. I neither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please be aware that it is a copy of a module that is freely available on cnx.org and that it was made and published without my prior knowledge.
Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.
-end-