Java/Language Basics/While

Материал из Java эксперт
Перейти к: навигация, поиск

Demonstrates the while loop.

   <source lang="java">

//: c03:WhileTest.java // // From "Thinking in Java, 3rd ed." (c) Bruce Eckel 2002 // www.BruceEckel.ru. See copyright notice in CopyRight.txt. public class WhileTest {

 public static void main(String[] args) {
   double r = 0;
   while(r < 0.99d) {
     r = Math.random();
     System.out.println(r);
   }
 }

} ///:~


      </source>
   
  
 
  



Do While

   <source lang="java">

public class DoWhile {

 public static void main(String[] av) {
   int i = 5;
   do {
     System.out.println("i = " + i--);
   } while (i>=0);
 }

}


      </source>
   
  
 
  



Do While Demo

   <source lang="java">

/* From http://java.sun.ru/docs/books/tutorial/index.html */ /*

* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* -Redistribution of source code must retain the above copyright notice, this
*  list of conditions and the following disclaimer.
*
* -Redistribution in binary form must reproduce the above copyright notice,
*  this list of conditions and the following disclaimer in the documentation
*  and/or other materials provided with the distribution.
*
* Neither the name of Sun Microsystems, Inc. or the names of contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
* ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN")
* AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
* AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
* DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
* REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
* INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
* OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
* EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*
* You acknowledge that this software is not designed, licensed or intended
* for use in the design, construction, operation or maintenance of any
* nuclear facility.
*/

public class DoWhileDemo {

 public static void main(String[] args) {
   String copyFromMe = "Copy this string until you encounter the letter "g".";
   StringBuffer copyToMe = new StringBuffer();
   int i = 0;
   char c = copyFromMe.charAt(i);
   do {
     copyToMe.append(c);
     c = copyFromMe.charAt(++i);
   } while (c != "g");
   System.out.println(copyToMe);
 }

}

      </source>
   
  
 
  



Java labeled while loop.

   <source lang="java">

//: c03:LabeledWhile.java // Java"s "labeled while" loop. // From "Thinking in Java, 3rd ed." (c) Bruce Eckel 2002 // www.BruceEckel.ru. See copyright notice in CopyRight.txt.

public class LabeledWhile {

 public static void main(String[] args) {
   int i = 0;
   outer:
   while(true) {
     System.out.println("Outer while loop");
     while(true) {
       i++;
       System.out.println("i = " + i);
       if(i == 1) {
         System.out.println("continue");
         continue;
       }
       if(i == 3) {
         System.out.println("continue outer");
         continue outer;
       }
       if(i == 5) {
         System.out.println("break");
         break;
       }
       if(i == 7) {
         System.out.println("break outer");
         break outer;
       }
     }
   }
 }

} ///:~


      </source>
   
  
 
  



uses a do-while loop to get this input from the user

   <source lang="java">

import java.util.Scanner; public class MainClass {

 static Scanner sc = new Scanner(System.in);
 public static void main(String[] args) {
   int bank = 1000;
   int bet;
   do {
     System.out.print("Enter your bet: ");
     bet = sc.nextInt();
   } while ((bet <= 0) || (bet > bank));
 }

}

</source>
   
  
 
  



while Demo

   <source lang="java">

/* From http://java.sun.ru/docs/books/tutorial/index.html */ /*

* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* -Redistribution of source code must retain the above copyright notice, this
*  list of conditions and the following disclaimer.
*
* -Redistribution in binary form must reproduce the above copyright notice,
*  this list of conditions and the following disclaimer in the documentation
*  and/or other materials provided with the distribution.
*
* Neither the name of Sun Microsystems, Inc. or the names of contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
* ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN")
* AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
* AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
* DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
* REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
* INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
* OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
* EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
*
* You acknowledge that this software is not designed, licensed or intended
* for use in the design, construction, operation or maintenance of any
* nuclear facility.
*/

public class WhileDemo {

   public static void main(String[] args) {
       String copyFromMe = "Copy this string until you encounter the letter "g".";
       StringBuffer copyToMe = new StringBuffer();
       int i = 0;
       char c = copyFromMe.charAt(i);
       while (c != "g") {
           copyToMe.append(c);
           c = copyFromMe.charAt(++i);
       }
       System.out.println(copyToMe);
   }

}

      </source>