Page 1 of 32
STARTING OUT WITH JAVA: CONTROL STRUCTURES THROUGH OBJECTS,
8TH EDITION (TONY GADDIS) EXAM QUESTIONS LATEST EDITION 2026 –
2027 VERSION SOLVED QUESTIONS & ANSWERS
STARTING OUT WITH JAVA: CONTROL STRUCTURES THROUGH OBJECTS, 8th Edition
(Tony Gaddis) — QUESTIONS WITH RATIONALES
Question 1
Which of the following best describes the role of the Java Virtual Machine (JVM) in
the execution of a Java program?
A) The JVM translates Java source code directly into machine language for the specific
computer it is running on.
B) The JVM is a hardware component that stores Java bytecode for execution.
C) The JVM is a software program that reads Java bytecode and executes it on the host
computer, providing platform independence.
D) The JVM is a compiler that converts Java source code into bytecode.
Answer: C) The JVM is a software program that reads Java bytecode and executes it
on the host computer, providing platform independence.
Rationale: The Java Virtual Machine (JVM) is a software program that reads Java
bytecode and executes it on the host computer. This allows Java programs to be
platform-independent because the same bytecode can run on any computer that has a
JVM installed. The compiler (D) converts source code into bytecode, not the JVM.
, Page 2 of 32
Question 2
A programmer writes a Java program and saves it with the file extension .java.
Which of the following correctly describes the next step in the process of running
this program?
A) The .java file is directly executed by the operating system.
B) The .java file is compiled by the javac compiler into a .class file containing bytecode.
C) The .java file is interpreted by the JVM without any compilation.
D) The .java file is converted into a .exe file for Windows.
Answer: B) The .java file is compiled by the javac compiler into a .class file
containing bytecode.
Rationale: Java source code is written in .java files. These files must be compiled by the
javac compiler into .class files, which contain bytecode. The JVM then executes the
bytecode. Java files are not directly executed (A) or interpreted without compilation (C),
and they are not converted to .exe files (D).
Question 3
Which type of programming error causes a program to produce incorrect results
but does not prevent the program from compiling or running?
A) Syntax error
B) Runtime error
C) Logic error
D) Compilation error
Answer: C) Logic error
Rationale: A logic error is a mistake that causes a program to produce erroneous results
but does not prevent the program from compiling or running. Syntax errors (A) and
compilation errors (D) prevent the program from compiling. Runtime errors (B) occur
during execution and cause the program to terminate abnormally.
, Page 3 of 32
Question 4
What is the primary purpose of the JShell tool introduced in the 8th edition of the
text?
A) To compile Java source code into bytecode
B) To provide an interactive environment for exploring Java code and prototyping
C) To debug runtime errors in large Java applications
D) To convert Java code into other programming languages
Answer: B) To provide an interactive environment for exploring Java code and
prototyping
Rationale: JShell is a Read-Eval-Print Loop (REPL) tool that provides an interactive
environment for exploring Java code, testing snippets, and prototyping. It does not
compile source files (A), debug large applications (C), or convert code to other
languages (D).
Question 5
Which of the following is a correct statement about Java's compilation process?
A) Java source code is compiled directly into machine language for the specific
computer.
B) Java source code is compiled into bytecode, which is then interpreted or compiled by
the JVM.
C) Java source code is interpreted line by line without any compilation.
D) Java source code is compiled into HTML for web browsers.
Answer: B) Java source code is compiled into bytecode, which is then interpreted
or compiled by the JVM.
Rationale: Java source code is compiled into bytecode (a platform-independent
intermediate representation). The JVM then interprets or just-in-time compiles the
bytecode into machine language for the host computer. This is what makes Java
platform-independent.
, Page 4 of 32
Question 6
Which of the following is an example of a runtime error in a Java program?
A) Forgetting a semicolon at the end of a statement
B) Dividing a number by zero
C) Using a variable before it is declared
D) Misspelling a class name
Answer: B) Dividing a number by zero
Rationale: A runtime error occurs during the execution of a program. Dividing a number
by zero causes an ArithmeticException at runtime. Forgetting a semicolon (A), using an
undeclared variable (C), and misspelling a class name (D) are compile-time errors.
SECTION 2: JAVA FUNDAMENTALS (Questions 7–14)
Question 7
Which of the following is the correct way to declare a named constant in Java?
A) const double PI = 3.14159;
B) final double PI = 3.14159;
C) static double PI = 3.14159;
D) constant double PI = 3.14159;
Answer: B) final double PI = 3.14159;
Rationale: In Java, a named constant is created using the final keyword. Once a final
variable is assigned a value, it cannot be changed. The const keyword (A) is reserved but
not used in Java. The static keyword (C) makes a variable belong to the class rather than
instances, but does not make it constant.
Question 8
What is the result of the following expression in Java: (int) 7.9?
STARTING OUT WITH JAVA: CONTROL STRUCTURES THROUGH OBJECTS,
8TH EDITION (TONY GADDIS) EXAM QUESTIONS LATEST EDITION 2026 –
2027 VERSION SOLVED QUESTIONS & ANSWERS
STARTING OUT WITH JAVA: CONTROL STRUCTURES THROUGH OBJECTS, 8th Edition
(Tony Gaddis) — QUESTIONS WITH RATIONALES
Question 1
Which of the following best describes the role of the Java Virtual Machine (JVM) in
the execution of a Java program?
A) The JVM translates Java source code directly into machine language for the specific
computer it is running on.
B) The JVM is a hardware component that stores Java bytecode for execution.
C) The JVM is a software program that reads Java bytecode and executes it on the host
computer, providing platform independence.
D) The JVM is a compiler that converts Java source code into bytecode.
Answer: C) The JVM is a software program that reads Java bytecode and executes it
on the host computer, providing platform independence.
Rationale: The Java Virtual Machine (JVM) is a software program that reads Java
bytecode and executes it on the host computer. This allows Java programs to be
platform-independent because the same bytecode can run on any computer that has a
JVM installed. The compiler (D) converts source code into bytecode, not the JVM.
, Page 2 of 32
Question 2
A programmer writes a Java program and saves it with the file extension .java.
Which of the following correctly describes the next step in the process of running
this program?
A) The .java file is directly executed by the operating system.
B) The .java file is compiled by the javac compiler into a .class file containing bytecode.
C) The .java file is interpreted by the JVM without any compilation.
D) The .java file is converted into a .exe file for Windows.
Answer: B) The .java file is compiled by the javac compiler into a .class file
containing bytecode.
Rationale: Java source code is written in .java files. These files must be compiled by the
javac compiler into .class files, which contain bytecode. The JVM then executes the
bytecode. Java files are not directly executed (A) or interpreted without compilation (C),
and they are not converted to .exe files (D).
Question 3
Which type of programming error causes a program to produce incorrect results
but does not prevent the program from compiling or running?
A) Syntax error
B) Runtime error
C) Logic error
D) Compilation error
Answer: C) Logic error
Rationale: A logic error is a mistake that causes a program to produce erroneous results
but does not prevent the program from compiling or running. Syntax errors (A) and
compilation errors (D) prevent the program from compiling. Runtime errors (B) occur
during execution and cause the program to terminate abnormally.
, Page 3 of 32
Question 4
What is the primary purpose of the JShell tool introduced in the 8th edition of the
text?
A) To compile Java source code into bytecode
B) To provide an interactive environment for exploring Java code and prototyping
C) To debug runtime errors in large Java applications
D) To convert Java code into other programming languages
Answer: B) To provide an interactive environment for exploring Java code and
prototyping
Rationale: JShell is a Read-Eval-Print Loop (REPL) tool that provides an interactive
environment for exploring Java code, testing snippets, and prototyping. It does not
compile source files (A), debug large applications (C), or convert code to other
languages (D).
Question 5
Which of the following is a correct statement about Java's compilation process?
A) Java source code is compiled directly into machine language for the specific
computer.
B) Java source code is compiled into bytecode, which is then interpreted or compiled by
the JVM.
C) Java source code is interpreted line by line without any compilation.
D) Java source code is compiled into HTML for web browsers.
Answer: B) Java source code is compiled into bytecode, which is then interpreted
or compiled by the JVM.
Rationale: Java source code is compiled into bytecode (a platform-independent
intermediate representation). The JVM then interprets or just-in-time compiles the
bytecode into machine language for the host computer. This is what makes Java
platform-independent.
, Page 4 of 32
Question 6
Which of the following is an example of a runtime error in a Java program?
A) Forgetting a semicolon at the end of a statement
B) Dividing a number by zero
C) Using a variable before it is declared
D) Misspelling a class name
Answer: B) Dividing a number by zero
Rationale: A runtime error occurs during the execution of a program. Dividing a number
by zero causes an ArithmeticException at runtime. Forgetting a semicolon (A), using an
undeclared variable (C), and misspelling a class name (D) are compile-time errors.
SECTION 2: JAVA FUNDAMENTALS (Questions 7–14)
Question 7
Which of the following is the correct way to declare a named constant in Java?
A) const double PI = 3.14159;
B) final double PI = 3.14159;
C) static double PI = 3.14159;
D) constant double PI = 3.14159;
Answer: B) final double PI = 3.14159;
Rationale: In Java, a named constant is created using the final keyword. Once a final
variable is assigned a value, it cannot be changed. The const keyword (A) is reserved but
not used in Java. The static keyword (C) makes a variable belong to the class rather than
instances, but does not make it constant.
Question 8
What is the result of the following expression in Java: (int) 7.9?