Java之路(三) 控制执行流程

  Java的控制语句设计的关键字有if-else while do-while for return break和switch。

  Java虽然保留goto关键字,但不支持goto语句。

1.true和false

  所有条件语句都利用条件表达式的真或假来决定执行路径。

  Java不允许使用数字作为布尔值使用。

  如果想在布尔测试中使用一个非布尔值,如if(a),那么首先必须使用一个条件表达式将其转换成布尔值,如if(a!=0)。

2.if-else语句

  else是可选的。

  格式:

if(Boolean-expression)
    statement
或
if(Boolean-expression) //Boolean-expression为真,执行statement1,否则执行statement2
    statement1
else
    statement2

//当然也可以嵌套
if(Boolean-expression1)
  statement1
else if(Boolean-expression2)
  statement2
else
  statement3

  注意,上面的Boolean-expression必须产生一个布尔结果。

3.迭代

1)while

while(Boolean-expression) //Boolean-expression为真,执行statement
    statement

2)do-while

do
    statement
while(Boolean-expression) //Boolean-expression为真,执行statement

  与while唯一区别在于do-while中的语句至少会执行一次。

3)for

for(initialization; Boolean-expression; step)
    statement

  for语句中,先执行initialization语句,然后判断Boolean-expression结果是否为true,为真则执行statement,接下来会执行step,再次对Boolean-expression结果进行判断,如此循环,直到Boolean-expression结果为false。

  for中的initialization和step可以是逗号表达式,这也是Java唯一用到逗号操作符的地方。此外,在initialization部分可以对多个同类型的变量进行定义。

4.foreach语法

  foreach可以让我们在不必创建int变量来对访问项构成的序列进行计数,它可以自动产生这一项。如下例:

import java.util.*

public class ForEachFloat{
  public static void main(String[] args){
        Random rand = new Random(47);
        float f[] = new float[10];
        for(int i = 0; i < 10; i++)
           f[i] = rand.nextFloat();
        for(float x:f)
           System.out.println(x);
    }
}

  结果如下,for(float x:f)定义了一个float类型的变量x,并将数组f的每个元素一次赋给x。

  任何返回一个数组的方法都可以使用foreach。

5.return

return关键词有两个作用:

  a.指定一个方法返回什么值;

  b.导致当前方法退出,并返回那个值。

6.break和continue

  break:强制退出循环,不执行循环中剩余的语句。

  continue:停止执行当前的迭代,然后退回循环其实处,开始下一次循环。

7.类似goto

  Java没有goto,但具有类似goto的功能,因为都使用“标签”机制。

  标签格式为 label:

  Java中,标签起作用的唯一地方刚好是迭代语句之前。而在迭代之前设置标签的唯一理由是我们希望在其中嵌套另一个迭代或一个开关。

  break和continue关键词通常只中断当前循环,但和标签一起使用,会中断循环,跳转到标签所在位置。

我们举例说明break-label和continue-label的区别,为了说明问题,我故意写了一个死循环。如下:

  上图程序的输出说明带标签的continue会跳转到标签的位置,并重新进入紧接着标签后的循环。

  从输出的i值也可以看出,i会再次从0开始,说明重新进入了for循环。

下图是break-label的表现:

  程序的输出说明带标签的break会中断并跳出标签所指的循环。

8.switch

  根据整数表达式的值,switch语句可以从一系列代码中选出一段去执行,属于多路选择。

格式:

switch(integral-selector){
    case integral-vallue1: statement; break;
    case integral-vallue2: statement; break;
    case integral-vallue3: statement; break;
    //...
    default:statement;
}

  switch会执行case后的integral-value与integral-selector相等的statement。

  default在所有integral-value与integral-selector都不等的情况下执行。

  integral-selector必须为int或char类型类似的整数值,如果为字符串或者浮点数则switch不工作。

时间: 2024-12-29 12:14:10

Java之路(三) 控制执行流程的相关文章

[Thinking in Java]第4章-控制执行流程

4.1 if-else 4.2 迭代 4.3 Foreach语法 4.4 return 4.5 break和continue 4.6 switch 目录 4.1 if-else if-else中的else是可选的,有两种形式使用if: if (Boolean-expression) statement 或 if (Boolean-expression) statement1 else statement2 需要注意的是,Boolean-expression不能是数字,其实后面的while,for

java控制执行流程--thinking in java学习

常用的控制执行流程有if-else:迭代while,do-while,for,foreach:return;break,continue;和break,continue配合使用的标签:switch:在过thinking in java这章的过程中,有两个地方又重新认识了一下,来和大家分享.1.return 有两个作用,1.设定一个方法的返回值:2.退出当前方法.因此任何方法都可以使用return语句,在void方法中使用return便是使用return的退出当前方法的作用.而且在返回void的方

Thinking In Java笔记(第四章 控制执行流程)

第四章 控制执行流程 Java中使用了C的所有流程控制语句.在Java中涉及的关键字包括if-else,while,do-while,for,return,break,continue以及选择语句switch.然而Java不支持goto语句(该语句引起了许多的反对意见),但是Java仍然可以类似goto那样跳转. 4.1 True和False 所有的条件语句都利用条件表达式的真假来决定执行的路径.Java中不允许我们将一个数字作为boolean值使用,虽然C和C++中是允许的("非零"

Java编程思想---第四章 控制执行流程

第四章  控制执行流程 就像有知觉的生物一样,城西必须在执行过程中控制它的世界并作出选择,在Java中,你要使用执行控制语句来作出选择. 4.1 true和false 所有的条件语句都利用条件表达式的真假来决定执行路径.如a==b,它用操作符==来判断a的值是否等于b的值,返回一个true或false. 4.2 if-else if-else语句是控制程序流程的最基本形式,其中else是可选的,所以可以按下面的两种形式来使用: if(Boolean-expression) statement 或

《汇编语言》-- 控制执行流程

参考文献: <汇编语言程序设计> ............................................................................................................................................................................................... 控制执行流程学习,程序中遇到无条件分支时,指令指针自动跳转到另一个位置,可以使用

控制执行流程——(Java学习笔记三)

if-else 控制程序流程最基本的形式 格式: if(boolean - expresion){ statement } 或 if(boolean - expresion){ statement }else{ statement} 例: public static int testIf(int testVal,int target){ int result = 0; if(testVal > target){ result+=1; }else if(testVal<target){ resu

[Java编程思想-学习笔记]第4章 控制执行流程

4.1  return 关键字return有两方面的用途:一方面指定一个方法结束时返回一个值:一方面强行在return位置结束整个方法,如下所示: 1 char test(int score) { 2 if (score >= 90) 3 return 'A'; 4 if (score >= 80) 5 return 'B'; 6 if (score >= 70) 7 return 'C'; 8 if (score >= 60) 9 return 'D'; 10 else //if

Java编程思想:第4章 控制执行流程

4.1 true和false 所有条件语句都用真和假来判断. 4.2 if-else if(bool-exp) statement;  or  if(bool-exp) statement; else statement; 4.3 迭代 while(b){} do{}while(b) for(init;b;step){}init里可以用逗号定义多个初始变量 4.4 Foreach语法 增强for循环  for(T t : 集合/数组){} 4.5 Return 4.6 Break和Continu

Java编程思想(四、控制执行流程)

Java使用了C的所有流程控制语句.涉及的关键字包括if-else.while.do-while.for.return.break以及选择语句switch.然而,在java中,并不支持goto语句.但仍然可以进行类型goto那样的跳转,但比起典型的goto,有了很多限制. 1.true和false.所有的条件语句都利用条件表达式的真假来决定执行路径.java中的所有关系操作符,都可以用来构造条件语句.但不能将一个数字作为布尔值使用,(在C.C++中,"真"是非零,"假&quo

Java中异常发生时代码执行流程

异常与错误: 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception. 错误: 它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务).