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語句理解
J2SE5.0新特性之Foreach
C#中提供了Foreach的用法:
foreach (string item in f)
{
*ine(item);
}
Java也增加了這樣的功能:
package *5;
import *.*;
import *tion;
public class Foreach
{
private Collection<String> c = null;
private String[] belle = new String[4];
public Foreach()
{
belle[0] = "西施";
belle[1] = "王昭君";
belle[2] = "貂禪";
belle[3] = "楊貴妃";
c = *(belle);
}
public void testCollection()
{
for (String b : c)
{
*n("曾經的風化絕代:" + b);
}
}
public void testArray()
{
for (String b : belle)
{
*n("曾經的青史留名:" + b);
}
}
public static void main(String[] args)
{
Foreach each = new Foreach();
*llection();
*ray();
}
}
對于集合類型和數組類型的,我們都可以通過foreach語法來訪問它。上面的例子中,以前我們要依次訪問數組,挺麻煩:
for (int i = 0; i < *; i++)
{
String b = belle[i];
*n("曾經的風化絕代:" + b);
}
現在只需下面簡單的語句即可:
for (String b : belle)
{
*n("曾經的青史留名:" + b);
}
對集合的訪問效果更明顯。以前我們訪問集合的代碼:
for (Iterator it = *or(); *t();)
{
String name = (String) *();
*n("曾經的風化絕代:" + name);
}
現在我們只需下面的語句:
for (String b : c)
{
*n("曾經的風化絕代:" + b);
}
Foreach也不是萬能的,它也有以下的缺點:
在以前的代碼中,我們可以通過Iterator執行remove操作。
for (Iterator it = *or(); *t();)
{
itremove()
}
但是,在現在的foreach版中,我們無法刪除集合包含的對象。你也不能替換對象。
同時,你也不能并行的foreach多個集合。所以,在我們編寫代碼時,還得看情況而使用它。
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語句
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沒有{ }是因為只有一條語句 可以不用寫{ }但為了規范還是建議寫上