java、python、JavaScript以及jquery循環(huán)語(yǔ)句的區(qū)別
一、概述
python中循環(huán)語(yǔ)句有兩種,while,for;
JavaScript中循環(huán)語(yǔ)句有四種,while,do/while,for,for/in
jQuery循環(huán)語(yǔ)句each
二、java 循環(huán)語(yǔ)句
a、while
while 的語(yǔ)法為:
while(條件語(yǔ)句){ 代碼塊 }
或者:
while (條件語(yǔ)句) 代碼;
while的含義非常簡(jiǎn)單,只要條件語(yǔ)句為真,就一直執(zhí)行后面的代碼,為假就停止不做了。例如:
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()從屏幕接收一個(gè)數(shù)。
b、do/while
不管條件語(yǔ)句是什么,代碼塊都會(huì)至少執(zhí)行一次,則可以使用do/while循環(huán)。do/while的語(yǔ)法是:
do{ 代碼塊; }while(條件語(yǔ)句)
即:先執(zhí)行代碼塊,再判斷條件是否成立,如果成立,繼續(xù)執(zhí)行代碼,不成立退出循環(huán)。
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循環(huán)
for循環(huán)適用于循環(huán)次數(shù)已知的情況,語(yǔ)法規(guī)則:
for(初始化語(yǔ)句; 循環(huán)條件; 步進(jìn)操作){ 循環(huán)體 }
每次判斷循環(huán)條件,條件成立執(zhí)行循環(huán),執(zhí)行完畢后,初始值進(jìn)行步進(jìn)操作,示例代碼:
int[] arr = {1,2,3,4}; for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); }
只要i小于arr的長(zhǎng)度4,就執(zhí)行循環(huán),需要注意的是,循環(huán)執(zhí)行完畢后,i=4,即雖然沒(méi)有執(zhí)行循環(huán),但i自增1。
初始值為空的情況:
int[] arr = {1,2,3,4}; int i=0; for(;i<arr.length;i++){ System.out.println(arr[i]); }
這是因?yàn)?,初始值在循環(huán)前已定義。
在for中,每個(gè)語(yǔ)句都是可以為空的,也就是說(shuō):
for(;;){}
是有效的,這是個(gè)死循環(huán),只不過(guò)每次都沒(méi)有做任何事,相當(dāng)于python中每次執(zhí)行pass語(yǔ)句。
d、foreach
foreach的語(yǔ)法如下代碼所示:
int[] arr = {1,2,3,4}; for(int element : arr){ System.out.println(element); }
foreach使用冒號(hào) : ,冒號(hào)前面是循環(huán)中的每個(gè)元素,包括數(shù)據(jù)類(lèi)型和變量名稱(chēng),冒號(hào)后面是要遍歷的數(shù)組或集合,每次循環(huán)element都會(huì)自動(dòng)更新。
e、循環(huán)控制:
break;跳出本層循環(huán)。
執(zhí)行break后,不再執(zhí)行循環(huán)的任何操作,初始值也不會(huì)自增。
continue;跳出本次循環(huán),初始值自增,執(zhí)行下次循環(huán)。
三、python循環(huán)語(yǔ)句
3.1 for 循環(huán)
a、
li=[1,2,3,4] for i in li: print(i)
上述代碼中,i代表列表li的每一個(gè)元素。語(yǔ)法規(guī)則為for ...in ...,相當(dāng)于java中的foreach。
b、
li=[1,2,3,4] for i,j in enumerate(li): print(i,j)
上述代碼中,i代表列表li的索引,j代表li的每一個(gè)元素。
注:索引默認(rèn)從0開(kāi)始,可設(shè)置 for i,j in enumerate(li,1):從而設(shè)置索引從1開(kāi)始。
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)
上述代碼中,相當(dāng)于對(duì)字典的key進(jìn)行循環(huán),等價(jià)于下面的代碼:
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)
上述代碼中,相當(dāng)于對(duì)字典的values進(jìn)行循環(huán)。
f、
dic={'a':1,'b':2} for k,v in dic.items(): print(k,v)
上述代碼中,k代表字典的key,v代表字典的value值。
3.2 while循環(huán)
a、
i=1 while i: pass
上述代碼中,while i:即當(dāng)i為真值時(shí)執(zhí)行循環(huán),在python中除了none、空字符串、空列表、空字典、空元組、False,其他均為真值,即為T(mén)rue。
b、
while True: pass
上述代碼適用于死循環(huán),即條件默認(rèn)為真。
c、其它通用while循環(huán):
while 條件: pass
據(jù)本人經(jīng)驗(yàn),python中如果需要將本來(lái)已經(jīng)false的條件作為循環(huán)條件,可以采取以下方案:
方案一、
i=False while i is not True: pass
或者:
i=False while i is False: pass
方案二、
i=False while i ==False: pass
四、JavaScript循環(huán)語(yǔ)句
a、while循環(huán)
var cont=0; while(cont<10){ console.log(cont); cont++; }
上述代碼可看出JavaScript while循環(huán)需要先給定初始值,每次判斷循環(huán)條件,條件為真執(zhí)行循環(huán),并在循環(huán)內(nèi)部對(duì)初始值進(jìn)行自增。
如果想生成死循環(huán),上述代碼可改成:
while(true){ console.log(1); }
此時(shí),不需要設(shè)置初始值和自增。
b、do/while
JavaScript中do/while和java中do/while一樣,參考上文中java do/while。需要注意JavaScript中定義變量用var。
do{ 代碼塊; }while(條件語(yǔ)句)
即,先執(zhí)行代碼塊,再判斷條件是否成立,成立則繼續(xù)執(zhí)行下次循環(huán),不成立退出循環(huán)。
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'的標(biāo)簽并設(shè)置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標(biāo)簽,并對(duì)其進(jìn)行循環(huán),這里i代表索引,上述代碼操作的是反選復(fù)選框,如果被選上,擇設(shè)置該標(biāo)簽的checked=false,反之,設(shè)置為true;
五、jQuery循環(huán)語(yǔ)句
each語(yǔ)句:
$(':text').each(function(){ console.log($(this).val()) ; });
語(yǔ)法規(guī)則:標(biāo)簽集合.each(匿名函數(shù));
上述代碼的意思是:獲取所有inp標(biāo)簽中type='text',的標(biāo)簽,并對(duì)其進(jìn)行循環(huán),每次打印它的值。
jQuery中跳出循環(huán)用return:
return ture:退出本次循環(huán),執(zhí)行下次循環(huán),相當(dāng)于其它語(yǔ)言的continue;
return false:退出本層循環(huán),即退出當(dāng)前each,相當(dāng)于其它語(yǔ)言的break;
以上就是對(duì) Java、python、Javascript以及jquary 循環(huán)語(yǔ)句的資料整理,需要的朋友可以參考下.
- php for 循環(huán)語(yǔ)句使用方法詳細(xì)說(shuō)明
- php循環(huán)語(yǔ)句 for()與foreach()用法區(qū)別介紹
- MySQL循環(huán)語(yǔ)句之while循環(huán)測(cè)試
- Python跳出循環(huán)語(yǔ)句continue與break的區(qū)別
- Shell中的循環(huán)語(yǔ)句for、while、until實(shí)例講解
- bash 編程中循環(huán)語(yǔ)句用法
- python中l(wèi)ist循環(huán)語(yǔ)句用法實(shí)例
- VBS教程:VBScript 基礎(chǔ)-使用循環(huán)語(yǔ)句
- 跟老齊學(xué)Python之for循環(huán)語(yǔ)句
相關(guān)文章
spring使用RedisTemplate的操作類(lèi)訪問(wèn)Redis
本篇文章主要介紹了spring使用RedisTemplate的操作類(lèi)訪問(wèn)Redis,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05MyBatis-Plus updateById不更新null值的方法解決
用Mybatis-Plus的updateById()來(lái)更新數(shù)據(jù)時(shí),無(wú)法將字段設(shè)置為null值,更新后數(shù)據(jù)還是原來(lái)的值,本文就來(lái)詳細(xì)的介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08Mac?Maven環(huán)境搭建安裝和配置超詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于Mac?Maven環(huán)境搭建安裝和配置的超詳細(xì)步驟,Maven是一種常用的Java構(gòu)建工具,它可以自動(dòng)化構(gòu)建、測(cè)試和打包Java項(xiàng)目,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Java查詢MongoDB數(shù)據(jù)庫(kù)案例大全
這篇文章主要給大家介紹了關(guān)于Java查詢MongoDB數(shù)據(jù)庫(kù)的一些相關(guān)案例,Java可以使用MongoDB的官方Java驅(qū)動(dòng)程序來(lái)連接和操作MongoDB數(shù)據(jù)庫(kù),需要的朋友可以參考下2023-07-07SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn)
本文主要介紹了SpringBoot的jar包如何啟動(dòng)的實(shí)現(xiàn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Java使用JDBC連接postgresql數(shù)據(jù)庫(kù)示例
這篇文章主要介紹了Java使用JDBC連接postgresql數(shù)據(jù)庫(kù),結(jié)合實(shí)例形式分析了jdbc連接postgresql數(shù)據(jù)庫(kù)及數(shù)值插入、更新、查詢等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01freemarker?jsp?java內(nèi)存方式實(shí)現(xiàn)分頁(yè)示例
這篇文章主要介紹了freemarker?jsp?java內(nèi)存方式實(shí)現(xiàn)分頁(yè)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Spring配置文件解析之BeanDefinitionReader詳解
這篇文章主要介紹了Spring配置文件解析之BeanDefinitionReader詳解,ApplicationContext.xml配置文件解析成Document對(duì)象,真正對(duì)xml中元素解析的類(lèi)是在BeanDefinitionDocumentReader的實(shí)現(xiàn)類(lèi)中來(lái)完成的,需要的朋友可以參考下2024-02-02