java、python、JavaScript以及jquery迴圈語句的區別_java

來源:互聯網
上載者:User

一、概述

       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=1while i: pass

上述代碼中,while i:即當i為真值時執行迴圈,在python中除了none、Null 字元串、空列表、空字典、空元組、False,其他均為真值,即為True。

    b、

while True: pass

上述代碼適用於死迴圈,即條件預設為真。

c、其它通用while迴圈:

while 條件: pass

據本人經驗,python中如果需要將本來已經false的條件作為迴圈條件,可以採取以下方案:

 方案一、

i=Falsewhile i is not True: pass

或者:

i=Falsewhile i is False: pass

  方案二、

i=Falsewhile 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;

 以上就是對 Java、python、Javascript以及jquary 迴圈語句的資料整理,需要的朋友可以參考下.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.