java 控制语句 java语言基础(四)

语句及程序结构

语句是用来向计算机系统发出操作指令的,程序由一系列语句组成。

Java语言中语句分为5类:

1.表达式语句,格式为“表达式:”。如:

total=math+phys+chem;

2.空语句。

3.复合语句,用“{}”将多条语句括起来,在语法上作为1条语句使用。如:

{z=x+y;

t=z/10;}

4.语法调用语句,格式为“方法名(参数);”。如:

System.out.println(" Java language");

5.控制语句,完成一定的控制语句功能,包括选择语句,循环语句和转移语句。

Java流程控制语句的分类:

  1. 循序结构
  2. 选择结构
  3. 循环结构

与Java流程的基本控制结构相关的Java语句:分支语句(if-else,swith);循环语句(while,do-while,for);与程序转移有关的其他语句(break,continue,return)。

1.循序结构

循序结构是最简单的一种程序结构,程序按照语句的书写顺序自上而下地执行,直到程序结束,中间没有任何判断和跳转。

2.选择结构语句

又称分支结构对条件表达式进行判断,针对不同的结果,结果转向要执行的Java语句。

一般if语句应用在“二选一”的条件下,switch语句应用在 “多选一”的条件下。

(1)if语句

if语句是通过判断给定表达式的值来决定程序流程的。if语句有多种形式,最常见的有如下三种:

第一种形式:

if(比较表达式或boolean类型的值){
    语句体;
}

执行流程:先计算if后括号内的值,如果为true,则执行语句体,如果为false,则不执行语句体。 

 第二种形式:

if(比较表达式或boolean类型的值){
     语句体1;
 }else{
     语句体2;
 }

执行流程:先计算if后表达式的值,如果为true,就执行语句体1,如果为false,就执行语句体2。

第三种形式:

if(比较表达式或boolean类型的值1){
       语句体1;
  }else if(比较表达式或boolean类型的值2){
        语句体2;
  }else if(比较表达式或boolean类型的值3){
     语句体3;
  }
  ……
  else {
      语句体n+1;
  }
 

执行流程:先计算表达式1的值,如果是true就执行语句体1,if语句结束;如果是false就接着计算表达式2 ,如果是true,就执行语句体2,if语句结束,如果还是false,接着执行表达式3,如果是true,就执行语句体3,if语句结束,如果……,如果都是false,就执行语句体n+1。
只要有一个条件满足,if语句就执行该条件下的语句体,if语句结束,如果都不满足,就执行else下的语句体。

注:else语句必须和if或else if 配对使用,else总是与离它最近的if或else if 或 if 配对,可以通过大括号来改变配对关系。

例如,//    键盘输入一个x,求y的值
          //     x >= 3         y = 2 x + 1;
         //     -1<= x < 3    y = 2 x;
        //       x< -1           y = 2 x –1;

 public static void main(String[] args) {
      Scanner in = new Scanner(System.in);
        System.out.println("请输入x:");
        double x = in.nextDouble();
        if (x >= 3) {
            System.out.println("y的值是:" + (2 * x + 1));
        } else if (x >= 1 && x < 3) {
            System.out.println("y的值是:" + (2 * x));
        } else {
            System.out.println("y的值是:" + (2 * x - 1));
        }
    }

 (2)switch语句

switch语句(多分支语句)是通过数据匹配的方式实现程序的多分支控制。格式如下:

switch(表达式){
    case值1: 语句块1;
        break;
    case值2: 语句块2;
          break;
    case值3: 语句块3;
          break;
          ……
          default:
              语句块n+1;
              break;
      }
 

 执行流程:先计算表达式的值,然后逐次和case后的值进行比较,如果相等,就执行该case内的语句,遇到break结束;如果都匹配不到,就执行default后的语句。

使用switch语句的注意事项:

       1.switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch支持字符串类型了(c/c++是不支持的),同时 case 标签必须为字符串常量或字面量。

       2.switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

       3.case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

       4.当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

       5.当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

       6.switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。default 在没有 case 语句的值和变量值相等的时候执行。default分支不需要 break 语句。

public class Test {
     public static void main(String args[]){
       //char grade = args[0].charAt(0);
         char grade = 'C'; 
         switch(grade){
             case 'A':System.out.println("优秀"); break;
             case 'B':
             case 'C':System.out.println("良好");break;
             case 'D':System.out.println("及格");
             case 'F':System.out.println("你需要再努力努力");break;
             default :System.out.println("未知等级");
         }
              System.out.println("你的等级是 " + grade);
     }
 }

3.循环结构

利用循环结构可以重复执行某一段代码,直到不满足循环条件为止。

循环结构主要有for,while和do-while三种循环语句。

(1)for语句

for循环语句是Java程序设计中最有用的循环语句之一。一个for循环可以用来重复执行某条语句,知道某个条件得到满足。for语句通常用于明确知道循环次数的情况,其语法格式如下: 

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

执行流程:

其中,表达式1为初始化表达式,负责完成变量的初始化;表达式2为循环条件表达式,指定循环条件;表达式3为循环后操作表达式,负责修整变量,改变循环条件。三个表达式间用分号隔开。

 (2)while语句

while语句通常用于重复执行次数不确定的循环,其语法格式如下: 

while( 布尔表达式 )  //不能用“1”代替“true” 
{
  //循环内容
}

 while语句首先取得布尔值表达式的返回值,当返回值为true时,执行循环体中的语句;否则,循环结束。

例如,求和:求1-100之间的和

public static void main(String[] args) {
    int sum = 0;
    int i = 1;
    while (i <= 100) {
        sum += i;
        i++;
    }
    System.out.println(sum);
}

(3)d0-while语句 

 do···while循环语句与while循环语句的区别是,while循环语句先判断条件是否成立再执行循环体,而do···while循环语句则先执行一次循环后,再判断条件是否成立。也即do···while至少执行一次。语法格式如下:

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

 for、while、do while 三种循环的区别

  • do while 循环至少执行一次,而 for 和 while 可以一次也不执行。
  • 如果已知循环次数,用for循环方便;如果只知道循环结束条件,用while循环。
  • for和while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
  • 如果想在循环过后继续使用控制条件变量,用while循环,否则用for循环。
  • 建议优先使用for循环,再是while循环,最后是do while循环。
  • 注意:一定要注意控制循环的变量,不然容易造成死循环。

三种循环使用: 

  • 在不确定循环次数时,最好用while。
  • 在明确循环次数时最好用for循环。
  • 当有些业务有要求不论是否满足条件都要执行一次,do-while就比较适合。

4.break,continue和return语句 

通过跳转语句可以实现程序流程的跳转。Java中的跳转语句包括break语句,Continue语句和return语句。

(1)break语句

在任何循环语句的主体部分,均可用break 控制循环的流程。 break 用于强行退出循环, 不执

行循环中剩余的语句。(break语句还可用于多支语句 switch 中 )

break语句可以用在循环语句的内部,用来结束循环。

break主要用在循环语句或者switch语句中,用于跳出整个语句块,示例:

public class Test {
     public static void main(String args[]) {
         int [] numbers = {10, 20, 30, 40, 50}; 
         for(int x : numbers ){
          // x 等于 30 时跳出循环
             if( x == 30 )
                break;         
             System.out.print(x);
             System.out.print("\n");      
         }
     }
 }

 (2)Continue语句

Continue语句只能用在循环语句内部,用来跳过本次循环,继续执行下一次循环。

continue语句只能用于for、while、do···while循环语句中,用于让程序直接跳过其后面的语句,进行下一次循环。

continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的 语句接着进行下一次是否执行循环的判定。

(3)return语句 

return语句用在方法中,作用是终止当前方法的执行,返回到调用该方法的语句处,并继续执行程序。

return语句的语法格式如下:

     return [expression] ;

使用return语句的注意事项:

  • return语句后面可以带返回值,也可以不带。
  • 表达式expression可以是常量,变量,对象等。return语句后面表达式的数据类型必须与方法声明的数据类型一致。
  • 当程序执行return语句时,先计算表达式的值,然后将表达式的值返回到调用该方法的语句处。
  • 位于return语句后面的代码不会被执行,所以return语句通常位于代码块的最后。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值