作者:Victory学德语 | 来源:互联网 | 2023-05-26 09:30
问题:什么叫程序?
程序 = 数据结构+算法
算法:解决问题的思路
任何复杂的算法都有以下几种:
1、顺序结构
2、分支结构
3、循环结构
分支结构:
程序在运行过程中,在不同的条件下可以选择执行某些程序
if结构
可以选择执行或不执行
当满足条件时执行语句块,否则不执行语句块
1、语法
if(条件){
语句块
}
条件:最终得到的结果是满足 true/false
2、注意
2.1 条件应该boolean,可以boolean类型的值,表达式最后能计算出true/false
如果条件不是boolean的话,则会进行自动转化
以下几种情况,是自动转换为false
if(0){ }
if(0.0){ }
if(NaN){ }
if(""){ }
if(undefind){ }
if(null){ }
自动转化为true的情况 除了上面的表空的情况,其他的都会自动转化为true
if(1){}
2.2 if(条件)后面的{}可以省略的,但是不推荐 打乱代码的逻辑性和可阅读性
如果省略了{},nameif结构只会控制if下的第一条语句
if … else… 结构
两条选择必须其一
1、语法
if(条件){
true–满足条件执行此代码块
}else{
false–不满足条件执行此代码块
}
多重if结构
多重if结构:在多种选择中,选择一条满足条件的代码块执行
1、语法
if(条件1){代码块1}else if(条件2){代码块2}else if(条件n){代码块n}else{以上条件都不满足时,执行的语句}
switch分支结构
语法:
switch(变量/表达式){case 值1:语句块1break;case 值2:语句块2break;case 值3:语句块3break;...default:语句块n;break;}
作用:简化等值判断 的条件结构
执行流程:
1、解析 表达式或变量中的值
2、用 解析出来的数值 与 case 后面的数值进行等值比较
如果比较成功,则执行该case后面的语句块
3、执行完成以后,如果碰到break则结束整个switch结构,否则向下继续执行(不在用解析出来的值和 case后面的值作比较)
switch 直落形式:两个或多个case之间没有任何的break,多块case要执行相同的操作
switch(变量/表达式){case 值1:case 值2:case 值3:....case 值n:语句块;break;}
switch case结构和多重if结构的区别
前者只能做等值判断
后者等值和区间判断都可以
所有的switch case 都能用多重if结构替换
switch case 优点:简洁 效率高