Free · No account needed · No credit card

Oracle Certified Professional Java SE 17 Developer 1Z0-829 Practice Test

509 questions with instant explanations, domain breakdown, and wrong-answer analysis. Built for the real exam.

Instant feedback after each answer
Full explanations included
Domain score breakdown
Real exam: 90 min
Pass mark: 680%

Sample questions with explanations

This is exactly what you see during practice — question, options, and a full explanation after you answer.

Q1Handling Date, Time, Text, Numeric and Boolean Valuesmedium
Full explanation →

A developer is writing a method that takes a LocalDate and a ZoneId and returns the current time in that time zone as an OffsetDateTime. Which approach correctly implements this?

AOffsetDateTime.of(LocalDateTime.now(), ZoneOffset.from(ZonedDateTime.now(zone)))
ZonedDateTime.now(zone).toOffsetDateTime()Correct
CLocalDate.now(zone).atStartOfDay(zone).toOffsetDateTime()
DLocalDateTime.now().atZone(zone).toOffsetDateTime()

Option B is correct because `ZonedDateTime.now(zone).toOffsetDateTime()` directly obtains the current date-time in the specified time zone and then converts it to an `OffsetDateTime` by extracting the zone offset. This approach correctly uses the provided `ZoneId` and returns the…Read full explanation

Q2Handling Date, Time, Text, Numeric and Boolean Valueseasy
Full explanation →

Which of the following correctly formats a NumberFormat instance to display a currency value for the US locale with exactly two decimal places, rounding half-up?

ANumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US); nf.setRoundingMode(RoundingMode.HALF_UP);
BNumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US); nf.setMinimumFractionDigits(2);
CNumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US); nf.setMaximumFractionDigits(2);
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);Correct

Option D is correct because `NumberFormat.getCurrencyInstance(Locale.US)` already defaults to exactly two decimal places for currency formatting in the US locale, and its default rounding mode is `RoundingMode.HALF_EVEN`. However, the question asks for 'exactly two decimal places…Read full explanation

Q3Handling Date, Time, Text, Numeric and Boolean Valueshard
Full explanation →

A developer needs to parse the string "2023-12-31T23:59:60Z" (a leap second) into a java.time.Instant. Which statement is true?

AIt returns an Instant representing 2023-12-31T23:59:59Z, ignoring the leap second.
It returns an Instant representing 2023-12-31T23:59:59Z with an added nanosecond.Correct
CIt throws a DateTimeParseException because 60 seconds is invalid.
DIt returns null because the string is invalid.

Option B is correct because java.time.Instant.parse() handles leap seconds by converting them to the last valid second of the minute (23:59:59) and then adding a nanosecond to account for the extra second. This behavior is specified by the ISO-8601 standard and the Java Time API,…Read full explanation

Untimed Practice

Answer at your own pace. Explanation and domain tag shown immediately after each answer.

Timed Practice

Countdown timer starts immediately. Results and domain scores shown at the end — just like the real exam.

Why practice here?

Full explanations on every question

Not just the right answer — you get exactly why each wrong option is wrong, so you learn the concept, not the answer.

Domain score breakdown

After each session see your score by exam domain so you know exactly where to focus study time.

100% free, forever

No subscription, no trial, no email wall. Start a session in under 10 seconds.

Exam-style questions

Scenario-based, precise wording, realistic distractors — written to match what you actually see on exam day.

← All 1Z0-829 questions1Z0-829 exam guideStudy guidePractice by domain