Java流程控制

1、用户交互Scanner

  • 通过Scanner类来获取用户的输入
1
2
import java.util.Scanner;  //导入类
Scanner s = new Scanner(System.in); //基本语法
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
  • scanner.next() 与 scanner.nextLine() 的区别

Difference of Scanner

2、顺序结构

  • Java的基本结构就是顺序结构。

3、选择结构

if 选择结构

  • if 单选择结构
1
2
3
if(布尔表达式){
//boolean = true 则执行括号中代码
}
  • if 双选择结构
1
2
3
4
5
if(布尔表达式){
//boolean = true 则执行此处代码
}else{
//boolean = false 则执行此处代码
}
  • if 多选择结构
1
2
3
4
5
6
7
8
9
if(布尔表达式1){
// 代码1
}else if(布尔表达式2){
// 代码2
}else if(布尔表达式3){
// 代码3
}else{
// 代码4
}
  • 嵌套的 if 结构
1
2
3
4
5
6
if(布尔表达式1){
//代码1
if(布尔表达式2){
//代码2
}
}

switch 选择结构

  • switch case 语句判断一个变量与一系列值中某个值是否相等, 每个值称为一个分支。

  • 多选择结构 switch case 语句

1
2
3
4
5
6
7
8
9
10
switch(expression变量){
case value1:
//代码1
break;//可选
case value2:
//代码2
break;//可选
default://可选
//代码3
}
  • switch 语句中的变量类型可为:

    • byte、short、int、char

    • 从 Java7 开始支持字符串 String 类型 (实际比较的是字符串的Hashcode)

    • case 标签必须为 字符串量 或 字面量

    • case 穿透 若case执行后没有遇到break 则会按顺序执行下边所有case 或 直到遇到下一个break

4、循环结构

while 循环

  • 通常情况
1
2
3
4
while(布尔表达式){
//循环内容
//终止条件
}
  • 少部分情况需要一直执行,如服务器请求监听
1
2
3
4
5
while(true){
//等待客户端连接
//定时检查
//……
}

do … while 循环

  • 比起 while 循环, do while 循环至少都会执行一次
1
2
3
do{
//代码语句
}while(布尔表达式)

for 循环

1
2
3
for(初始化;布尔表达式;更新){
//代码语句
}

增强 for 循环

1
2
3
for(声明语句:表达式){  //for(int n:arrayName)
//代码语句
}//主要用于遍历数组、集和对象等

5、break & continue

  • break 在任何循环语句主体部分均可使用 用于强行退出并结束循环
  • continue 用在循环语句中 用于终止某次循环过程 即跳过当前循环中未执行的语句 进入下一轮循环判断

6、练习

  • 打印三角形
1
2
3
  *
***
*****