精华内容
下载资源
问答
  • //下面的语句使用了一个while循环打印出了col_link表中的所有的数据 System.out.println("站点名 "+" "+"站点地址"); System.out.println("---------------"+" "+"----------------"); while (rs.next()) { ...
  • 循环(while/do语句) 枚举(for表达式) 匹配(match表达式) 异常处理(throw/try) 输出(print/println) 输入(readLine) 3.1 判断(if表达式) 检测语句是否真,并执行之后的语句 if(A) B ; else C (“;”号能省略吗?...
    • 判断(if表达式)
    • 循环(while/do语句)
    • 枚举(for表达式)
    • 匹配(match表达式)
    • 异常处理(throw/try)
    • 输出(print/println)
    • 输入(readLine)

    3.1 判断(if表达式)

    • 检测语句是否为真,并执行之后的语句
      • if(A) B ; else C (“;”号能省略吗?)
      • A可以是任意返回布尔值的语句,或是布尔值的量,真则执行B,假则执行C;
      • 当B为空时,可写成 if(!A) C
        • def min(x:Int,y:Int)={
          • var a=x
          • if(x>y) a=y
          • return a
          • }
      • if表达式能用以赋值
        • def min(x:Int,y:Int)= if(x>y) y else x

    3.2 循环(while/do)

    • while语句包括状态判断与循环体,只要当前状态判断为真,就执行循环体一遍;然后进行下一次状态判断,判断为假时终止循环。
      • while(A) B
    • do语句与while相反,先执行循环体一遍,然后进行状态判断,状态判断为真,则继续执行循环体,否则终止循环。
      • do B while(A)

    3.3 枚举(for表达式)

    • For表达式能用任意条件进行各种形式枚举,而在枚举的过程中能实现绝大部分的循环功能且不必使用变量。

      • for(i <- e) E(i)
      • for表达式包括发生器(i <- e)同函数体E(i),
      • 发生器是遍历e中的元素,每一次枚举名为i的新的val就被初始化
      • 对于每一次枚举,函数体E(i)都会执行一次,而其中的参数i由枚举时进行赋值
      • e可以是各种集合,包括数组、列、表达式等,或是有上下界的数值范围:
      • 1 to 4 (1=<i<=4);1 until 4 (1=<i<=4-1)(不包含上界)
    • 在for语句中使用if语句进行过滤

      • for(i <- e) if(A) E(i)
    • for语句中能使用多个if语句进行过滤,if语句间不用“;”间隔

    • for语句实现嵌套枚举,只要多加入一个<-字句

    • 为了阅读和理解的方便,可以断行,或用花括号{}代替外层的()

    • for语句除了对枚举值进行操作并释放该值外,可以用以赋值,即把每一次枚举的值记录在集合中

    • for(i <- e) yield E(i)

      • 若E(i)由花括号括起,yield须在花括号外,即for(i <- e) yield {E(i)}

    3.4 匹配 (match表达式)

    • match表达式类似于其他语言的switch语句,提供多个备选项中进行选择
      • a match{
      • case e1 => E1
      • case e2 => E2
      • … …
      • }
    • 若a匹配𝑒1则执行𝐸1,若a匹配𝑒2则执行𝐸2,如此类推
    • a可以是数组、任意类型值等, 𝑒𝑛可以是对应的值、常量、变量、甚至是类型
    • match表达式能用以直接赋值,如
      • val sign = a match{case e1 => 123; case e2 =>“123”}
    • 匹配是从上而下的

    3.5 异常处理(throw/try)

    • Scala处理异常一般通过throw抛出一个异常并中止
    • 要么捕获并处理该异常,要么简单中止之
    • 异常抛出:throw new IllegalArgumentException
    • 异常捕获与处理:try{函数体} catch{case…;case…}
    • 异常捕获并中止:try{函数体} finally{A.close()}
    • try{函数体} catch{case…;case…} finally{A.close()}
    • throw、try-catch-finally表达式都能生成值,比如:
      • throw new IllegalArgumentException(“Error!”)
      • def f():Int=try{1} finally{2}

    3.6 输入输出

    • 输出通常使用print或println函数,后者在输出内容后追加一个换行符
    • println(A) A可以是值、表达式等,如:
      • println(“a”)
      • println(“a”+1)
    • 当A是表达式时,输出的是表达式的运行结果
    • 输入通常使用read函数,如readLine是从控制台读取一行输入,指定类型时为readT,T是所要指定的类型,如readInt等
      • val name = readLine(“Your name :\n”) \readLine带一个参数作为提示字符串
      • val age=readInt()

    3.7 其他语句

    • return 语句表示返回某个值,但是Scala事实上无须使用return语句
    • 对于函数来说,其默认返回值是最后出现的一个值,不用特别注明。
      • 如需要返回的值并非最后出现时,可在函数体后加上该值的标识符使之“出现”
    • 声明函数时使用return语句,必须声明返回值的类型,如def abd():T={return}
    • break/continue在C++中非常常见的控制结构语句,但在Scala中是不必要的,可以使用布尔值类型的量通过IF语句进行控制

    3.8 控制循环结构实战

    /**
     * 控制结构 
     */ 
    val a = 10 
    val b = 5 
    //if 
    if(a > 5 && b == 5) println("yes") 
    //if-else 
    if(a > 5 && b != 5){ 
        println("yes") 
    } else println("no") 
    //if-else if-else 
    if(a < 5){ 
        println("option1") 
    } else if(a > 5) { 
        println("option2") 
    } else println("option3") 
    
    /**
     * while循环 
     */ 
    var c = 4 
    while(c>0){ 
        println(c) 
        c-=1 //修改条件变量 
    }
    
                             
    /**
     * for循环 
     */ 
    for( i <- 1 to 3) print(i) 
    val lis1 = List(1,2,3,4) 
    for(i <- lis1) if(i%2==0) print(i) 
    for(i <- lis1 if i%2==0) print(i) 
    for(i <- lis1) print(i) lis1.foreach(print) //等价于上面 
    val news = for(i <- 1 to 4 if i!=3) yield ("res"+i)
    print(news) 
    
    //求最大公约数 
    var a1 = 12 
    var a2 = 24 
    while(a1 != 0){ 
        val tmp = a1 
        a1 = a2%a1 //修改条件变量 
        a2 = tmp 
    }
    

    大数据视频推荐:
    CSDN
    大数据语音推荐:
    企业级大数据技术应用
    大数据机器学习案例之推荐系统
    自然语言处理
    大数据基础
    人工智能:深度学习入门到精通

    展开全文
  • 零起点学通C++多媒体范例教学代码

    热门讨论 2010-11-30 09:35:13
    7.1 循环语句的前身——goto语句 7.2 慎用goto语句 7.3 while语句 7.3.1 带运算符的while语句 7.3.2 以字符条件的while语句 7.3.3 限定while循环的次数 7.3.4 continue语句 7.3.5 break语句 7.3.6 永不休止的while...
  • 7.1 循环语句的前身——goto语句 7.2 慎用goto语句 7.3 while语句 7.3.1 带运算符的while语句 7.3.2 以字符条件的while语句 7.3.3 限定while循环的次数 7.3.4 continue语句 7.3.5 break语句 7.3.6 永不...
  • 7.1 循环语句的前身——goto语句 73 7.2 慎用goto语句 74 7.3 while语句 74 7.3.1 带运算符的while语句 75 7.3.2 以字符条件的while语句 75 7.3.3 限定while循环的次数 76 7.3.4 continue语句 77 7.3.5 ...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    如果我将指针值设0,编译器可能会自动将它转换非零的指针内部表示。 5.20运行时的“nullpointerassignment”错误是什么意思?应该怎样捕捉它? 第6章 数组和指针 数组和指针的基本关系 6.1 我在一个...
  • Code Compl 代码大全

    2011-05-26 12:09:22
     什么时候使用while循环  什么时候用带退出的循环  何时使用for循环  何时使用foreach循环  16.2 循环控制  进入循环  处理好循环体  退出循环  检查端点  使用循环变量  循环应该有多长  16.3 轻松创建...
  • 如果我将指针值设0,编译器可能会自动将它转换非零的指针内部表示。 62  5.20 运行时的“null pointer assignment”错误是什么意思?应该怎样捕捉它? 62 第6章 数组和指针 63 数组和指针的基本关系 ...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    内容简介 《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个...5.18 运行时的整数值0转换指针以后一定是指针吗? 61 5.19...
  • 21天学通C++ (中文第五版)

    热门讨论 2010-06-23 16:57:03
    7.3 实现do_while循环 7.4 使用do_while 7.5 for循环 7.5.1 高级for循环 7.5.2 for循环 7.5.3 循环嵌套 7.5.4 for循环中声明的变量的作用域 7;6 循环小结 7.7 使用switch语句控制程序流程使用switch语句...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    10.在下面的程序段中,对x的赋值语句的频度__t(n)=O(n3)____(表示 n的函数) FOR i:=1 TO n DO FOR j:=1 TO i DO FOR k:=1 TO j DO x:=x+delta; 【北京工业大学 1999 一、6(2分)】 ...
  • Perl 实例精解(第三版).pdf

    热门讨论 2010-11-06 09:08:02
    6.3.1 while循环 6.3.2 until循环 6.3.3 for循环 4.5.2 values函数 4.5.3 each函数 4.5.4 delete函数 4.5.5 exists函数 4.6 关于散列的更多内容 4.6.1 从文件加载散列 4.6.2 特殊散列 ...
  • 5.3 WHILE循环 5.4 数值型的FOR循环 5.4.1 使用数值型FOR循环的规则 5.4.2 数值型FOR循环的例子 5.4.3 处理非平滑增长 5.5 游标FOR循环 5.5.1 游标型FOR循环的例子 5.6 循环的标签 5.7 CONTINUE语句 5.8 ...
  • o 7.4 那么什么作为函数形参的数组和指针申明可以互换呢 ? o 7.5 如果你不能给它赋值, 那么数组如何能成为左值呢 ? o 7.6 现实地讲, 数组和指针地区别是什么 ? o 7.7 有人跟我讲, 数组不过是常指针。 o ...
  • A) for 语句 B) while 语句 C) switch 语句 D) do__while 语句 23. 下列程序段执行后 b3 的结果是( )。 boolean b1=true, b2, b3; b3= b1 ? b1 : b2; A) 0 B) 1 C) true D) false 24. 下面数据结构中,属于非线性的...
  • 循环语句内外换一下 2.#define Max_CB 500 void LmiQueryCSmd(Struct MSgCB * pmsg) { unsigned char ucCmdNum; ...... for(ucCmdNum=0;ucCmdNum;ucCmdNum++) { ......; } 死循环 3.以下是求一个数的平方的程序,...
  • 可以用以下的语句一个数值赋值: $a = 1234; # 十进制数 $a = -123; # 负数 $a = 0123; # 八进制数 (等于十进制数的83) $a = 0x12; # 十六进制数(等于十进制数的18) $a = 1.234; # 浮点数"双精度数" $a = 1.2...
  • 4.3.2 使用do-while语句 79 4.4 使用for进行循环 80 4.4.1 自增和自减操作 80 4.4.2 for语句 82 4.4.3 for语句省略形式 84 4.5 语句中不能不说的事 84 4.5.1 小心复杂语句中创建的变量 85 4.5.2 别让循环次数...
  • 4.3.2 使用do-while语句 79 4.4 使用for进行循环 80 4.4.1 自增和自减操作 80 4.4.2 for语句 82 4.4.3 for语句省略形式 84 4.5 语句中不能不说的事 84 4.5.1 小心复杂语句中创建的变量 85 4.5.2 别让循环次数...
  • 4.3.2 使用do-while语句 79 4.4 使用for进行循环 80 4.4.1 自增和自减操作 80 4.4.2 for语句 82 4.4.3 for语句省略形式 84 4.5 语句中不能不说的事 84 4.5.1 小心复杂语句中创建的变量 85 4.5.2 别让循环次数...
  • '利用循环语句对标签控件数组中的每个标签控件进行检查,如果其落在某一符号要求的位置, '则变量winner的值加1,如果所有标签控件都落在符号要求的位置,则变量winner的值应8 For i = 0 To 7 If Label2(i)....
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    老资源。 目录 1 声明和初始化1 1.1 我如何决定使用那种整数类型? . . . .... ....5.11 什么有那么多关于指针的疑惑?什么这些问题如此经常地 出现? . . . . . . . . . . . . . . . . . . . ...
  • MFC的程序框架剖析

    2015-03-05 09:53:19
    此外,我们还会注意到在该函数体的前部分有一语句为“wndcls.lpfnWndProc = DefWindowProc;”因此所有窗口类的窗口过程函数都是DefWindowProc,这一点在后面的跟踪中可以看到,每次生成窗口之后都会调用几次...
  • java范例开发大全(pdf&源码)

    热门讨论 2013-07-04 13:04:40
    3.4 do…while语句 43 实例29 输出100之间的所有奇数 44 实例30 求最大的随机数 44 3.5 switch语句 45 实例31 判断字母分类 46 实例32 优良及差 47 实例33 打印任意一年日历 48 实例34 一年四季的划分 51 第2篇 Java...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

while循环语句可以为空吗