Java語言(1995年)
種類:for-three
中文名:for循環(huán)三段式,之所以名為有兩個分號劃分為三個功能线脚。
for循環(huán)發(fā)明人是史蒂芬·柯蒂斯·約翰遜嗤军,借鑒了肯·湯普遜技肩,起初的B語言撇吞,年代:1969年。
for循環(huán)三段式特點(diǎn)取代while循環(huán)堆巧。
for(var i=1;i<=5;i++){
? ? ? ? System.out.println(i);
}
遍歷數(shù)組:
版本:Java 5.0
起初的CPL語言妄荔,年代:1963年,類型:loop-for-in谍肤,起初for-in類型是SETL語言啦租,發(fā)布:1969年。
注:CPL是C他太爺荒揣。
又稱:for迭代循環(huán)篷角、for遍歷循環(huán)、foreach乳附、Java專屬:增強(qiáng)for循環(huán)
題外話:for出現(xiàn)了冒號起初的是MUMPS内地、MATLAB
int[] v={10,20,30};
for( int e:v){
? ? ? ? System.out.println(e);
? ? }
注:遍歷不允許自動類型推導(dǎo)伴澄。
# Scala語言(2004年)
作者:馬丁·奧德斯基
(1958年9月5日,金牛座)
平臺:JVM阱缓、JS非凌、LLVM
前代:Java、CommonLISP荆针、Scheme敞嗡、Smalltalk、SML航背、Erlang喉悴、Mesa
類型:for-arrow
for-arrow借鑒了for-to,而for-to起初是CPL語言玖媚,年代:1963年箕肃。
for(i<-1 to 5){
? ? println(i)
}
注:for加to,起初是CPL語言年代:1963年今魔。
含頭不含尾:
for(i<-1 until 5){
? ? println(i)
}
注:for加until勺像,起初是Algol60語言,年代1960年错森。
步長(方式一):
for(i<-1 to 5 by 2){
println(i)
}
注:步長加by起初是CPL年代:1963年吟宦。
步長(方式二):
for(i<-Range(1,5,2)){
? ? println(i)
}
倒置:
for(i<-(1 to 5).reverse){
println(i)
}
注:倒置發(fā)展歷史:第一代CPL(down to),第二代Ada(for-in種類涩维,加reverse)
守衛(wèi):
for(i<-1 to 5 if i%2==0){
? ? println(i)
}
遍歷數(shù)組:
val v=Array(10,20,30)
for(e<-v){
? ? println(e)
}
嵌套循環(huán):
for(i<-1 to 3;j<-1 to 2){
? ? println(s"$i,$j")
}
調(diào)用方法foreach:
(1 to 5).foreach(println)
# Kotlin語言(2011年)
作者:安德烈·步雷斯拉夫
名字來自圣彼得堡附近的科特林島
吉祥物:Kodee
1.0:2016年2月15日
## 類型:for-in
for-in殃姓,中文名:for循環(huán)遍歷(迭代器),起初CPL語言(loop-for-in)瓦阐,年代:1963年蜗侈,起初功能他的特點(diǎn)for循環(huán)用于遍歷,現(xiàn)在最流行垄分,他支持了:微軟公司(Q#)宛篇、蘋果公司(Swift)娃磺、谷歌采用了開發(fā)安卓(Kotlin)薄湿。
for(i in 1..5){
? ? println(i)
}
步長:
for(i in 1..5 step 2){
? ? println(i)
}
注:for加step,起初是BASIC語言偷卧,年代:1964年豺瘤。
含頭不含尾:
for(i in 1 until 5){
? ? println(i)
}
倒置:
for(i in 5 downTo 1){
println(i)
}
# Kotlin語言
作者:安德烈·步雷斯拉夫
名字來自圣彼得堡附近的科特林島
吉祥物:Kodee
1.0:2016年2月15日
## 類型:for-in
for-in,中文名:for循環(huán)遍歷(迭代器)听诸,起初CPL語言(loop-for-in)坐求,年代:1963年,起初優(yōu)化SETL語言晌梨,年代:1969年桥嗤,他的特點(diǎn)for循環(huán)用于遍歷须妻,現(xiàn)在最流行,他支持了:微軟公司(Q#)泛领、蘋果公司(Swift)荒吏、谷歌采用了開發(fā)安卓(Kotlin)。
for(i in 1..5){
? ? println(i)
}
步長:
for(i in 1..5 step 2){
? ? println(i)
}
含頭不含尾:
for(i in 1 until 5){
? ? println(i)
}
倒置:
for(i in 5 downTo 1){
println(i)
}