FAQ: Conditional Operators - Conditional-Or: ||

This community-built FAQ covers the “Conditional-Or: ||” exercise from the lesson “Conditional Operators”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn Java

FAQs on the exercise Conditional-Or: ||

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!
You can also find further discussion and get answers to your questions over in #get-help.

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head to #get-help and #community:tips-and-resources. If you are wanting feedback or inspiration for a project, check out #project.

Looking for motivation to keep learning? Join our wider discussions in #community

Learn more about how to use this guide.

Found a bug? Report it online, or post in #community:Codecademy-Bug-Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

I dont understand how come when i use the guestCount < 1 , i get a true result while the count < 1 gives a false?

I was thinking maybe because all the instance fields are set to 0 as default, but i’m not sure.

if we do System.out.writeln, we can see guestCount being zero. So that seems to be the default value.

but you should really use count, you know why, right?

because the objects invoke the constructor first with its given values and only then the code inside the constructor runs.
if guestCount = count; was placed before the condition you could use guestCount < 1

right? also what does System.out.writeln mean?

exactly :slight_smile:

yes, you seem to understand everything very well

i meant System.out.println, i program in Java too little.

public class Reservation {
  int guestCount;
  int restaurantCapacity;
  boolean isRestaurantOpen;
  boolean isConfirmed;
  public Reservation(int count, int capacity, boolean open) {
    // Write conditional statement below
    if (count<1||count>8) {
      System.out.println("Invalid reservation!");
    guestCount = count;
		restaurantCapacity = capacity;
		isRestaurantOpen = open;
  public void confirmReservation() {
    if (restaurantCapacity >= guestCount && isRestaurantOpen) {
      System.out.println("Reservation confirmed");
      isConfirmed = true;
    } else {
      System.out.println("Reservation denied");
			isConfirmed = false;
  public void informUser() {
    System.out.println("Please enjoy your meal!");
  public static void main(String[] args) {
    Reservation partyOfThree = new Reservation(3, 12, true);
    Reservation partyOfFour = new Reservation(4, 3, true);

with output:

Reservation confirmed
Please enjoy your meal!
Reservation denied
Please enjoy your meal!

Well considering the fact that this is around 6 months old, maybe this wont be much help but then maybe for someone who might have the same problem in the future.
the reason why you are getting Please enjoy your meal! after reservation being denied is because in the informUser() method there is no if condition preventing it from not being printed. and also you are calling Party0fFour.informUser() even after reservation being denied in the confirmReservation() method, which doesnt make much sense. hope it helps

1 Like

constructor method runs when we call a instance. But regardless of the objects being callen , constructor output is on the top of the terminal. Can someone explain that?

public static void main(String args) {

Reservation partyOfThree = new Reservation(3, 12, true);

Reservation partyOfFour = new Reservation(9, 3, true);





First line of the terminal is invalid reservation! Which belongs to partyOfFour callout.

no, the constructor is invoked/called when we create a an instance. so doing new Reservation will invoke the constructor.

OH constructor method is invoked ,
when this line runs,

Car ferrari = new Car();

Thanks u for the reply!

Do I understand correctly that I can simplify

if(a == с || b == c)


if((a || b) == c)