你可能不知道的java、python、JavaScript以及jquary循环语句的区别
一.概述
java循環(huán)語句分為四種形式,分別是 while, do/while, for, foreach;
python中循環(huán)語句有兩種,while,for;
JavaScript中循環(huán)語句有四種,while,do/while,for,for/in
jQuery循環(huán)語句each
二、java循環(huán)語句
a、while
while的語法為:
while(條件語句){代碼塊 }或者:
while(條件語句) 代碼;while的含義非常簡單,只要條件語句為真,就一直執(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()從屏幕接收一個數(shù)。
b、do/while
不管條件語句是什么,代碼塊都會至少執(zhí)行一次,則可以使用do/while循環(huán)。do/while的語法是:
do{代碼塊; }while(條件語句)即:先執(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ù)已知的情況,語法規(guī)則:
for(初始化語句; 循環(huán)條件; 步進操作){循環(huán)體 }每次判斷循環(huán)條件,條件成立執(zhí)行循環(huán),執(zhí)行完畢后,初始值進行步進操作,示例代碼:
int[] arr = {1,2,3,4}; for(int i=0;i<arr.length;i++){System.out.println(arr[i]); }只要i小于arr的長度4,就執(zhí)行循環(huán),需要注意的是,循環(huán)執(zhí)行完畢后,i=4,即雖然沒有執(zhí)行循環(huán),但i自增1。
初始值為空的情況:
int[] arr = {1,2,3,4}; int i=0; for(;i<arr.length;i++){System.out.println(arr[i]); }這是因為,初始值在循環(huán)前已定義。
在for中,每個語句都是可以為空的,也就是說:
for(;;){}是有效的,這是個死循環(huán),只不過每次都沒有做任何事,相當于python中每次執(zhí)行pass語句。
d、foreach
foreach的語法如下代碼所示:
int[] arr = {1,2,3,4}; for(int element : arr){System.out.println(element); }foreach使用冒號 : ,冒號前面是循環(huán)中的每個元素,包括數(shù)據(jù)類型和變量名稱,冒號后面是要遍歷的數(shù)組或集合,每次循環(huán)element都會自動更新。
e、循環(huán)控制:
break;跳出本層循環(huán)。
執(zhí)行break后,不再執(zhí)行循環(huán)的任何操作,初始值也不會自增。
continue;跳出本次循環(huán),初始值自增,執(zhí)行下次循環(huán)。
三、python循環(huán)語句
3.1 for 循環(huán)
a、
li=[1,2,3,4] for i in li:print(i)上述代碼中,i代表列表li的每一個元素。語法規(guī)則為for ...in ...,相當于java中的foreach。
b、
li=[1,2,3,4] for i,j in enumerate(li):print(i,j)上述代碼中,i代表列表li的索引,j代表li的每一個元素。
注:索引默認從0開始,可設(shè)置?for i,j in enumerate(li,1):從而設(shè)置索引從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進行循環(huán),等價于下面的代碼:
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進行循環(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:即當i為真值時執(zhí)行循環(huán),在python中除了none、空字符串、空列表、空字典、空元組、False,其他均為真值,即為True。
b、
while True:pass上述代碼適用于死循環(huán),即條件默認為真。
c、其它通用while循環(huán):
while 條件:pass據(jù)本人經(jīng)驗,python中如果需要將本來已經(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)語句
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)部對初始值進行自增。
如果想生成死循環(huán),上述代碼可改成:
while(true){console.log(1);}此時,不需要設(shè)置初始值和自增。
b、do/while
JavaScript中do/while和java中do/while一樣,參考上文中java do/while。需要注意JavaScript中定義變量用var。
do{代碼塊; }while(條件語句)即,先執(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'的標簽并設(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標簽,并對其進行循環(huán),這里i代表索引,上述代碼操作的是反選復選框,如果被選上,擇設(shè)置該標簽的checked=false,反之,設(shè)置為true;
五、jQuery循環(huán)語句
each語句:
$(':text').each(function(){console.log($(this).val()) ;});語法規(guī)則:標簽集合.each(匿名函數(shù));
上述代碼的意思是:獲取所有inp標簽中type='text',的標簽,并對其進行循環(huán),每次打印它的值。
jQuery中跳出循環(huán)用return:
return ture:退出本次循環(huán),執(zhí)行下次循環(huán),相當于其它語言的continue;
return false:退出本層循環(huán),即退出當前each,相當于其它語言的break;
?
轉(zhuǎn)載于:https://www.cnblogs.com/wanghzh/p/5672009.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的你可能不知道的java、python、JavaScript以及jquary循环语句的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卡还王额度多少?额度秒批吗?
- 下一篇: RTF文件结构分析及其应用