第一章 流程控制
1.1 概述
- 在一个程序的执行过程中,各条语句的执行顺序对程序的结果有直接影响
1.2 顺序结构
- 根据编写顺序,从上到下运行
第二章 判断语句
2.1 if
- 格式一:if
if (关系表达式) { 语句体; }
- 流程:
- 判断关系表达式结果true还是false
- ture执行语句体
- false不执行
- 流程:
- 格式二:if…else
if (关系表达式) { 语句体1; }else{ 语句体2; }
- 流程:
- 判断关系表达式结果true还是false
- true执行语句体1
- false执行语句体2
- 流程:
- 格式三:if…else if…else
if (判断条件1) { 语句体1; } else if (判断条件2) { 语句体2; } ... } else if(判断条件n){ 语句体n; } else { 语句体n + 1; }
- 流程:
- 判断条件1结果true还是false
- true执行语句体1
- false继续判断条件2结果true还是false
- 流程:
- 注:一旦有一个成立,后面都不执行
- 利用if替换三目运算符
//三目运算符 int a = 5; int b = 9; int max = a > b ? a : b; //if语句 int a = 5; int b = 9; int max; if (a > b) { max = a; } else { max = b; }
第三章 选择语句
3.1 switch
- 格式:
switch(表达式) { case 常量值1: 语句体1; break; case 常量值2: 语句体2; break; ... default: 语句体n+1; break; //可以省略 }
- 流程
- 先计算表达式值
- 与case依次比较,对应上就执行相应语句,直到遇到break结束否则一直向下执行。
- 如果都不匹配,执行defalut,结束。
- 流程
- 注:case数值不可以重复
- 注:switch括号里只能是下列数据类型
- 基本数据类型:byte/short/int/char
- 引用数据类型:String(JDK1.7开始支持)/enum
- 注:switch语句可以很灵活
- 前后顺序可以颠倒
- break可以省略
第四章 循环语句
4.1 循环概述
- 满足循环条件的情况下,反复执行某一段代码
- ++循环结构的基本组成部分++
- 初始化语句:在循环最初执行,只做唯一一次
- 条件判断:成立则循环继续,不成立就退出
- 循环体:重复要做的事情内容,若干行代码
- 步进语句:每次循环之后都要进行扫尾工作,每次循环结束++之后++执行一次
4.2 for
- 格式:
for(初始化表达式; 布尔表达式(条件判断); 步进语句) { 循环体; }
4.3 while(当型循环)
- 格式:
//标准格式: while(判断条件){ 循环体; } //扩展格式: 初始化表达式; while(判断条件){ 循环体; 步进语句; }
4.4 do…while(直到型循环)
- 格式:
//标准格式: 初始化语句; do{ 循环体; 步进语句; }while(判断条件);
- 注:++最后有个分号;++
4.5 三种循环的区别
- 判断条件没有满足时候,do…while()至少执行一次
- for的循环变量在++括号中定义++时,++只有循环内部++可以使用。但是while()和do…while()初始化语句本来就在外面,所以出循环后还可以使用
- 注:++确定次数的多用for,否则多用while++
4.6 循环控制语句break,continue
- break常见两种用法;
- 用++在switch语句++当中,一旦执行,整个switch语句结束。
- 用在++循环语句++当中,一旦执行,整个循环语句结束(打断循环)。
- continue关键字
- 一旦执行,++跳过本次++循环剩余内容,马上++开始下一个循环++
第五章 扩展知识
5.1 死循环
- 永远停不下来的循环,叫做死循环
- 格式:
while(true){ 循环体; }
- 注:当死循环里面没有break结束时——>循环外面写输出语句会报错
while(true){ 循环体; } Sysout.out.println("a"); //错
5.2 嵌套循环
- 嵌套循环:一个循环的循环体是另一个循环
- 中循环次数 = 外循环次数 * 内循环次数
- 格式
for(初始表达式1; 判断条件1; 步进语句1){ //外层控制行 for(初始表达式2; 判断条件2; 步进语句2){ //内层控制列 循环体; } }
- 注:输出9*9乘法表时:++外层控制行,内层控制列++