Tutorial

Java do while loop

Published on August 3, 2022
author

Pankaj

Java do while loop

Java do-while loop is used to execute a block of statements continuously until the given condition is true. The do-while loop in Java is similar to while loop except that the condition is checked after the statements are executed, so do while loop guarantees the loop execution at least once.

Java do while loop

Java do while loop syntax is as follows:

do {
     // statements
} while (expression);

The expression for the do-while loop must return a boolean value, otherwise, it will throw compile-time error.

do while java flow diagram

Java Do While Loop

Java do-while loop example

Here is a simple java do-while loop example to print numbers from 5 to 10.

package com.journaldev.javadowhileloop;

public class JavaDoWhileLoop {

	public static void main(String[] args) {

		int i = 5;
		do {
			System.out.println(i);
			i++;
		} while (i <= 10);
	}
}

java do while loop example

do while true java

We can create an infinite loop by passing boolean expression as true in the do while loop. Here is a simple do while java infinite loop example.

package com.journaldev.javadowhileloop;

public class DoWhileTrueJava {

	public static void main(String[] args) throws InterruptedException {
		do {
			System.out.println("Start Processing inside do while loop");
			// look for a file at specific directory
			// if found, then process it, such as inserting rows into database
			System.out.println("End Processing of do while loop");

			Thread.sleep(5 * 1000);
		} while (true);
	}
}

Note that you will have to manually quit the application to stop it, using Ctrl+C if the program is executed in the terminal. If you execute the program in Eclipse IDE then there is a red color button to terminate the program.

do while vs while loop

The only time you should use a do-while loop is when you want to execute the statements inside the loop at least once, even though condition expression returns false. Otherwise, it’s always better to use a while loop. Java while loop looks cleaner than a do-while loop. That’s all for java do while loop. You should also look into java for loop and java continue statement. Reference: Oracle Documentation

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the author(s)

Category:
Tutorial
Tags:

While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
JournalDev
DigitalOcean Employee
DigitalOcean Employee badge
February 7, 2019

hi Pankaj, Can you please correct the “if condition is true arrow” in the image?

- Nikhil

JournalDev
DigitalOcean Employee
DigitalOcean Employee badge
February 7, 2019

Ah, thanks for noticing that small mistake. I have corrected the image now.

- Pankaj

    JournalDev
    DigitalOcean Employee
    DigitalOcean Employee badge
    April 23, 2020

    Hey, can I ask for some help coz im having a trouble. I want to repeat and repeat converting in my program if I enter Yes and it will stop if I will enter No but im really having a trouble. I wish you could help me. Here is my code: import java.util.*; import java.text.DecimalFormat; class CurrencyConverter { public static void main(String args[]) { double amount, Dollar, Pound, Yen, Won, Euro, Baht, Yuan, Lira, Franc, Rupee; DecimalFormat f = new DecimalFormat(“#,###,###.###”); Scanner sc = new Scanner(System.in); String[] currencyList = new String[] {" Dollar", " Pound", " Yen", " Won", " Euro", " Baht", " Yuan", " Lira", " Franc", " Rupee"}; { System.out.println(“°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°”); System.out.println(“Hi!😃 Welcome to Currency Converter!”); System.out.println(“°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°”); System.out.println(“Which currency you want to convert your ₱eso? Please choose.👇”); for (int x = 0; x < currencyList.length; x++) { System.out.println(x + 1 + “.” + currencyList[x]); } boolean repeat = true; int num = 0; String answer; do{ System.out.println(“°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°”); System.out.print(“Currency no. “); int code = sc.nextInt(); System.out.println(“°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°”); System.out.println(“Please enter the how much you want to convert.”); System.out.print(“₱ “); amount = sc.nextInt(); repeat = true; if (code == 1) { Dollar = amount * 50.76; System.out.println(” Its " + f.format(Dollar) + " dollars.”); } else if (code == 2) { Pound = amount * 62.48; System.out.println(” Its " + f.format(Pound) + " pound.”); } else if (code == 3) { Yen = amount * 0.47; System.out.println(" Its " + f.format(Yen) + " yen.“); } else if (code == 4) { Won = amount * 0.041; System.out.println(“Its " + f.format(Won) + " won.”); } else if (code == 5) { Euro = amount * 54.87; System.out.println(“Its " + f.format(Euro) + " euro.”); } else if (code == 6) { Baht = amount * 1.57; System.out.println(” Its " + f.format(Baht) + " baht."); } else if (code == 7) { Yuan = amount * 7.16; System.out.println(“Its " + f.format(Yuan) + " yuan.”); } else if (code == 8) { Lira = amount * 7.27; System.out.println(“Its " + f.format(Lira) + " lira.”); } else if (code == 9) { Franc = amount * 52.18; System.out.println(“Its " + f.format(Franc) + " franc.”); } else if (code == 10) { Rupee = amount * 0.66; System.out.println(“Its " + f.format(Rupee) + " rupee.”); } else System.out.println(“❗I N V A L I D C O D E❗”); String invalid = sc.nextLine(); { System.out.println(“°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°”); System.out.println(“Do you want to convert again? Yes or No”); answer = sc.nextLine(); repeat = true; } } while (answer.equals(“Yes”)); } } }

    - Marie

    JournalDev
    DigitalOcean Employee
    DigitalOcean Employee badge
    May 6, 2021

    Hi Marie, What is the purpose of using String invalid = sc.nextLine(); in your code?

    - Annamalai

      JournalDev
      DigitalOcean Employee
      DigitalOcean Employee badge
      February 25, 2019

      please give syntax for do while loop

      - rupesh

      JournalDev
      DigitalOcean Employee
      DigitalOcean Employee badge
      November 19, 2020

      do { statements; } while(condition);

      - dhanya attaluri

        JournalDev
        DigitalOcean Employee
        DigitalOcean Employee badge
        December 26, 2019

        The image still displays the wrong arrow…

        - Roman

        JournalDev
        DigitalOcean Employee
        DigitalOcean Employee badge
        February 24, 2021

        Please provide more examples rather than 1 on each type

        - Ariyan sinha

          JournalDev
          DigitalOcean Employee
          DigitalOcean Employee badge
          August 29, 2020

          import java.util.*; public class accepting { public static void main(String[] args) { //accept System.out.println (“Programe to accept your name”); Scanner sc = new Scanner(System.in); System.out.print("Enter Fullname : "); String fullname = sc.nextLine(); System.out.print("Enter Lastname : "); String lastname = sc.nextLine(); System.out.print("Enter Nickname : "); String nickname = sc.nextLine(); System.out.print(“Enter Student ID : “); String id = sc.nextLine(); //output System.out.println (”\n” + fullname + " " + lastname + " " + nickname + " " + id); } }

          - VARAPON YUSOP

            Try DigitalOcean for free

            Click below to sign up and get $200 of credit to try our products over 60 days!

            Sign up

            Join the Tech Talk
            Success! Thank you! Please check your email for further details.

            Please complete your information!

            Become a contributor for community

            Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

            DigitalOcean Documentation

            Full documentation for every DigitalOcean product.

            Resources for startups and SMBs

            The Wave has everything you need to know about building a business, from raising funding to marketing your product.

            Get our newsletter

            Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

            New accounts only. By submitting your email you agree to our Privacy Policy

            The developer cloud

            Scale up as you grow — whether you're running one virtual machine or ten thousand.

            Get started for free

            Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

            *This promotional offer applies to new accounts only.