java、python、JavaScript以及jquery循环语句的区别

 更新时间:2016年07月15日 09:27:54   投稿:lqh  
本篇文章主要介绍java、python、JavaScript以及jquery的循环语句的区别,这里整理了它们循环语句语法跟示例,以便大家阅读,更好的区分它们的不同

一、概述

       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;

 以上就是对 Java、python、Javascript以及jquary 循环语句的资料整理,需要的朋友可以参考下.

相关文章

  • 详解Java集合类之List篇

    详解Java集合类之List篇

    这篇文章主要为大家详细介绍一下Java集合类中List的用法,文中的示例代码讲解详细,对我们学习Java有一定帮助,感兴趣的可以了解一下
    2022-07-07
  • IDEA2020 1.1中Plugins加载不出来的问题及解决方法

    IDEA2020 1.1中Plugins加载不出来的问题及解决方法

    这篇文章主要介绍了IDEA2020 1.1中Plugins加载不出来的问题,本文还给大家提到了IDEA 2020.1.1 找不到程序包和符号的问题,感兴趣的朋友跟随小编一起看看吧
    2020-06-06
  • Spring中@PathVariable和@RequestParam注解的用法区别

    Spring中@PathVariable和@RequestParam注解的用法区别

    这篇文章主要介绍了Spring中@PathVariable和@RequestParam注解的用法区别,@PathVariable 是 Spring 框架中的一个注解,用于将 URL 中的变量绑定到方法的参数上,它通常用于处理 RESTful 风格的请求,从 URL 中提取参数值,并将其传递给方法进行处理,需要的朋友可以参考下
    2024-01-01
  • 详解Spring Boot配置排序依赖技巧

    详解Spring Boot配置排序依赖技巧

    本篇文章主要介绍了Spring Boot配置排序依赖技巧,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 基于swagger测试List类型参数过程详解

    基于swagger测试List类型参数过程详解

    这篇文章主要介绍了基于swagger测试List类型参数过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 在Java中使用MongoDB的方法详解

    在Java中使用MongoDB的方法详解

    这篇文章主要给大家介绍了关于在Java中使用MongoDB的相关资料,要操作MongoDB数据库你需要使用MongoDB的Java驱动程序,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • SpringBoot整合Redisson实现分布式锁

    SpringBoot整合Redisson实现分布式锁

    本文主要介绍了SpringBoot整合Redisson实现分布式锁,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 深入理解SpringCloud之Eureka注册过程分析

    深入理解SpringCloud之Eureka注册过程分析

    eureka是一种去中心化的服务治理应用,其显著特点是既可以作为服务端又可以作为服务向自己配置的地址进行注册,这篇文章主要介绍了深入理解SpringCloud之Eureka注册过程分析
    2018-05-05
  • 详解spring cloud分布式日志链路跟踪

    详解spring cloud分布式日志链路跟踪

    这篇文章主要介绍了详解spring cloud分布式日志链路跟踪,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Java线程中的用户态和内核态解读

    Java线程中的用户态和内核态解读

    这篇文章主要介绍了Java线程中的用户态和内核态解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论