你可能不知道的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.mzph.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…