Java流程控制

内容概要:

1. 用户交互Scanner

2. 顺序结构

3. 选择结构

4. 循环结构

用户交互Scanner

可以通过Scanner类来获取用户的输入。

基本语法:

Scanner s =  new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

  • next():以空格或回车为结束符。
  • nextLine():以回车为结束符。

顺序结构

Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

顺序结构是最简单的算法结构。

java 结束forech java 结束结果在哪_while循环

语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构

选择结构

  • if单选择结构
1  // 语法
2  if (flag) {
3      // flag为true
4  }

java 结束forech java 结束结果在哪_System_02

  • if双选择结构
1  // 语法
2  if (flag) {
3      // flag为true
4  } else {
5      // flag为false
6  }

java 结束forech java 结束结果在哪_java 结束forech_03

 

 

  • if多选择结构
1  // 语法
 2  if (flag1) {
 3      // flag1为true
 4  } else if(flag2) {
 5      // flag2为true
 6  } else if(flag3) {
 7      // flag3为true
 8  } else {
 9      // 以上都不为true
10  }

java 结束forech java 结束结果在哪_while循环_04

  • 嵌套的if结构
1  // 语法
2  if (flag) {
3      // flag为true
4      if(flag2) {
5          // flag2为true
6      }
7  }
  • switch多选择结构
1  // 语法
 2  switch (expression) {
 3      case value :   // 语句   
 4                     break;//可选
 5      case value :   // 语句   
 6                     break;//可选
 7      // 可以有任意数量的case语句
 8      default : //可选
 9                // 语句 
10  }

switch语句中的变量类型可以是:

  • byte,short,int,char
  • 从Java SE 7开始,switch支持字符串String类型了,同时case标签必须为字符串常量或字面量。

注意:default语句最好放到最后,如果放在前面则需要加上break,不然会继续往下执行。

1  // 在该情况下,如果写break则正常输出-1,
 2  // 如果不写break则输出-1和1,输出错误。
 3  int a= 11;
 4  switch (a) {
 5      default:
 6          System.out.println(-1);
 7          //break;
 8      case 1:
 9          System.out.println(1);
10          break;
11      case 5:
12          System.out.println(5);
13          break;
14      case 10:
15          System.out.println(10);
16          break;
17  }

循环结构

  • while循环
1 // 语法
2  while (布尔表达式) {
3      // 循环内容
4  }
  • do...while循环
1  // 语法
2  do {
3   // 代码语句
4  } while(布尔表达式);

do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。

do...while循环和while循环区别:

1. while先判断后执行,do...while先执行后判断。

2. do...while循环保证循环体至少会执行一次,这是他们的主要差别。

  • for循环
1  // 语法
2  for (初始化;布尔表达式;更新) {
3      // 代码语句
4  }
5  
6  // 死循环
7  for(;;){
8      // 代码语句
9  }

for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构

for循环执行的次数是在执行前就确定的。

  • java5引入一种主要用于数组的增强for循环
1  // 语法
 2  for (声明语句:表达式) {
 3      // 代码语句
 4  }
 5  
 6  // 例子
 7  int[] numbers = {10,20,30,40,50}; // 定义一个数组
 8  for (int x : numbers) {
 9      System.out.println(x);
10  }
  • break、continue

break用于强行退出整个循环,不执行循环中剩余的语句。用于循环语句和switch语句中。

continue用于终止某次循环过程,继续执行下一次循环判定。只用在循环语句中。