• 关于循环浅析


    从c,c++,python,scala到java,简单接触了这样一些编程语言,对于它们的基本语法中的循环想做个总结。

    一、c,c++

    C语言for循环(for语句)详解 (biancheng.net)

    //这个链接比较详细,本人也从中摘取了一些知识点。

    1.

    while(表达式){
        语句
    }

    先计算“表达式”的值,当值为真(非0)时, 执行“语句块”;执行完“语句块”,再次计算表达式的值,如果为真,继续执行“语句块”……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行 while 后面的代码。

    2.

    do{
        语句块
    }while(表达式);//切记加这个分号

    do-while循环与while循环的不同在于:它会先执行“语句块”,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while 循环至少要执行一次“语句块”。

    3.

    for(表达式1; 表达式2; 表达式3){
        语句块
    }

    1) 先执行“表达式1”。

    2) 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。

    3) 执行完循环体后再执行“表达式3”。

    4) 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。

    上面的步骤中,2) 和 3) 是一次循环,会重复执行,for 语句的主要作用就是不断执行步骤 2) 和 3)。

    “表达式1”仅在第一次循环时执行,以后都不会再执行,可以认为这是一个初始化语句。“表达式2”一般是一个关系表达式,决定了是否还要继续下次循环,称为“循环条件”。“表达式3”很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得“不成立”。

    for 循环中的“表达式1(初始化条件)”、“表达式2(循环条件)”和“表达式3(自增或自减)”都是可选项,都可以省略(但分号;必须保留)。 

    二、python

    Python基础------几种循环结构详解_Senfos.W的博客-CSDN博客_python循环结构

    1.

        格式:for 参数 in 循环体:
                    pass
    上述格式中,可以做循环体的内容有很多,如元组、列表、字符串等等。只要可以遍历、可循环的的内容均可作为循环体存在。
    其中的参数,主要是用来存放每次循环体送来的单个元素,实现循环的作用。在实际使用中,常和if判断语句联合使用。

    2.

    格式:while True:
            pass
    while循环和for…in…循环的不同之处在于,while要先将循环变量初始化或者直接使用while True 这种死循环形式

    3.

    格式:for 参数 in range():
                    pass

    range()的使用主要是和for循环一起出现的。
    range()的形式有三种:

    range(stop) :默认从0开始,给出结束的int型参数即可
    range(start,stop) :
    range(start,stop,step)
    上述中的stop参数,都是取不到的,结尾的参数为stop-1。这也是python的一大特点,所有用括号扩起来的循环或者取值,都是***左取右不取***
     

    三、java

    Java 循环结构 – for, while 及 do…while | 菜鸟教程 (runoob.com)

    1.

    while( 布尔表达式 ) { //循环内容 }

    2.

    do {
           //代码语句
    }while(布尔表达式);

    3.

    for(初始化; 布尔表达式; 更新) { //代码语句 }

    Java5 引入了一种主要用于数组的增强型 for 循环。

    Java 增强 for 循环语法格式如下:

    for(声明语句 : 表达式) { //代码句子 }

    声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

    表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

    四、scala

    快速入门Scala(三):循环_von Neumann的博客-CSDN博客_scala循环语句快捷

    1. 

    while(condition){ //while循环代码块 }

    2.

    do { //do...while循环代码块 } while(condition)

    3.

    for(var x <- iter ){ //for循环代码块 }

    以上语法中,iter一般是一个可以迭代的对象,如Array或String,也可以是一个数字区间,如i to j(从i至j的所有整数),或者 i until j(从i至j除了j的所有整数)。其中,左箭头 <- 用于为变量 x 赋值。

    总结,这些语言的循环都是类c的,掌握好c,学习其他是比较容易的,这些的区别主要在于for循环,python中有range(),java中有增强版(不过这个增强版在c++中也可以使用),还有scala这类较为独特的。

    大多数使用一重循环,二重循环,各循环之间相互嵌套,也可以通过变量,使得二重循环变为一重循环等,除此之外,还有迭代,用的也是for循环,只是展现形式不同罢了。

  • 相关阅读:
    简易绘图 DataFrame.plot
    MySql常见复合查询(重点)
    git上传对象文件错误解决方案
    css强制显示一行
    【UI自动化】微信群聊未添加人数统计
    数据结构与集合源码
    P01 Swing综述
    MySQL报错:Row size too large (> 8126)
    DolphinDB 基于 Glibc 升级的性能优化实战案例
    CSS: Clip Or Crop Images In HTML5 CSS
  • 原文地址:https://blog.csdn.net/m0_51863774/article/details/128004650