一、概述
python中循環語句有兩種,while,for;
JavaScript中循環語句有四種,while,do/while,for,for/in
jQuery循環語句each
二、java 循環語句
a、while
while 的語法為:
1
2
3
|
while (條件語句){ 代碼塊 } |
或者:
1
|
while (條件語句) 代碼; |
while的含義非常簡單,只要條件語句為真,就一直執行后面的代碼,為假就停止不做了。例如:
1
2
3
4
5
6
7
8
9
10
|
Scanner reader = new Scanner(System.in); System.out.println( "please input password" ); int num = reader.nextInt(); int password = 6789 ; while (num!=password){ System.out.println( "please input password" ); num = reader.nextInt(); } System.out.println( "correct" ); reader.close(); |
上述代碼中,只要密碼不等于6789,就一直提示輸入,reader.nextInt()從屏幕接收一個數。
b、do/while
不管條件語句是什么,代碼塊都會至少執行一次,則可以使用do/while循環。do/while的語法是:
1
2
3
|
do { 代碼塊; } while (條件語句) |
即:先執行代碼塊,再判斷條件是否成立,如果成立,繼續執行代碼,不成立退出循環。
1
2
3
4
5
6
7
8
9
|
Scanner reader = new Scanner(System.in); int password = 6789 ; int num = 0 ; do { System.out.println( "please input password" ); num = reader.nextInt(); } while (num!=password); System.out.println( "correct" ); reader.close(); |
c、for循環
for循環適用于循環次數已知的情況,語法規則:
1
2
3
|
for (初始化語句; 循環條件; 步進操作){ 循環體 } |
每次判斷循環條件,條件成立執行循環,執行完畢后,初始值進行步進操作,示例代碼:
1
2
3
4
|
int [] arr = { 1 , 2 , 3 , 4 }; for ( int i= 0 ;i<arr.length;i++){ System.out.println(arr[i]); } |
只要i小于arr的長度4,就執行循環,需要注意的是,循環執行完畢后,i=4,即雖然沒有執行循環,但i自增1。
初始值為空的情況:
1
2
3
4
5
|
int [] arr = { 1 , 2 , 3 , 4 }; int i= 0 ; for (;i<arr.length;i++){ System.out.println(arr[i]); } |
這是因為,初始值在循環前已定義。
在for中,每個語句都是可以為空的,也就是說:
1
|
for (;;){} |
是有效的,這是個死循環,只不過每次都沒有做任何事,相當于python中每次執行pass語句。
d、foreach
foreach的語法如下代碼所示:
1
2
3
4
|
int [] arr = { 1 , 2 , 3 , 4 }; for ( int element : arr){ System.out.println(element); } |
foreach使用冒號 : ,冒號前面是循環中的每個元素,包括數據類型和變量名稱,冒號后面是要遍歷的數組或集合,每次循環element都會自動更新。
e、循環控制:
break;跳出本層循環。
執行break后,不再執行循環的任何操作,初始值也不會自增。
continue;跳出本次循環,初始值自增,執行下次循環。
三、python循環語句
3.1 for 循環
a、
1
2
3
|
li = [ 1 , 2 , 3 , 4 ] for i in li: print (i) |
上述代碼中,i代表列表li的每一個元素。語法規則為for ...in ...,相當于java中的foreach。
b、
1
2
3
|
li = [ 1 , 2 , 3 , 4 ] for i,j in enumerate (li): print (i,j) |
上述代碼中,i代表列表li的索引,j代表li的每一個元素。
注:索引默認從0開始,可設置 for i,j in enumerate(li,1):從而設置索引從1開始。
c、
1
2
3
4
|
li1 = [ 1 , 2 , 3 , 4 ] li2 = [ 4 , 5 , 6 , 7 ] for i,j in zip (li1,li2): print (i,j) |
上述代碼中,i代表列表li1的元素,j代表li2的元素。
d、
1
2
3
|
dic = { 'a' : 1 , 'b' : 2 } for k in dic: print (k) |
上述代碼中,相當于對字典的key進行循環,等價于下面的代碼:
1
2
3
|
dic = { 'a' : 1 , 'b' : 2 } for k in dic.keys(): print (k) |
e、
1
2
3
|
dic = { 'a' : 1 , 'b' : 2 } for k in dic.values(): print (k) |
上述代碼中,相當于對字典的values進行循環。
f、
1
2
3
|
dic = { 'a' : 1 , 'b' : 2 } for k,v in dic.items(): print (k,v) |
上述代碼中,k代表字典的key,v代表字典的value值。
3.2 while循環
a、
1
2
3
|
i = 1 while i: pass |
上述代碼中,while i:即當i為真值時執行循環,在python中除了none、空字符串、空列表、空字典、空元組、False,其他均為真值,即為True。
b、
1
2
|
while True : pass |
上述代碼適用于死循環,即條件默認為真。
c、其它通用while循環:
1
2
|
while 條件: pass |
據本人經驗,python中如果需要將本來已經false的條件作為循環條件,可以采取以下方案:
方案一、
1
2
3
|
i = False while i is not True : pass |
或者:
1
2
3
|
i = False while i is False : pass |
方案二、
1
2
3
|
i = False while i = = False : pass |
四、JavaScript循環語句
a、while循環
1
2
3
4
5
|
var cont=0; while (cont<10){ console.log(cont); cont++; } |
上述代碼可看出JavaScript while循環需要先給定初始值,每次判斷循環條件,條件為真執行循環,并在循環內部對初始值進行自增。
如果想生成死循環,上述代碼可改成:
1
2
3
|
while ( true ){ console.log(1); } |
此時,不需要設置初始值和自增。
b、do/while
JavaScript中do/while和java中do/while一樣,參考上文中java do/while。需要注意JavaScript中定義變量用var。
1
2
3
|
do { 代碼塊; } while (條件語句) |
即,先執行代碼塊,再判斷條件是否成立,成立則繼續執行下次循環,不成立退出循環。
c、for
1
2
3
4
5
6
|
var a=document.getElementById( 'k1' ).children; for ( var i=0;i< a.length;i++){ var inp=a[i]; var at=inp.getAttribute( 'type' ); if (at== 'text' )inp.setAttribute( 'value' , '123' ); } |
上述代碼是獲取id='k1'下所有type='text'的標簽并設置value值等于'123'.
d、for in
1
2
3
4
5
|
var c1=document.getElementById( 'i1' ).getElementsByTagName( 'input' ); for ( var i in c1){ if (c1[i].checked)c1[i].checked= false ; else c1[i].checked= true ; } |
上述代碼是找到所有的input標簽,并對其進行循環,這里i代表索引,上述代碼操作的是反選復選框,如果被選上,擇設置該標簽的checked=false,反之,設置為true;
五、jQuery循環語句
each語句:
1
2
3
|
$( ':text' ).each( function (){ console.log($( this ).val()) ; }); |
語法規則:標簽集合.each(匿名函數);
上述代碼的意思是:獲取所有inp標簽中type='text',的標簽,并對其進行循環,每次打印它的值。
jQuery中跳出循環用return:
return ture:退出本次循環,執行下次循環,相當于其它語言的continue;
return false:退出本層循環,即退出當前each,相當于其它語言的break;
以上就是對 Java、python、Javascript以及jquary 循環語句的資料整理,需要的朋友可以參考下.