控制流程语句

控制流程语句包含以下几种:

  1、if - else 语句

  2、switch 语句

  2、循环语句: while和for

  3、break和continue语句

if - else 语句:(判断语句)

格式一: 只适用于一种情况下去使用。

   if(判断条件){
      符合条件执行的代码;
   }

格式二:适用于两种情况下去使用
   if(判断条件){
      符合条件执行的代码
   }else{
      不符合条件执行 的 代码
   }

格式三: 适用于多种情况使用的

   if(判断条件1){
      符合条件1执行的 语句;
   }else if(判断条件2){
      符合条件2执行 的语句;
   }else if(判断条件3){
      符合条件3执行 的语句;
   }else if(判断条件4){
      符合条件4执行 的语句;
   }......else{
      都不符合上述 条件执行的代码...
   }

switch 语句

当需要判断多种情况的时候,用if - else 语句比较繁琐。此时适合用switch语句。

1、格式:

  switch(你的选择){
      case 值1:
         符合值1执行的代码
         break;
      case 值2:
         符合值 2执行的代码
         break;
      case 值3:
         符合值 3执行的代码
         break;
      case 值4:
         符合值 4执行的代码
         break;
      ......

     default: 
         你的选择都符合上述的选项时执行的代码;
         break;
   }

2、注意事项

(1) switch语句使用的变量只能是byte、 char、 short、int、 String数据类型,String数据类型是从jdk7.0的时候开始支持的。
 (2) case后面跟的数据必须是一个常量。 
 (3) switch的停止条件:
      switch语句一旦匹配上了其中的一个case语句,那么就会执行对应的case中的语句代码,执行完毕之后如果没有
     遇到break关键字或者是结束switch语句的大括号,那么switch语句不会再判断,按照代码的顺序从上往下执行
     所有的代码。直到遇到break或者是结束siwitch语句的大括号为止。(贯穿效果)

(4) 在switch语句中不管代码的顺序如何,永远都是会先判断case语句,然后没有符合的情况下才会执行default语句。

3、优缺点:

  switch语句的优点:switch语句的结构清晰。

  switch缺点:如果 判断的条件是一个区间范围的,使用switch操作就非常的麻烦了。

4、代码示例:

需求: 接受键盘录入一个月份, 根据对应的月份输出对应的季节。
 345  春天
 678 夏天
 9 10 11 秋天
 1 2 12 冬天

要求使用switch语句实现。

import java.util.*;
class Demo4
{
   public static void main(String[] args) 
   {
      System.out.println("请输入一个月份:");
      //创建一个扫描器
      Scanner scanner = new Scanner(System.in);
      //调用扫描器的nextInt方法
      int month = scanner.nextInt();
      switch(month){
         case 3:
         case 4:
         case 5:
            System.out.println("春天");
            break;
         case 6:
         case 7:
         case 8:
            System.out.println("夏天");
            break;
         case 9:
         case 10:
         case 11:
            System.out.println("秋天");
            break;
         case 12:
         case 1:
         case 2:
            System.out.println("冬天");
            break;
         default:
            System.out.println("没有对应的季节");
            break;
      }
   }
}

循环语句

一、while循环

1、格式:

  while(循环的条件){
      循环语句;
   }

2、while循环语句要注意的事项:
  (1) while循环语句一般是通过一个变量控制其循环的次数。
  (2) while循环语句的循环体代码如果只有一个语句的时候,那么可以省略大括号。但是也是不建议大家省略。
  (3) while循环语句的判断条件后面不能跟有分号,否则会影响到执行的效果。

二、do - while循环

格式:
   do{
      循环语句;
   }while(判断条件);

while循环语句与do-while循环语句的区别:
   while循环语句是先判断后执行循环语句的;

  do-while循环语句是先执行,后判断。不管条件是否满足至少会执行一次;

三、for循环

格式:

for(初始化语句;判断语句;循环后的语句){
    循环语句;
 }

for循环语句 要注意的事项:
 1. for(;;)这种写法 是一个死循环语句,相当于while(true);
 2. for循环语句的初始化语句只会执行一次,只是在第一次循环的时候执行而已。
 3. for循环语句的循环体语句只有一句的时候,可以省略大括号不写。但是不建议省略。

break和continue语句

break:

适用范围:

  只能用于switch或者是循环语句中。

作用:
   1. break用于switch语句的作用是结束一个switch语句。
   2. break用于循环语句中的作用是结束当前所在的循环语句。

continue:

适用范围:

   continue只能用于循环语句。

作用:

  continue的作用是跳过本次的循环体内容。继续下一次。

注意的事项:
   1. 在一种情况下,continue后面不能跟有其他语句,因为是永远都无法执行到。
   2. continue 也可以配合标记使用的。

标记用法:

标记的格式:

  标记名字: 语句

break 和 continue 都可以结合标记使用。示例如下:

class BreakDemo
{
   public static void main(String[] args)
   {
      aaa:for(int j = 0 ; j<3 ; j++){ // j=0 外层for循环
         bbb:for(int i = 0 ; i< 2 ; i++){  // i=0 内层for循环
            System.out.println("hello world"); // 1 
            break aaa;
         }
      }
   }
}

class ContinueDemo
{
   public static void main(String[] args)
   {
      aaa:for(int j = 0 ; j<3 ; j++){ // j=0 外层for循环
         bbb:for(int i = 0 ; i< 2 ; i++){  // i=0 内层for循环
            System.out.println("hello world"); // 1 
            continue aaa;
         }
      }
   }
}

时间: 2024-10-26 23:50:04

控制流程语句的相关文章

04 Java基础 -控制流程语句

/* 控制流程语句: 语句: 使用分号分隔的代码就是一个语句. 顺序语句: 按照代码顺序从上往下执行所有的代码就是顺序语句 ; 也是一个语句 */ class Demo1 {     public static void main(String[] args){     /*     int i = 10;  //声明变量的语句         ;//空语句         System.out.println("Hello World!"); //输出语句             *

java(运算符,控制流程语句,函数 )

运算符 数据类型转换: 小数据类型-------->大数据类型(自动类型转换) 大数据类型--------->小数据类型(强制类型转换) 强制类型转换的格式: 小数据类型  变量名 = (小数据类型)大数据类型 注意的细节: 1.凡是byte.short.char数据类型数据在运算的时候都会自动转换成int类型的数据再运算. 2.两个不同数据类型的数据在运算的时候,结果取决于大的数据类型. class Demo2 { public static void main(String[] args)

“全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十二章:控制流程语句中的决策语句if-else 下一章 "全栈2019"Java第二十三章:流程控制语句中决策语句switch上篇 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf

java基础-控制流程语句

一 前言 周末睡觉好舒服,都不想动了,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了.基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者理解并且知识体系齐全觉得文章不错的可以关注一下作者.控制流程语句的概念其实作者感觉是从工程流程图里面转换过来的,比如是非选择啊,循环执行啊之类都可以用流程图来讲述咯!!!!!! 二 if - else 语句 2.1 if -else if (如果)- else(否则) 在之前的基础系列三元运算符中有

《Java开发手册》学习进程之第4章控制流程语句

在多重选择:switch语句中,switch(a)中的a可以为基本类型表达式,也可以为枚举类型表达式.而case后面所跟的表达式也是要满足以下条件的: 与a的表达式相兼容 自身应为不能有变量(即只能有字面值或者final的变量) 不能有两个相同的case 另外,要注意switch语句的根本执行流程:switch将判断表达式的值与case后面的表达式的值进行匹配,若找到匹配的case,则从此case开始执行,若没有匹配到相应的case,而遇到了default,则从default开始执行,直到遇到b

3.8.6 中断控制流程语句

不带标签的break,就是正常理解的用于退出循环语句的. Java还提供了一种带标签的break语句,用于跳出多重嵌套的循环语句.break跳转到带标签的语句末尾.对于任何使用break语句的代码都需要检测循环是正常结束,还是由break跳出.事实上可以将标签应用到任何语句中,甚至可以应用到if 语句或者块语句中. Scanner in = new Scanner(System.in); int n = 5; read_data: while( n > 1){ n --; for (int y

scala控制流程语句

直接上代码了哈. package com.test.scala.test object Kongzi { def main(args: Array[String]): Unit = { //if 语句,注意scala 没有switch case 语句 var x=1; val s=if(x>0) "hello" else 4; println(s); val m=if(x<0) 'c' else if(x==1) 1 else "i don't know!&quo

Java基础语法&lt;四&gt; 控制流程

if while do while for switch case case标签可以是: 类型为char.byte.short或int ( 或其包装器类Character.Byte.Short和Integer).的常量表达式 枚举常量 从JavaSE7开始,case标签还可以是字符串字面量 中断控制流程语句 break 不带标签的break语句.可以用于退出循环语句 带标签的break语句,用于跳出多重嵌套的循环语句.(标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号) 可将标签应用到

Python脚本之流程控制if语句

#!/usr/bin/env python # FileName: if.py number = 23 guess = int(raw_input('Enter an integer :')) if guess == number: print 'Congratulations ,you guessed it.' print 'But you do not win any prizes!' elif guess > number: print 'No, it is a little higher