Test Bank for Java Foundations: Introduction to Program Design and Data Structures, 5th Edition

Preview Extract
Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 Chapter 2: Data and Expressions Multiple Choice Questions: 1) Which of the following are examples of invalid string literals? a) “Hello World!” b) “4 score and 7 years ago, our forefathers brought forth…” c) “z” d) “” e) none of the above Answer: e Explanation: A string literal can contain any valid characters, including numeric digits, punctuation and other special characters. They can also contain no characters at all. 2) A(n) ________________ is a piece of data that we send to a method. a) parameter b) object c) escape sequence d) service e) expression Answer: a Explanation: A parameter is a piece of data sent to a method. An object may not be sent to a method directly (although you can send a reference to an object as a parameter). An escape sequence is used to represent special characters in a string literal. A service is the action that a method provides to a program. An expression is a combination of operators and operands that produces a result. 3) Which of the following is an example of an invalid assignment or declaration statement? a) int age = 30; b) int money, dollars = 0, cents = 0; c) int years = 1; months = 12; days = 365; d) int length, meters, centimeters, millimeters; e) none of the above Answer: c Explanation: A declaration/assignment statement cannot have multiple declaration/assignments separated by semicolons since a semi-colon denotes the end of a statement in Java. 1 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 4) Java has two basic kinds of numeric values: _____________, which have no fractional part, and ___________________ which do. a) shorts, longs b) doubles, floating points c) characters, bytes d) integers, floating points e) integers, longs Answer: d Explanation: All numeric data types are either floating point data types, which have fractional parts (e.g. float, long) or integer data types which have no fractional parts (e.g. byte, short, int, long). 5) To assign a value stored in a double variable to an int variable, use a) a cast operator b) promotion c) a print statement d) a widening conversion e) nothing. Java will do this automatically Answer: a Explanation: This is a narrowing conversion. A cast operator must be used to perform a narrowing conversion. 6) Which of the following is not an arithmetic operation in Java? a) + b) c) * d) % e) These are all arithmetic operations in Java Answer: e Explanation: All of these operators can be used as part of an arithmetic expression in Java. They represent the addition, subtraction, multiplication and remainder operators respectively. 7) Which modifier must be used in the declaration of a variable to make it a constant? a) public b) final c) static d) void e) private Answer: b Explanation: The final modifier makes a variable a constant, meaning that its value cannot be reassigned. 2 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 8) Which of the following data types only allows one of two possible values to be assigned? a) char b) int c) boolean d) float e) long Answer: c Explanation: Variables of type boolean can only be assigned values of true or false. The other four types can be assigned many different values. 9) Which of the following is an example of an invalid expression in Java? a) b) c) d) e) result = a + b; result = (14 + 9) * 5; result = ((19 + 4) – 5; result = firstNum % secondNum; result = firstNum / secondNum % thirdNum; Answer: c Explanation: All of these expressions are valid except for c, which has mismatched parenthesis. This will generate a compiler error. 10) A _______________ is a list of characters in a particular order. Examples include ASCII and Unicode. a) character literal b) character set c) char data type d) control character e) none of the above Answer: b Explanation: A character set is a list of characters in a particular order. Java uses the Unicode character set. A character literal is an explicit character in a Java program and is denoted by surrounding it with single quotes. The char data type is a primitive data type in Java and a control character is a nonprinting or invisible character that does not have a symbol to represent it. 11) A user types the number -12.6 in response to a prompt in a program. Which Scanner class method should be used to read the user input as a numeric value? a) b) c) d) e) nextInt() nextDouble() nextNegative() next() any of these methods will work Answer: b Explanation: The user input contains a decimal point, so it cannot be read as an int. The next() method will read it in as a String, not as a numeric value. 3 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 12) Which of the following lines allows a programmer to use the Scanner class in a Java program? a) b) c) d) e) import java.util.Scanner; using Scanner; include Scanner; include java.util.Scanner; any of the above will allow the programmer to use the Scanner class Answer: a Explanation: The Scanner class must be imported using the import command before it may be used in a program. 13) Consider the following snippet of code: System.out.println(“30 plus 25 is ” + 30 + 25); What is printed by this line? a) b) c) d) e) 30 plus 25 is 55 30 plus 25 is 30 30 plus 25 is 25 30 plus 25 is 3025 this snippet of code will result in a compiler error Answer: d Explanation: In this case, the + symbol represents the concatenation operator, not addition. Therefore, the println method will output the concatenation of 30 plus 25 is, 30, and 25. If we wanted to print out the sum of 30 and 25, we must put the sum in parentheses. 14) Consider the following snippet of code: int firstNum = 25; int seconNum = 3; double result = 25/3; System.out.println(result); What is output by this code? a) b) c) d) e) 8.0 8.333333333 8 8.3 This snippet of code will result in a compiler error Answer: a Explanation: The right hand side of the assignment statement in the third line results in an integer because the two operands are integers. Specifically, it yields 8. The left hand side of the expression is of type double,so assignment conversion occurs. Therefore, result holds 8.0. This is what will be printed by the println statement. 4 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 15) Information is most likely to be lost in what kind of data conversion? a) A widening conversion b) A narrowing conversion c) promotion d) assignment conversion e) no information will be lost in any of the conversions listed above Answer: b Explanation: A narrowing conversion is most likely to result in information loss since you are changing a piece of data from a data type that can hold more information into a data type that can hold less information. The other three types of conversions are all widening conversions, and therefore do not lose any information. 5 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 True/False Questions: 1) The print and the println methods are identical and can be used interchangeably. Answer: False Explanation: The println method prints the information sent to it, then moves to the beginning of the next line. The print method does not advance to the next line when completed. 2) A String literal may span multiple lines in the program code. Answer: False Explanation: A string literal may not span multiple lines. If a programmer wishes to have part of a string literal on one line and part on another line, she must separate the single literal into two literals, and use the concatenation operator (+). 3) Java is a strongly-typed language. Answer: True Explanation: Java is strongly-typed, which means we cannot assign values to a variable that are inconsistent with its declared type without generating a compile time error. 4) Variables declared with the final modifier cannot have new values assigned to them. Answer: True Explanation: The final modifier makes a variable a constant. 5) The byte type can be assigned a larger range of numbers than the int type. Answer: False Explanation: The int type can hold numbers in the range -2,147,483 to 2,147,483,647 while the byte type can only hold numbers in the range -128 to 127. 6) Java uses the ASCII character set to represent character data. Answer: False Explanation: Java uses the Unicode character set to represent characters, since it supports more unique characters and can therefore represent the world’s many alphabets better. 7) After the execution of the code below: int counter = 9; int result = counter++; variable result contains the value 9. Answer: True Explanation: The expression counter++ uses the postfix form of the increment operator. Its value, 9, is assigned to result, then the value in counter is incremented to 10. 8) The type of result produced by a mathematical expression depends on the types of the operands. Answer: True Explanation: The types of the operands dictate the data type to which an expression evaluates. An important example of this is arithmetic division, which will always result in an integer when the expression’s operands are integers. 9) Promotion is a widening data conversion that is explicitly requested by the programmer. Answer: False Explanation: Promotion is an explicit conversion that happens when operators need to modify their operands to perform the operation. For example, when an integer is divided by a floating point number, the integer will be promoted to a floating point number so that the division operator is acting on two floating point types. 6 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 10) The Scanner class must be imported using the import statement before it can be used in a program. Answer: True Explanation: The Scanner class is part of the java.util package which is not imported automatically. 7 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 Short Answer Questions: 1) Write an application that prints out the following using a single call to the print method. Hello! How are you? Answer: public class QuestionOne { public static void main(String [] args) { System.out.print(“Hello!nHownare you?”); } } 2) Write a single println statement that prints out the following line. “There is Thingumbob shouting!” the Bellman said, Answer: System.out.println(“”There is Thingumbob shouting!” the Bellman said,”); 3) Write a short program that declares a single integer variable called age and assigns it a value equal to your age. Also have it print out your age using the age variable. The output of your program should look similar to the following: I am 30 years old. Answer: public class MyAge { public static void main(String [] args) { int age = 30; System.out.println(“I am ” + age + ” years old.”); } } 4) Write a single line of Java code that computes the average of three integer variables โ€“ num1, num2, and num3 โ€“ and stores the result in a variable of type double called result. Answer: Note that in order to compute an accurate average, we must avoid integer division. This can be achieved by making one of our operands a floating point value. In this solution, we divide by 3.0 to yield floating point division on the right hand side of the expression. double result = (num1 + num2 + num3)/3.0; 8 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 5) Suppose your numeric grade is calculated using the following formula: Test 1: 15% Test 2: 15% Final Exam: 30% Homework: 10% Programming Projects: 30% Determine a good variable name to represent each of these values. Write a single expression to compute your grade assuming the variables have been declared and each one stores its value as an integer in the range 0 to 100. Answer: double grade = test1*.15 + test2*.15 + exam*.3 + homework*.1 + projects*.3; 6) Write a short application that converts inches to centimeters. It should read the number of inches from the user as a floating point number and output the number of inches and the number of centimeters at the end of the program. Note that there are 2.54 centimeters in an inch. Answer: import java.util.Scanner; public class InchesToCentimetersConversion { public static void main(String [] args) { double inches; double centimeters; Scanner input = new Scanner(System.in); System.out.print(“Please enter the number of inches: “); inches = input.nextDouble(); centimeters = inches*2.54; System.out.println(inches + ” inches is equivalent to ” + centimeters + ” centimeters.”); }//end main }//end class 9 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 7) Consider the following snippet of code. int iResult; float fResult; int rResult; int iNum1 = 25; int iNum2 = 8; iResult = iNum1/iNum2; rResult = iNum1%iNum2; fResult = (float) iNum1/iNum2; What values are stored in iResult, rResult, and fResult? Explain your answers. Answer: The value that is stored in iResult is 3. This is the result of dividing 25 and 8 using integer division. The value that is stored in rResult is 1. This is the remainder of dividing 25 and 8 using integer division. The value that is stored in fResult is 3.125. This is the result of dividing 25 and 8 using floating point division. In the expression, iNum1 is explicitly cast as a floating point value which causes iNum2 to be promoted to a floating point value. The division is then floating point division. 8) Write a short program that allows the user to enter the year that they were born (as an integer) and outputs the age that they will be at the end of this year. Declare the current year as a constant. Answer: import java.util.Scanner; public class AgeThisYear { public static void main(String [] args) { final int CURRENT_YEAR = 2017; // adjust as appropriate int age, birthYear; Scanner scan = new Scanner(); System.out.print(“Enter the year of your birth: “); birthYear = scan.nextInt(); age = CURRENT_YEAR โ€“ birthYear; System.out.println(“You will be ” + age + ” at the end of” + ” this year.”); }//end main }//end class 10 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 9) What are some reasons that you might want to declare a variable as final? Answer: A variable that is declared as final is one that cannot be reassigned throughout the program. You might want to declare a variable as final if its value will not change during program execution. This will make it so you cannot accidentally change the value by reassigning it which can cause errors. It also will allow you to change the variable in a single place in the program if and when the value does change. 10) Write a short application that computes the perimeter of a rectangle. It should allow the user to input the length and width of the rectangle as a double. Answer: import java.util.Scanner; public class Perimeter { public static void main(String [] args) double length, width, perimeter; { Scanner scan = new Scanner(); System.out.print(“Enter the length of the rectangle: “); length = scan.nextDouble(); System.out.print(“Enter the width of the rectangle: “); width = scan.nextDouble(); perimeter = length*2 + width*2; System.out.println(“The perimeter of the rectangle is ” + perimeter + ” inches.”); }//end main }//end class 11) Consider the following snippet of code: int firstNum = 5; int secondNum = firstNum++; int thirdNum = 6*(++firstNum); What values are stored in firstNum, secondNum and thirdNum after these lines are executed? Explain your answer. Answer: After the first two lines are executed, secondNum will contain 5 and firstNum will contain 6. This is because the increment operator is after the variable, which means that the assignment will happen before firstNum is incremented. After the third line is executed, firstNum is 7 and thirdNum is 42 (which is 6*7). This is because the increment operator is before firstNum, which means that firstNum is incremented to 7, and then the expression is evaluated. 11 Pearson ยฉ 2019 Java Foundations: Introduction to Program Design & Data Structures, 5e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 12) For the following expression, indicate the order that in which the operators will be evaluated. a + b * c / (d – e) Answer: The subtraction (d โ€“ e) will be evaluated first since it is in parentheses. Next, the multiplication b*c will be evaluated and then the division operation will be evaluated. Finally, the addition will be performed. 13) Explain why it might not be safe for a programmer to use a narrowing conversion. Answer: A narrowing conversion might not be safe because it can result in information loss. This is because in a narrowing conversion a programmer is changing a piece of data from a data type that can hold more information into a data type that can hold less information. 14) How are primitive data types and object data types related? Answer: Object types are more complex data types, and they are generally made up of primitive data types. 15) Explain the difference between the print and the println methods. Answer: The println method performs a carriage return after printing the specified characters. This means the next output will begin on the next line. The print method does not do this, and therefore the next output will begin right after the previous output. 12 Pearson ยฉ 2019

Document Preview (12 of 214 Pages)

User generated content is uploaded by users for the purposes of learning and should be used following SchloarOn's honor code & terms of service.
You are viewing preview pages of the document. Purchase to get full access instantly.

Shop by Category See All


Shopping Cart (0)

Your bag is empty

Don't miss out on great deals! Start shopping or Sign in to view products added.

Shop What's New Sign in