你可能不知道的java、python、JavaScript以及jquary循環語句的區別

一.概述

  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;

?

轉載于:https://www.cnblogs.com/wanghzh/p/5672009.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254883.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254883.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254883.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

webservices系列(二)——JAX-WS文件上傳下載

新建ImgData類&#xff0c;存放文件javabean DataHandler&#xff1a;使用這個類型存放文件 XmlRootElement(name"ImaData") XmlAccessorType(XmlAccessType.FIELD) public class ImgData {private Integer id;XmlMimeType("application/octet-stream")pri…

halcon sobel邊緣檢測sobel_amp

目錄sobel_amp&#xff08;算子&#xff09;描述參數sobel_amp&#xff08;算子&#xff09; sobel_amp - 使用Sobel算子檢測邊緣&#xff08;幅度&#xff09;。 sobel_amp&#xff08;圖片&#xff1a;邊緣圖像&#xff1a;濾波器方式&#xff0c;掩膜大小:) 描述 sobel_…

es中的一些知識點記錄

1. forcemerge接口 強制段合并&#xff0c;設置為1時&#xff0c;是期望最終只有1個索引段。但實際情況是&#xff0c;合并的結果是段的總數會減少&#xff0c;但仍大于1&#xff0c;可以多次執行強制合并的命令。 設置的的目標值越小。合并消耗的時間會越久。 curl -XPOST htt…

用live555和ffplay搭建流媒體環境

用live555和ffplay搭建流媒體環境 http://bbs.chinavideo.org/viewthread.php?tid12166

如何才能優雅地書寫JS代碼

第一&#xff1a;關于匿名函數的使用 要避免全局變量泛濫&#xff0c; 可以考慮使用匿名函數&#xff0c; 把不需要在外部訪問的變量或者函數限制在一個比較小的范圍內。 例如以下代碼&#xff1a; <script> function func1(){ var list ["a", "b",…

halcon hough_lines 霍夫直線變換

目錄hough_lines&#xff08;算子&#xff09;描述參數hough_lines&#xff08;算子&#xff09; hough_lines - 借助Hough變換檢測邊緣圖像中的線條并將其返回到HNF中。 hough_lines&#xff08;RegionIn :: AngleResolution&#xff0c;Threshold&#xff0c;AngleGap&…

通過border來實現各種三角符號

很長時間沒有動筆了&#xff0c;最近學的東西很雜很亂&#xff01;又有點丟了西瓜撿芝麻&#xff0c;走馬觀花&#xff0c;瞻前顧后的感覺&#xff01; 因此&#xff0c;我決定一步步來&#xff0c;化繁為簡&#xff0c;今天就從border入手。 很多時候我們都會需要一個三角形或…

MFC封裝API

一、Win32Application Architecture 一個Win32 Application Architecture的代碼結構如下&#xff1a; LRESULT CALLBACK WinWordsProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); //定義回調處理消息函數 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPr…

通過閱讀 Douglas Crockford 的源碼學習如何寫 JSON parser(一)

JSON-js Douglas Crockford 是 JSON 的發明者&#xff0c;所以通過 DC 的代碼來學習 JSON 和 parser 絕對是上乘之選。這個倉庫里面有四個 JS 文件&#xff0c;今天我們先研究 json_parse.js。 json_parse 定義了如下 API&#xff1a; json_parse(string) > object json_par…

halcon gen_region_hline 繪制霍夫變換提取直線

目錄gen_region_hline&#xff08;算子&#xff09;描述gen_region_hline&#xff08;算子&#xff09; gen_region_hline - 將霍夫變換提取直線以普通形式描述的輸入行存儲為區域。 gen_region_hline( : Regions : Orientation, Distance : ) 描述 運算符gen_region_hline…

H.264視頻RTP負載格式/NALU的類型

1. 網絡抽象層單元類型(NALU) NALU 頭由一個字節組成, 它的語法如下: |0|1|2|3|4|5|6|7| |F|NRI| Type | F: 1 個比特. forbidden_zero_bit&#xff1a;在H.264規范中規定了這一位必須為0。 NRI: 2 個比特. nal_ref_idc&#xff1…

4.10下午

轉載于:https://www.cnblogs.com/yanyuying/p/6690662.html

虛函數

1、基于向上類型轉換&#xff0c;基類通過虛函數可以對多個子類相似的功能實現統一管理。 2、例子&#xff1a; A為基類&#xff0c;B、C為A的同級子類。virtual只需在基類中標識一次&#xff0c;子類無需重復標識。class A {virtual void display(){cout<<"我是A&q…

Android繪制(一):來用shape繪出想要的圖形吧!

目錄 前言shape繪制矩形橢圓線環用shape繪制SeekBar最后前言 在沒有UI設計師的時候, 或者是想簡單看下效果的時候, 用shape進行快速繪制是極好的! 官方文檔. shape繪制 一共有四種shape: rectangle, oval, line, ring. 矩形 我們一個一個來看, 首先是矩形: <?xml version&q…

halcon sobel 邊緣檢測 sobel_dir

目錄sobel_dir&#xff08;算子&#xff09;描述參數sobel_dir&#xff08;算子&#xff09; sobel_dir - 使用Sobel算子檢測邊緣&#xff08;振幅和方向&#xff09;。 sobel_dir(Image : EdgeAmplitude, EdgeDirection : FilterType, Size : ) 描述 sobel_dir計算圖像的一…

靜態鏈接庫LIB和動態鏈接庫DLL的區別 創建和示例

1.什么是靜態連接庫&#xff0c;什么是動態鏈接庫靜態鏈接庫與動態鏈接庫都是共享代碼的方式&#xff0c;如果采用靜態鏈接庫&#xff0c;則無論你愿不愿意&#xff0c; lib 中的指令都全部被直接包含在最終生成的 EXE 文件中了。 但是若使用 DLL&#xff0c;該 DLL 不必被包含…

【譯】x86程序員手冊37-第10章 初始化

Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 are set to predefined values. These values are adequate to enable execution of a bootstrap program, but additional initialization must be performed by s…

在ubuntu中安裝minicom時出現device /dev/tty8 is locked解決辦法

未正常關閉minicom yesaiduywf-ubuntu: ~$ ls /var/lock LCK..ttyS0 subsys yesaiduywf-ubuntu: ~$ kill 0 yesaiduywf-ubuntu: ~$ ls /var/lock subsys yesaiduywf-ubuntu: ~$ sudo minicom Welcome to minicom 2.3 或者刪除/var/lock下面以LCK開頭的文件轉載于:https://www.…

秒殺多線程第二篇 多線程第一次親密接觸 CreateThread與_beginthreadex本質區別

本文將帶領你與多線程作第一次親密接觸&#xff0c;并深入分析CreateThread與_beginthreadex的本質區別&#xff0c;相信閱讀本文后你能輕松的使用多線程并能流暢準確的回答CreateThread與_beginthreadex到底有什么區別&#xff0c;在實際的編程中到底應該使用CreateThread還是…

halcon get_image_pointer1獲取圖像指針

目錄get_image_pointer1&#xff08;算子&#xff09;描述參數get_image_pointer1&#xff08;算子&#xff09; get_image_pointer1 - 訪問單通道圖像的指針。 get_image_pointer1(Image : : : Pointer, Type, Width, Height) 描述 運算符get_image_pointer1返回指向圖像I…