第3章 JSP语法基础--JAVA基础知识

3.5  JAVA控制语句

  Java程序通过控制语句来执行程序流,完成一定的任务。程序流是由若干个语句组成的,语句可以是单一的一条语句,如c=a+b,也可以是用大括号{}括起来的一个复合语句。Java中的控制语句有以下几类:
   ◇ 分支语句: if-else, switch
   ◇ 循环语句: while, do-while, for
   ◇ 与程序转移有关的跳转语句: break, continue, return
   ◇ 例外处理语句: try-catch-finally, throw
   ◇ 注释语句: //,/* */, /** */

3.5.1、分支语句
  分支语句提供了一种控制机制,使得程序的执行可以跳过某些语句不执行,而转去执行特定的语句。
  1.条件语句 if-else
if(boolean-expression)
  statement1;
[else statement2;]
  2.多分支语句 switch
switch (expression){
  case value1 : statement1;
break;
  case value2 : statement2;
break;
…………
  case valueN : statemendN;
break;
[default : defaultStatement; ]
}
  ◇ 表达式expression的返回值类型必须是这几种类型之一:int,byte,char,short。
  ◇ case子句中的值valueN必须是常量,而且所有case子句中的值应是不同的。
  ◇ default子句是可选的。
  ◇break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break)。

3.5.2、 循环语句
  循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止。
  1.while语句
  while (boolean){
    statements;
  }
  2.do-while语句
  do {
    statements;
  } while (boolean);
  3.for语句
  for (init expr1; test expr2; increment expr3){
    statements;
  }
  
  • for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。
  •   
  • 初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。
  •   
  • 在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。
  • 3.5.3、 跳转语句
      1.break语句
      ◇ 在switch语中,break语句用来终止switch语句的执行。使程序从switch语句后的第一个语句开始执行。
      ◇ 在Java中,可以为每个代码块加一个括号,一个代码块通常是用大括号{}括起来的一段代码。加标号的格式如下:
        BlockLabel: { codeBlock }
      break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。例如:
        break BlockLabel;
      2.continue语句
      continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:
       continue;
      也可以用continue跳转到括号指明的外层循环中,这时的格式为
       continue outerLable;
        3.返回语句return
          return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:
        return expression ;
        return;
      return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中 
     
    例子:
    public class A {
      public static void main(String[] args){
       outer_loop:
        for(int i=0; i<3; i++)
         for(int j=0; j<3; j++)
          try{
           System.out.println("try before if : i="+i+", j="+j);
           if((i==0)&&(j==1))
            continue;
           else if ((i==0)&&(j==2))
            continue outer_loop;
           else if((i==1)&&(j==0))
            break;
           else if((i==2)&&(j==1))
            break outer_loop;
           System.out.println("try after if : i="+i+", j="+j);
         }finally{
          System.out.print("finally: i="+i+",j="+j+"/n");
         }
      }
    }
    输出结果:
    try before if : i=0, j=0
    try after if : i=0, j=0
    finally: i=0,j=0
    try before if : i=0, j=1
    finally: i=0,j=1
    try before if : i=0, j=2
    finally: i=0,j=2
    try before if : i=1, j=0
    finally: i=1,j=0
    try before if : i=2, j=0
    try after if : i=2, j=0
    finally: i=2,j=0
    try before if : i=2, j=1
    finally: i=2,j=1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值