• 你可能不知道的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;

  • 相关阅读:
    Flume下读取kafka数据后再打把数据输出到kafka,利用拦截器解决topic覆盖问题
    idea 党用快捷键
    Idea 调试快捷键
    log4j实时将数据写入到kafka,Demo和相关的配置详解
    windows环境下,kafka常用命令
    ElasticSearch 基本概念
    elasticsearch REST API方式批量插入数据
    自提柜-资产管理柜
    10.智能快递柜(源码下载)
    9.智能快递柜SDK(串口型锁板)
  • 原文地址:https://www.cnblogs.com/wanghzh/p/5672009.html
Copyright © 2020-2023  润新知