# 流程控制
* 顺序结构
* 判断(分支选择)结构
* 循环结构
## 顺序结构
程序是一个自上而下运行的过程。
## 分支选择结构
Java 中的分支选择结构有 if 结构、switch 结构
### if 结构
具备三种类型的结构表现形式
* **形式一:**
```java
if (logic expression) {
statement;
}
```
```java
int age = 20;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");
}
```
* **形式二:**
```java
if (logic expression) {
statement;
} else {
statement;
}
```
```java
int age = 16;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");
} else {
System.out.println("我还未成年!");
}
```
* **形式三:**
```java
if (logic expression) {
statement;
} else if (logic expression) {
statement;
} else {
statement;
}
```
```java
if (age >= 0 && age <= 10) {
System.out.println("少年");
} else if (age <= 18) {
System.out.println("青少年");
} else if (age <= 30) {
System.out.println("青年");
} else if (age <= 50) {
System.out.println("中年");
} else {
System.out.println("老年");
}
```
### switch 结构
swtich 语句是有控制表达式和多个 case 标签块组成。在控制表达式中,只允许出现 byte、short、int、char四种基础数据类型,在JDK1.7以后,支持 String 类型的控制表达式。
```java
switch (expression) {
case condition1 : {
statement;
break;
}
case condition2 : {
statement;
break;
}
default : {
statement;
break;
}
}
```
```java
String color = "red";
switch (color) {
case "red": {
System.out.println("红色");
break;
}
case "blue": {
System.out.println("蓝色");
break;
}
case "green": {
System.out.println("绿色");
break;
}
default: {
System.out.println("没有找到");
break;
}
}
```
> 在 case 中要加入 break 关键字跳出;
>
> 在实际的开发中,我们一般使用 if - else 结构替代 switch。swtich 结构应用的较少。
## 循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码。
被重复执行的代码叫做循环体。
循环语句可能包含的部分有:
* 初始化语句(init\_statement):一条或多条语句,这些语句用于完成一些初始化的工作。
* 循环条件(test\_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。
* 循环体(body\_statement):如果条件允许,循环体会被反复执行。
* 迭代语句(iteration\_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。
### while 结构
```java
(init_statement);
while (test_expression) {
body_statement;
[iteration_statement];
}
```
```java
int sum = 0;
int i = 1;
while (i <= 10) {
sum = sum + i;
i++;
}
System.out.println(sum); // 55
```
### do-while 结构
```java
(init_statement);
do {
body_statement;
[iteration_statement];
} while (test_expression)
```
> 无论如何都会执行一次循环体内容
```java
int i = 1;
int sum = 0;
do {
sum += i++;
// sum = sum + i;
// i = i + 1;
} while (i <= 10);
System.out.println(sum); // 11
```
### for 循环
语法:
```java
for ([init_statement]; test_expression; [iteration_statement]) {
body_statement;
}
```
实例
```java
int sum = 0;
for (int i = 1; i <= 28; i++) {
sum = sum + i;
}
System.out.println(sum);
```
> 在实际的开发中,对于已知循环次数的遍历,一般使用 for 循环。而且 for 循环的应用场景要比 while 循环多。
### 控制循环结构
**break**:在循环体中,使用 break 关键字跳出**整个循环**。
```java
int flag = 6;
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
if (i == flag) {
break;
}
}
System.out.println(sum); // 21
```
**continue**:在循环体中,使用 continue 跳出**本次循环**,循环还会继续执行。
```java
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
sum = sum + i;
}
System.out.println(sum); // 25
```
**练习-闰年**
判断某一年是否为闰年
通过Scanner 输入一个年份,然后判断概念是否是闰年
闰年判断标准(满足任何一个)
1. 如果能够被4整除,但是不能被100整除
2. 能够被400整除
**作业**
1. 计算100之内,所有奇数之和,所有偶数之和
2. 寻找所有的水仙花数
水仙花数定义:
a、一定是三位数
b、每一位的立方,加起来正好是这个数的本身,比如153=1*1*1 + 5*5*5 + 3*3*3;
- 数据库
- 数据库介绍
- MySQL的安装
- SQL
- 表基本操作
- 修改数据语句
- 数据检索操作
- 多表数据操作
- 练习题
- JAVA
- JAVA 介绍
- JAVA 运行原理
- JDK 配置
- 类和对象
- 数据类型
- 变量
- 直接量
- 运算符
- 流程控制
- 数组结构
- 面向对象
- 隐藏和封装
- 深入构造器
- 类的继承
- 多态
- 包装类
- final 修饰符
- 抽象类
- 接口
- 集合框架
- 常用类学习
- 设计模式-单例模式
- 异常处理
- JDBC
- JSP&Servlet
- Web应用
- Tomcat
- JSP
- Scriptlet
- Page 指令
- 包含指令
- 跳转指令
- 用户注册实例
- JSP练习
- 内置对象
- Servlet
- 过滤器
- Web分层思想
- EL表达式
- JSTL
- 分页实现
- AJAX&JSON
- 开发步骤
- 路径问题
- Log4j
- Mybatis框架
- 框架介绍
- Mybatis简单实现
- 表基本操作
- 优化配置文件
- 表字段名与实体类属性名不同的解决方案
- 一对一关联
- 一对多关联
- Spring框架
- IOC/DI
- 注入对象
- 注解方式 IOC/DI
- AOP
- 注解方式AOP
- 注解方式测试
- Spring MVC框架
- Hello SpringMVC
- 视图定位
- 注解方式
- 接受表单数据
- 客户端跳转
- Session
- 中文问题
- 上传文件
- SSM整合
- 整合步骤
- 分页
- PageHelper
- 连接池
- CRUD
- 事务管理
- JSON
- Maven
- 介绍
- 下载与配置MAVEN
- MAVEN仓库
- ECLIPSE中的MAVEN设置
- ECLIPSE下创建MAVEN风格的JAVA项目
- 添加JAR包
- 创建MAVEN风格的JAVA WEB项目
- 创建SSM项目
- 使用ECLIPSE导入一个MAVEN风格的SSM项目
- 教学管理
- 学员名录
- 周测统计
- 20180608
- 20180706
- 20180721
- 课堂作业
- 练习