- 1、switch
- 2、循环结构
- 1)for 循环
- 2)while
- 3)do-while
- 4)while 与 do-while 区别
- 5)几种死循环
写之前我再强调一点,我写这些文章,不是让你掌握的有多全面,而是让你有能力在面对企业开发中的这些知识时,你能够应对开发,这就够了。所以,我是尽可能的在最短时间让你学到最有效的内容。
另外,我后面没特殊说明,我只把 main 方法里的代码粘贴出来,所以你如果要运行,需要把代码粘贴到你创建的类中的 main 方法里。不多说,开整。。。 1、switch
上篇文章《运算符和选择结构》中讲了 if-else 的选择结构,if-else 一般多用于范围条件判断,而 switch 一般多用于匹配等值的情况下
1)语法
switch (表达式) {//表达式可以是int、String类型的数据,不能是long、浮点型的
case xxx:
//代码体
break;//结束当前 switch 代码执行
//有可能是多个case xx: break;
default://上面都不匹配则匹配这个
break;
}
看完是不是有点懵?莫急,上例子:
//判断用户输入的数字,0代表成功,1代表失败,其他数字代表输入不正确
int num = 0;
switch (num) {//要判断 num 这个变量的值匹配下面哪一个
case 0:
System.out.println("成功");//因为num=0,所以输出该条语句
break;//结束当前 switch 语句块
case 1:
System.out.println("失败");
break;
default://按照上面的要求,除了 0 和 1 以外都是输入不正确
System.out.println("输入不正确");
break;
}
明白了这个 switch 语句块的意思,你就能在企业开发中使用它了,当然,switch 的出场率远不如 if-else。
2、循环结构循环结构是用来处理较多重复的具有相同逻辑事情的。结合每个例子进行理解。
1)for 循环① 语法
//语法格式
for(表达式1;表达式2;表达式3){
循环体;
}
//执行顺序:表达式1 -> 表达式2 -> 循环体 -> 表达式3 -> 表达式2...
//一般情况下:表达式 1 是定义变量并赋值, 表达式 2 是判断变量的范围,
//循环体是要编写的逻辑代码,表达式 3 是变量的运算
② 例子1:
//打印机打印学号1-10 同学的试卷, 下面程序就会输出10行内容
for (int i = 1; i <= 10; i++) {
System.out.println("打印学号为 "+i+" 的学生试卷");
}
③ 例子2:
//找出 1-50 之间的奇数,如果是 3 倍数就跳过,遇到41程序就结束
//这里定义了以后,for 的第一个表达式就可以省略了,这只是另一种写法而已,一般情况下还是写在 for 里面比较好
int i = 1;
for (; i < 51; i++) {
if(i == 41) {
break; //结束当前 for 的循环(终止 for)
}
if(i % 3 == 0) {
continue; //跳过 for 的本轮循环(跳过一次)
}
if(i % 2 != 0) {//奇数的特征就是不能被 2 整除
System.out.print(i+" ");
}
}
输出结果如下:
④ 例子3(for 嵌套):
//在 eclipse 中敲 for 后摁住 alt + / 会给出代码提示,常用的语法都会有提示
//打印经典的 9x9 乘法表
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(i*j)+"t");
}
System.out.println();
}
输出结果如下:
⑤ 增强 for
增强 for 只不过是另外一种形式的 for 循环而已,因为增强 for 需要用到数组的知识,讲到数组时再讲解这个增强 for 循环
//语法格式
while(循环条件){
语句1;
}
举栗子:
//当打印完第 3 份试卷后就关闭打印机
int i = 1;
while(i<=3) {
//注意输出语句中我用了变量的右增操作
System.out.println("打印第"+(i++)+"份试卷");
}
System.out.println("打印机关闭中...");
运行结果:
//语法
do {
//代码
} while (表达式);
还是同样的要求:
//当打印完第 3 份试卷后就关闭打印机
int i = 1;
do {
System.out.println("打印第"+(i++)+"份试卷");
} while (i<=3);
System.out.println("打印机关闭中...");
运行结果:
while 是先判断条件满足后再执行代码;
do-while 是先执行一遍代码然后再判断条件;
死循环就是永远不会退出的循环,使用时要慎重。
① while(true)
int a = 1;
while(true) {
System.out.println("a="+(a++));
if(a == 2) {
break;//当 a=2 时结束死循环
}
}
当然了,只要 while 的条件结果是 true,都是一种死循环,要有结束死循环的代码。
② for(;
int a = 1;
for(;;) {
System.out.println("a="+(a++));
if(a == 2) {
break;//当 a=2 时结束死循环
}
}
学习 Java 的小伙伴,也可搜索并关注公众号 taishangcode 进行学习。



