Java04-Java语法基础(三)流程控制
一、数据类型的转换
1、自动转换:在赋值运算中,占字节数大的类型会自动向字节小的类型转换
double d1 = 3.14;
int t1 = d1;
2、强制类型转换:当将宽度大的数据赋给宽度小的变量时,需要强制转换。会损失数据的精度(不会四舍五入)
(数据类型名)表达式;
二、流程控制:程序语句的执行方式
1、顺序结构:按语句出现的先后顺序执行
2、选择结构:根据条件选择执行部分语句
(1)由if 或 if--else构成的选择结构
A、if(条件表达式){
语句1;
}
执行过程:先运算“条件表达式”,若结果为真,执行“语句1”,若“条件表达式”结果为假,则跳出if结构,执行其它语句
流程图的图例:
菱形:表示条件判断
矩形:表示语句
箭头:表示执行方向
B、if---else构成的条件结构
if(条件表达式){
语句1;
}else{
语句2;
}
强调:a、else不能单独使用,必须和if结合起来使用
b、"{ }"表示控制范围,若 if 或 else只控制一条语句,则可以省略"{ }"
C、在if子句中嵌套if—else
if(条件表达式1){
if(条件表达式2){
语句1;
}else{
语句2;
}
}else{
语句3;
}
D、在else子句中嵌套if—else
if(条件表达式1){
语句1部分;
}else if(条件表达式2){
语句2部分;
}else if(条件表达式3){
语句3部分;
}else if(条件表达式n){
语句n部分;
}else{
语句n+1部分;
}
(2)由switch--case --break;构成的选择结构
switch(表达式){
case 常量1:语句1;break;
case 常量2:语句2;break;
case 常量3:语句3;break;
case 常量4:语句4;break;
........
case 常量n:语句n;break;
default:
语句n+1;
}
强调(语法):
a、switch后的"表达式"的运算结果只能是字符型或整型
b、case后常量的类型必须和switch后的"表达式"的运算结果的类型一致
c、default不是必须的,它的位置在switch中是任意的,通常将它放在 所有的case之后
d、"break;"语句的作用是跳出switch结构,若没有该语句,则实现不了选择的功能
执行过程:
第一步:先运算switch后的"表达式"
第二步:将switch后的"表达式"的运算结果与case后的常量进行比较,若相等则执行其后的语句;
第三步:若switch后的"表达式"的运算结果与所有case后的常量都不相等,若存在default,则执行其后的语句;若不存在default则跳出switch结构
(3)由条件表达式构成的选择结构
表达式1 ? 表达式2 : 表达式3