while和do-while的使用方法
都是循環語句..
對于第一次循環
while是先判斷再執行
int i=10;
while(i<10){
*n(i)
i++;
}
結果是什么都不打印,最終i的值為10
do-while是先執行,再判斷
int i=10;
do{
*n(i)
i++;
}while(i<10)
打印的也是10,最終i=11
兩者的區別在于第一圈循環時,while是先判斷循環條件,再循環.所以第一個程序什么都不打印.而do-while則是先執行后判斷.所以,第二個程序先打印10,然后i++然后跳出循環..
===========補充===========
應該是12次吧..下面這段代碼作為驗證
public static void main(String[] args) {
// TODO Auto-generated method stub
int num;
int count;
count = 0;
num = 20;
while (num < 250) {
num += 20;
count++;
}
*n("while:"+count+"次");
count = 0;
num = 20;
do {
num += 20;
count++;
} while (num < 250);
*n("do-while:"+count+"次");
}
輸出結果:
while:12次
do-while:12次
java里while do{} while 和 for 語句 的用法 和不同方法的使用
while 循環:while循環是一個控制結構,可以重復的特定任務次數。
語法:while循環的語法是:while(Boolean_expression) { //Statements } 在執行時,如果布爾表達式的結果為真,則循環中的動作將被執行。這將繼續下去,只要該表達式的結果為真。
在這里,while循環的關鍵點是循環可能不會永遠運行。當表達式進行測試,結果為 false,循環體將被跳過,在while循環之后的第一個語句將被執行。
例子:public class Test { public static void main(String args[]) { int x = 10; while( x < 20 ) { *("value of x : " + x ); x++; *("\n"); } } } 這將產生以下結果:value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19----------------------------------------------------- do。while 循環:do 。
while循環類似于while循環,不同的是一個do 。 while循環是保證至少執行一次。
語法 do。while循環的語法是:do { //Statements }while(Boolean_expression); 請注意,布爾表達式出現在循環的結尾,所以在循環中的語句執行前一次布爾測試。
如果布爾表達式為true,控制流跳回起來,并且在循環中的語句再次執行。這個過程反復進行,直到布爾表達式為 false。
例子:public class Test { public static void main(String args[]){ int x = 10; do{ *("value of x : " + x ); x++; *("\n"); }while( x < 20 ); } } 這將產生以下結果:value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19-------------------------------------------- for 循環:for循環是一個循環控制結構,可以有效地編寫需要執行的特定次數的循環。知道多少次的任務是要重復一個for循環是有好處的。
語法 for循環的語法是:for(initialization; Boolean_expression; update) { //Statements } 下面是控制在一個流程的循環:初始化步驟首先被執行,并且僅一次。這個步驟可聲明和初始化任何循環控制變量。
不需要把一個聲明在這里,只要一個分號出現。接下來,布爾表達式求值。
如果是 true,則執行循環體。如果是 false,則循環體不執行和流程控制的跳轉到下一個語句過去的for循環。
之后循環體在for循環執行時,控制流程跳轉備份到更新語句。該語句允許更新任何循環控制變量。
這個語句可以留空,只要一個分號出現的布爾表達式之后。布爾表達式現在再次評估計算。
如果是 true,循環執行,并重復這個過程(循環體,然后更新的步驟,然后布爾表達式)。之后,布爾表達式為 false,則循環終止。
例子:public class Test { public static void main(String args[]) { for(int x = 10; x < 20; x = x+1) { *("value of x : " + x ); *("\n"); } } } 這將產生以下結果:value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19---------------------------------------------------------- for循環在Java中增強版:從Java5,增強的for循環中進行了介紹。這主要是用于數組。
語法 增強的for循環的語法是:for(declaration : expression) { //Statements } 聲明: 新聲明塊變量,這是一種與正在訪問數組中的元素兼容的。變量將是可利用的塊內并且它的值將是相同的作為當前的數組元素。
表達: 這個計算結果完成需要循環數組。表達式可以是一個數組變量或方法調用返回一個數組。
例子:public class Test { public static void main(String args[]){ int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ){ *( x ); *(","); } *("\n"); String [] names ={"James", "Larry", "Tom", "Lacy"}; for( String name : names ) { *( name ); *(","); } } } 這將產生以下結果:10,20,30,40,50,James,Larry,Tom,Lacy,。
C語言while do怎么用
沒有 while do
只有 while語句和do while 語句
while( i i++;
}
在i 小于10 之前一直在while里面循環
do{
i++;
}while(i 和上例一樣
唯一一點不同的是:一個是先判斷,再循環;一個是先循環再判斷;如果上面2個例子,i的初始值都為10,第一個例子就不會執行while語句了,但是第二個卻會執行一次.
do while 語句中continue的用法
continue就是跳過本次循環還沒有執行的語句,直接開始下一次循環。
一開始 i=0 0 == 0/5*5 這個條件是成立的,所以continue了,所以 sum+=i就不執行了
直接到while進行判斷,++i是先加1,然后進行判斷 1
i=1 1 和1/5*5=0顯然不成立,所以執行 sum +=i sum=1了
i=2 條件也不滿足 sum+=i sum=3了
。
i=5 5 ==5/5*5 滿足,所以continue了,sum +=i不執行,所以sum還是 1+2+3+4的結果
i=6 時,繼續執行 sum = 1+2+3+4+6了,5就跳過了
C語言中while語句、do-while語句、for語句的區別及具體運用,怎樣更
其實功能差不多。
區別在于while語句先判斷后執行。do-while先執行后判斷。
for(;;)里邊有三個表達式。第一個,一般用來定義初始化一個變量,第二個判斷條件,第三個是下邊的代碼執行完以后執行的語句。
三者都是不滿足條析時就不再循環。例如int i;i=0;while(i<100){printf("%d ",i);i++;}i=0;do{printf("%d ",i);i++;}while(I<100);for(i=0;i<100;i++){printf("%d ",i);}這三個結果應該是一樣的。
while和 do while語句有什么區別
1:for循環
for語句的格式為:
for (初始化語句; 條件語句; 控制語句)
{
語句1 ;
語句2 ;
。.
語句n ;
}
for 語句的執行順序是:首先執行“初始化語句”;然后測試“條件語句”;若條件成立,則執行語句1到語句n;然后執行“控制”語句;接著再測試條件語句是否成立,如果成立則重復執行以上過程,直至條件不成立時才結束for循環。如:
for(i=0;i<10;i++)。。;
int i,a[]=new int[10];
for (i=0,i<10;i++) a[i]= 0;
這段代碼把整型數組a中的所有元素都賦成0。
你可以在for循環的頭部說明你的變量,而且最后一個表達式可以省略,不過要確定在語句中對變量的值有所改變,如:
for(int i=0;i<=10;) i+=i;
for循環中,“初始化語句”、“條件語句”和“控制語句”都可以省略,但是其間的分號不能省略。例如:
int i =0 ;
for (; ; ;)
{
if i>10 break ;
i = i +1 ;
}
for循環中省略“條件語句”時,在for語句{}中必須包換轉句語句控制程序在某個條件滿足時跳出for循環,否則將形成死循環
2:while循環
while循環和for循環類似,其格式為:
while (條件語句)
{
語句1 ;
語句2 ;
。.
語句n ;
}
執行while時,先測試“條件語句”,如果條件成立,則執行語句1到語句n,直至條件不成立時調處循環。
int i=0 ;
while (i<10)
{
i++ ;
*n("Hey!.get me out of here!:);
}
3:do 。 while 循環
do 。 while 循環語句的格式為:
do
{
語句1 ;
語句2 ;
。.
語句n ;
}
while (條件語句) ;
do 。while 語句的功能是首先執行語句1到語句n,然后進行條件測試,如果條件成立,則繼續執行語句1到語句n,否這跳出循環。如:
boolean test=false;
do
{
。。
}
while(test);
這種控制并不是很常用,但有時卻非常重要,使用時注意結尾處while語句后的分號。
如何使用do while循環語句
do while 循環的執行過程如下圖所示:
第一次進入循環體時,不用先檢查 condition 是否成立,而是馬上進入循環體,等循環體執行完畢后才檢查 condition 是否為真,如果為真,則再次執行循環體,反之,則退出循環,轉而執行后續的語句。其中,condition 可以是任何合法的表達式。例如:
#include <stdio.h>
#include <string.h>
#define NAME "Antigloss"
int main(void)
{
char name[20];
do
{
printf("Please guess what's my name: ");
scanf("%19s", name);
} while ( strcmp(NAME, name) );
printf("Yeah! You got it! ");
return 0;
}
上例中,第一次進入循環體時,不需檢查 strcmp(NAME, name) 是否為真(strcmp 函數用于判斷兩個字符串是否相等,如果相等,則返回 0),而是立刻無條件執行循環體:先輸出 Please guess what's my name: ,然后等待用戶輸入(scanf 函數中的 "%19s" 命令 scanf 最多把用戶輸入中的 19 個字符放入數組 name);循環體執行完后才檢測 strcmp(NAME, name) 是否為真:如果 NAME 不等于 name,則 strcmp 返回非 0(真),再次執行循環體,如果 NAME 等于 name,則 strcmp 返回 0(假),退出循環,轉而執行后續的語句,即 printf("Yeah! You got it! "); 。由于使用了 do while 循環,本例中的循環體至少會被執行一次。
使用while或使用do~while語句,實現1~100偶數和
//1、使用do-while
int sum = 0; //當前之和
int i = 1; //加數
do {
if (i%2==0){
sum+=i;
}
i++;
}while (*n(sum);
------------------------------------------
//2、使用wihle的做法:
int sum = 0; //當前之和
int i = 1; //加數
while (iif (i%2==0){//模0=偶數
sum+=i;//偶數進來后他們相加
}
i++;
}
*n(sum);
---------------------------
//3、使用for做法
int sum = 0; //當前之和
for (int i = 0; i if (i%2==0){
sum+=i;
}
}
*n(sum);
轉載請注明出處華閱文章網 » whiledo語句的用法