java中的程序结构
1)顺序结构:编写的 每行 代码 一定 会执行 一次
2)分支结构:编写的代码 可能 会执行 一次
3)循环结构:编写的代码 可能 会执行 多次
分支结构
根据某个条件的真或假决定是否运行某段代码
1)单分支
if语句
if(<条件>){
//当条件为真时运行的代码
}//{}结束后无论条件是真是假,都继续执行外面的代码
{}可以省略,但是不写{}只对一行代码生效
,所以不建议省略
2)双分支
当某个条件满足时运行指定代码A,当这个条件不满足时运行指定代码B
if-else语句
if(<条件>){
//条件为真,运行这里的代码
}else{
//条件为假,运行这里的代码
}//无论条件真假都要运行的代码
多分枝结构
1)if-else if(多重if)
if(条件1){
//条件1为真时运行
}else if(条件2){
//条件1为假,条件2为真时运行
}else if(条件3){
//条件1、2为假,条件3为真时运行
}else{
//条件1、2、3为假时运行,
}
- else if的数量是不限的
- else是可以省略的
- 多重if结构只能运行其中的一个代码块
- 判断条件的顺序是有要求的
2)switch结构
运行效率高,使用更灵活
语法 switch(<整数表达式>){
case[常量1]:
//当整数表达式值为常量1时运行
break;
case[常量2]:
//当整数表达式值为常量2时运行
break;
....
default:
//没有任何常量匹配整数表达式运行
}
- 整数表达式:最终结果是个整数的算式,通常情况下,可能是变量
整数表达式只能是byte、short、char、int类型 JDK1.7之后支持String
不能是小数
- case后面的常量:
一定要是常量,不能是变量
eg:int x=3;如果是case[3],就是对的,如果是case[x],就会报错。
- break关键字:终止switch代码的运行,继续运行switch{}之后的内容,
如果不编写break,就会出现case穿透现象
3)多重if和switch结构的小结
多重if优点:特别适合于判断一个值在一个范围的情况
switch优点:使用灵活,结构简单,运行效率高,特别适合于等值判断