一.概述 java迴圈語句分為四種形式,分別是 while, do/while, for, foreach; python中迴圈語句有兩種,while,for; JavaScript中迴圈語句有四種,while,do/while,for,for/in jQuery迴圈語句each 二、java迴圈語 ...
一.概述
java迴圈語句分為四種形式,分別是 while, do/while, for, foreach;
python中迴圈語句有兩種,while,for;
JavaScript中迴圈語句有四種,while,do/while,for,for/in
jQuery迴圈語句each
二、java迴圈語句
a、while
while的語法為:
while(條件語句){ 代碼塊 }
或者:
while(條件語句) 代碼;
while的含義非常簡單,只要條件語句為真,就一直執行後面的代碼,為假就停止不做了。例如:
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的語法是:
do{ 代碼塊; }while(條件語句)
即:先執行代碼塊,再判斷條件是否成立,如果成立,繼續執行代碼,不成立退出迴圈。
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迴圈適用於迴圈次數已知的情況,語法規則:
for(初始化語句; 迴圈條件; 步進操作){ 迴圈體 }
每次判斷迴圈條件,條件成立執行迴圈,執行完畢後,初始值進行步進操作,示例代碼:
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。
初始值為空的情況:
int[] arr = {1,2,3,4}; int i=0; for(;i<arr.length;i++){ System.out.println(arr[i]); }
這是因為,初始值在迴圈前已定義。
在for中,每個語句都是可以為空的,也就是說:
for(;;){}
是有效的,這是個死迴圈,只不過每次都沒有做任何事,相當於python中每次執行pass語句。
d、foreach
foreach的語法如下代碼所示:
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、
li=[1,2,3,4] for i in li: print(i)
上述代碼中,i代表列表li的每一個元素。語法規則為for ...in ...,相當於java中的foreach。
b、
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、
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、
dic={'a':1,'b':2} for k in dic: print(k)
上述代碼中,相當於對字典的key進行迴圈,等價於下麵的代碼:
dic={'a':1,'b':2} for k in dic.keys(): print(k)
e、
dic={'a':1,'b':2} for k in dic.values(): print(k)
上述代碼中,相當於對字典的values進行迴圈。
f、
dic={'a':1,'b':2} for k,v in dic.items(): print(k,v)
上述代碼中,k代表字典的key,v代表字典的value值。
3.2 while迴圈
a、
i=1 while i: pass
上述代碼中,while i:即當i為真值時執行迴圈,在python中除了none、空字元串、空列表、空字典、空元組、False,其他均為真值,即為True。
b、
while True: pass
上述代碼適用於死迴圈,即條件預設為真。
c、其它通用while迴圈:
while 條件: pass
據本人經驗,python中如果需要將本來已經false的條件作為迴圈條件,可以採取以下方案:
方案一、
i=False while i is not True: pass
或者:
i=False while i is False: pass
方案二、
i=False while i ==False: pass
四、JavaScript迴圈語句
a、while迴圈
var cont=0; while(cont<10){ console.log(cont); cont++; }
上述代碼可看出JavaScript while迴圈需要先給定初始值,每次判斷迴圈條件,條件為真執行迴圈,併在迴圈內部對初始值進行自增。
如果想生成死迴圈,上述代碼可改成:
while(true){ console.log(1); }
此時,不需要設置初始值和自增。
b、do/while
JavaScript中do/while和java中do/while一樣,參考上文中java do/while。需要註意JavaScript中定義變數用var。
do{ 代碼塊; }while(條件語句)
即,先執行代碼塊,再判斷條件是否成立,成立則繼續執行下次迴圈,不成立退出迴圈。
c、for
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
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語句:
$(':text').each(function(){ console.log($(this).val()) ; });
語法規則:標簽集合.each(匿名函數);
上述代碼的意思是:獲取所有inp標簽中type='text',的標簽,並對其進行迴圈,每次列印它的值。
jQuery中跳出迴圈用return:
return ture:退出本次迴圈,執行下次迴圈,相當於其它語言的continue;
return false:退出本層迴圈,即退出當前each,相當於其它語言的break;