1、结构化程序有三种结构:
顺序结构(程序从上到下一行一行的执行代码,没有判断和中转。)
选择结构(分支结构)
循环结构
2、分支语句:
根据一定的条件有选择的执行或跳过特定的语句。
Java分支语句的分类:
if--else语句;
switch语句。
3、if语句的几种形式:
形式1
if (boolean类型表达式){
语句块
}
功能:当表达式值为true时,执行语句块,否则跳出语句。
形式2
if (boolean类型表达式){
if(boolean类型表达式){
语句块
}
}
形式3
if(boolean类型表达式){
语句块
}else{
语句块
}
形式4
if (boolean类型表达式)
语句块
else
语句块
形式5
if (boolean类型表达式){
语句块
}else if(boolean类型表达式){
语句块
}else if (boolean类型表达式){
语句块
}......
4、在String字符串中,如果使用"=="比较的是内存地址;如果使用.equals() 比较的是字符串的内容。
5、switch语句语法格式:
switch(表达式){
case const1:
statement1;
break;
case const2:
statement2;
break;
...
case constN:
statementN;
break;
default:
statement;
break;
}
6、switch语句的有关规则:
a.表达式的值必须是int,byte,char,short,enum;java7之后可以是String;但不能是boolean,long,float,double。
b.case子句中的值const必须是常量值(或final的变量),case中的值不能是一个范围。
c.所有的case子句中的值应该是不同的,否则会编译出错。
d.default子句是可选的(可不要)。
e.语句要写在break前面。
f.当前面所有的case全部没有满足需求的时候会进入default中。
7、switch语句通过break跳出程序,特殊情况是:default中的break是可以不需要的。
8、switch语句跳出程序依赖的是break,如果当前的case执行完,没有遇到break则会继续执行下面的case,直到遇到break跳出程序。
9、当多个case中的执行语句相同时,则可以考虑使用break穿透;如果多个case中的执行语句都不相同时,则break不能够忽略。
10、总结:
a.if-else和switch语句的区别与联系
(1)书写格式
(2)表达式不同
if语句表达式必须是boolean类型;
switch语句可以是byte,short,char,int,enum;JDK1.7以后可以是String。
(3)判断的数据不同
if语句可以判断一个取值范围;
switch语句只能判断常量。
b. if-else和switch语句的优缺点
if-else语句的优点:使用更加灵活(判断数据的灵活性和书写格式的灵活性)
缺点:执行效率不高
switch语句的优点:执行效率高
缺点:只用不够灵活