Java的switch多选择结构
- 多选择结构还有一个实现方式就是switch case语句
- switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
- switch语句中的变量类型可以是:
- byte、short、int或者char
- 从JavaSE 7开始
- switch支持字符串String 类型了
- 同时case标签必须为字符串常量或字面量
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;
//你可以有任意数量的case语句
default://可选
//语句
}
case穿透
package com.cdoudou.struct;
public class switchDemo01 {
public static void main(String[] args) {
//case穿透 switch匹配一个具体的值,习惯上带着break,不然会造成case穿透【即输出的结果与预期不符】
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("输入不合法");
}
}
}
可以使用字符串
package com.cdoudou.struct;
public class switchDemo02 {
public static void main(String[] args) {
String name = "豆豆";
//JDK 7的新特性,表达式结果可以是字符串!!!
//字符的本质还是数字
//反编译 java---class(字节码文件)----反编译(可通过IDEA实现)
switch(name){
case "豆豆":
System.out.println("正确");
break;
case "c豆豆":
System.out.println("错误");
break;
default:
System.out.println("不合法");
}
}
}
循环结构
- while循环
- do...while循环
- for循环
- 在Java5中引入了一种主要用于数组的增强型for循环
while循环
- while是最基本的循环,它的结构是:
while(布尔表达式){
//循环内容
} - 只要布尔表达式为true,循环就会一直执行下去
- 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环
- 少部分情况需要循环一直执行,比如服务器的请求响应监听等
- 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃!
输出1~10
package com.cdoudou.struct;
public class whileDemo01 {
public static void main(String[] args) {
int i = 0;
while(i<10){
i ++;
System.out.println(i);
}
}
}
循环的问题
package com.cdoudou.struct;
public class whileDemo02 {
public static void main(String[] args) {
//等待客户连接
//定时检查,一定要避免死循环
//死循环
while(true){
//.......
}
}
}
do...while循环
- 对于while语句而言,如果不满足条件,则不能进入循环,但有时候需要即使不满如条件,也至少执行一次
- do...while循环和while循环相似,不同的是,do...while循环至少会执行一次
do{
//代码语句
}while(布尔表达式);
- while和do-while语句的区别:
- while先判断后执行,do...while是先执行后判断!
- do...while总是保证循环体会被至少执行一次!这是他们的主要差别
package com.cdoudou.struct;
public class doWhileDemo {
public static void main(String[] args) {
int a = 0;
while(a < 0){
System.out.println(a);
a ++;
}
System.out.println("=============================");
do{
System.out.println(a);
a ++;
}while(a < 0);
/*
=============================
0
* */
}
}