Java中的for語句的用法
格式:
for (initialization;condition;increment)statement;
其中:
initialization是for循環的初始部分,它用來設置循環控制變量,并制初值;
condition是條件判斷部分,由該條件判斷的真假決定for循環合時推出;
increment是增量部分,每執行一次循環后,由增量部分決定循環控制的變化情況;
(這三部分必須用分號隔開)
statement稱為for循環的循環體,它可以是一條語句也可以是一個語句塊。
執行步驟:
首先執行初始化部分,然后執行條件判斷部分,若條件為真,則執行for循環的statement語句,
當循環的statement語句執行完后執行增量部分,然后再執行條件判斷部分,為真,則繼續執行
循環,否則執行for循環后面的語句。
例:for (i=1;i<=10;i++)*n(i);
1.當初始化、條件判斷、增量三部分為空時,就實現了一種無限循環:
for( ; ; )statement;
但實際中,這樣的無限循環往往并不是真的讓它無限執行下去,只要在statement中在合適的條件下執行
break語句就可以跳出循環體。
2.無循環體的for循環,此時不提供statement:
for(t=0;t<some_value;t++);
這種循環一般用來產生時間延遲。
*語言不支持逗號運算符,但在循環初始化和增量兩部分 允許采用逗號,這樣也就可以使用由逗號
隔開多個表達式,從而在for循環中模擬了逗號運算符的功能,但注意,條件判斷部分必須是一個值為 布爾
型的表達式:
int i;
string s;
for (i=0,s="testing";
(i<10&&(*()>=1);
i++,s=*ing(1)
{
*n(s)
}
*的for循環允許在初始化部分零食說明局部循環變量:
for(int i =0;i<my_*;i++)
*n(" a [ " + i + "]= "+my_array[i]);
用這種方法定義的零食循環變量的作用域只在for循環體內,換句話說,它們的作用域在for循環體、
初始化、條件測試和增量中有效,在定義他們的循環外使用的有相同名字的變量不會受這些臨時的
循環變量的影響。
注意 :JAVA語法只允許程序員在初始化部分要么定義多個由逗號隔開的表達式,要么定義具有相同
類型的由逗號隔開的多個變量,但不能混用。
int j=3;
fot (int =0, j=0;i<j;i++,j--)
*n("k="+i*j);
*n("j=",j);
在for循環的初始化部分說明了 i 和 j 兩個循環變量,并將他們的值設置為0,在循環外,使用了一個
與循環變量 j 相同的變量,但 for 循環對 j 的值沒有影響,屏幕上輸出的 j 值還是3.
java for語句
for語句是循環的一種形式。
For循環格式如下:
for(賦初值;判斷條件;賦值加減){
執行語句
}
若是在循環主體中要處理的語句只有一個,可以將大括號省去。下面列出for循環的流程:
(1)第一次進入for循環是,要為循環控制變量賦初值。
(2)根據判斷條件內容檢查是否要繼續執行循環,當判斷條件為真(true)時,繼續執行循環主體內的語句;判斷條件為假(false)時,則會跳出循環,執行其它語句。
執行完循環主體內的語句后,循環控制變量會根據增減量的要求更改循環控制變量的值,然后再回到步驟(2)重新判斷是否繼續執行循環。
for循環的3種方式,參考http://**mengdd/archive/2013/01/21/*
List<String> list = new ArrayList<String>();
*("a");
*("b");
*("c");
//第一種方式,普通for循環
for(int i = 0; i < *(); i++)
{
*n(*(i));
}
//第二種方式,使用迭代器
for(Iterator<String> iter = *or(); *t();)
{
*n(*());
}
//第三種方式,使用增強型的for循環
for(String str: list)
{
*n(str);
}
java for 循環語句
你的for循環語句,循環了100次,x++了100次,所以就是101啊。
for循環,第一次判斷:n=100,n>0,所以循環一次,然后n--,x++,n就變成99了,x就變成2了。
如此循環,共循環100次后,n為0,x為101,此時不滿足n>0,所以退出循環。
for循環語句執行順序為先執行第一個分號前的語句,再執行第二個分號前的語句,然后再執行大括號里的語句,然后執行第三個分號前的語句。
接著再繼續執行第二個分號前的語句,然后是大括號里的語句,然后是第三個分號前的語句。
如此循環上面的。
x不是局部變量,所以最后會打印出101,如果你for循環里這樣寫for(int x=0;。。)那結果就是0了。
請java的for循環語句,我初學,完全不懂
果然很初學,我沒學過的都知道。
大括號里的是每次循環所要執行的程序,也就是循環體,而小括號里的,可以說是用來計算循環次數的。你的第一段意思就是,從n=10開始,一直到n=1,每一個數值時執行一次大括號的內容。
(“a=”+a)的意思是,輸出字符"a=",接著再輸出變量a的值。假如a=10,那么執行*n("a="+a)的結果就是輸出“a=10"這么一串。
嵌套循環就是外循環里頭又有個內循環。還是以你的第二段程序為例來說吧,第一個for(i=0; i<10; i++),就是外循環,在i=0一直到9的每一個值,j都會從j=0一直加到9,也就是,i=0時,j從i到9算一輪,i=1,j又從1到9再算一次。
明白了沒?。
Java的for語句
public class lingxing{//創建一個類 類名是lingxing public訪問權限公有
public static void main(String args[]){//主函數 和C的main差不多 入口函數
for (int i=1;i<=5;i++){//定義一個變量 取值范圍1-5 大于5時跳出循環
if (i<=3){//判斷定義的變量是否小于等于3 滿足條件繼續執行 否則執行else中的內容
for(int j=1;j<=6-i;j++)//定義另一個變量 取值范圍是從1開始 當6-上個變量的值大于這個變量時條件不滿足跳出循環
*(" ");//打印一個空格print不換行 println換行
for(int j=1;j<=(2*i-1);j++)//上面的循環執行完成后 就執行這個循環 變量的取值與上類似自己看
*("*");//打印一個*號
*n();
}
else{
for(int j=i;j>=1;j--)//上面的if不滿足條件執行這里
*(" ");
int k=i-3;//聲明一個變量 類型是整形(int)
for(int j=1;j<=5-2*k;j++)//循環 與上一樣
*("*");
*n();
}
}
}
}
一條語句的結束用 分號表示 有的for沒有{ }是因為只有一條語句 可以不用寫{ }但為了規范還是建議寫上
java語句的for循環
其實像這樣的只要你掌握了訣竅。就很容易了。外層循環要循環多少次。取決于你要打多少行。
比如上面的有4行。那說明i要是從0開始。就i<4.要是從1開始就i<=4。反正循環4次就對了
再說內層循環。也容易。它循環的次數表示每行打印多少個。你要學會找i和j的規律。比如i=1的時候。他打印了1個圖案。i=2就打印了2個圖案。你可以將打印的圖案的個數看成是j。那就是i=1..j=1。i=2.j=2.這樣你內層循環終止的條件就出來了。j<=i。為什么還可以=呢。因為你的j是從1開始的。你可以假設下i=1的時候。j《=i而且j=1開始。那就內層循環只循環了1次。就打印了1個圖案。其他同理。
再來個稍微復雜雜點的比分。我想你就能完全清楚了。假如是如下這個圖案。
*
***
*****
那么第1行代表打印了1個。i=1,j=1.
第2行打印了3個。i=2,j=3;
第3行打印了5個。i=3.j=5.
那么你從上面就可以找到規律。J的取值范圍是j=2*i-1.即為內層循環的終止條件。
那么你該懂了吧。代碼如下。
for(int i=1;i<=3;i++){
for(int j=1;j<=2*i-1;j++){
*("*");
}
*n();
}
java for語句的問題
*循環是這樣的:第一個分號前面 是初始化,沒有語句就什么都不做,會繼續分析第二個分號前面的內容,第二個分號前面是判斷,判斷是否還進入此循環。如果沒有語句說明不管怎么都要進入此循環。第二個分號后面是做完for循環里的內容后變量更新。
2.接下來看for(;;i++)首先第一個分號前面 是初始化,沒有語句,第二個分號前面是判斷,沒有語句,說明不管怎么樣都要進入此循環。
3.下面進入了內層循環for(;;i--) 和剛才一樣,第一個分號前面 是初始化,沒有語句,跳過,第二個分號前面是判斷,沒有語句,說明不管怎么樣都要進入此循環。
4.然后 if(i<j) break tp;此時i是0,j是5 0<5說明此條件為真。那就進入if語句。(由于if語句只有一句話,所以可以不用{},如if(i<j) break tp;等同于if(i<j){ break tp;})
* tp的意思是跳出tp這個循環。此處tp是循環標記位,他標記在外層循環,所以直接跳出外層循環。切記此時不會再進入for循環后面的變量更新了。(break和continue一樣,不會再進行第二個分號后面的內容)
6.下面就是打印了
7.二樓 pgfepdcwge的 "然后i++,又i--,i不變"是完全不正確 的,因為他不會進入for的更新語句
轉載請注明出處華閱文章網 » java的for語句