顺序控制
程序从上到下逐行地执行,中间没有任何判断和跳转
分支控制
单分支
if(条件表达式){
执行代码块;
}
双分支
if(条件表达式){
执行代码块;
}
else{
执行代码块;
}
多分支
swith 分支结构
细节
除非遇到break;
case 后边也可以使用常量表达式
switch 和 if 的比较
- 如果判断的具体数值不多,而且符合byte、short、int、char,enum,String 这6种类型。虽然两个语句都可以使用,建议使用swtich语句。
- 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
循环控制
for 循环控制
执行顺序是
先执行循环变量初始化,在执行循环条件,在执行循环操作, 在执行循环变量迭代
细节
-
循环条件是返回一个布尔值的表达式
-
fo(:循环判断条件:)中的初始化和变量迭代可以写到其它地方,但是两边的分 号不能省略。
-
循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开, 循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
while 循环控制
do while 循环控制
do while 循环是先执行在判断,因此它至少执行一次
do while(表达式);分号一定不要漏掉
多重循环控制
不要超过3层循环嵌套
经典金字塔
public class Stars {
//编写一个main方法
public static void main(String[] args) {
/*
*
* *
* *
********
思路分析
化繁为简
1. 先打印一个矩形
*****
*****
*****
*****
*****
2. 打印半个金字塔
* //第1层 有 1个*
** //第2层 有 2个*
*** //第3层 有 3个*
**** //第4层 有 4个*
***** //第5层 有 5个*
3. 打印整个金字塔
* //第1层 有 1个* 2 * 1 -1 有4=(总层数-1)个空格
*** //第2层 有 3个* 2 * 2 -1 有3=(总层数-2)个空格
***** //第3层 有 5个* 2 * 3 -1 有2=(总层数-3)个空格
******* //第4层 有 7个* 2 * 4 -1 有1=(总层数-4)个空格
********* //第5层 有 9个* 2 * 5 -1 有0=(总层数-5)个空格
4. 打印空心的金字塔 [最难的]
* //第1层 有 1个* 当前行的第一个位置是*,最后一个位置也是*
* * //第2层 有 2个* 当前行的第一个位置是*,最后一个位置也是*
* * //第3层 有 2个* 当前行的第一个位置是*,最后一个位置也是*
* * //第4层 有 2个* 当前行的第一个位置是*,最后一个位置也是*
********* //第5层 有 9个* 全部输出*
先死后活
5 层数做成变量 int totalLevel = 5;
//小伙伴 技术到位,就可以很快的把代码写出
*/
int totalLevel = 20; //层数
for(int i = 1; i <= totalLevel; i++) { //i 表示层数
//在输出*之前,还有输出 对应空格 = 总层数-当前层
for(int k = 1; k <= totalLevel - i; k++ ) {
System.out.print(" ");
}
//控制打印每层的*个数
for(int j = 1;j <= 2 * i - 1;j++) {
//当前行的第一个位置是*,最后一个位置也是*, 最后一层全部 *
if(j == 1 || j == 2 * i - 1 || i == totalLevel) {
System.out.print("*");
} else { //其他情况输出空格
System.out.print(" ");
}
}
//每打印完一层的*后,就换行 println本身会换行
System.out.println("");
}
}
}
跳转控制语句-break
基本介绍:
break语句用于终止某个语句块的执行,一般使用 在switch或者循环for,while,dowhil中
老韩解读
- break语句可以指定退出哪层
- label1是标签,名字由程序员指定。
- break后指定到哪个label就退出到哪里
- 在实际的开发中,尽量不要使用标签.
- 如果没有指定break,默认退出最近的循环体
判断字符串相等的方法
"林黛玉".equals("name")
跳转控制语句-continue
- continue语句用于结束本次循环,继续执行下一次循环。
- continue语句出现在多层嵌套的循环语句体中时,可以 通过标签指明要跳过的是哪一层循环,这个和前面的标 签的使用的规则一样。
跳转控制 return
return使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍, 这里我们简单的提一下。注意:如果return写在main方法,退出程序