1.if语句:
1).概念:
if语句是指编程语言,中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
2).格式:
总共有三种if语句格式.
格式一:
if(表达式){
语句;
}
执行流程:行流程:
1).首先表达式是否会成立,成立则执行改语句.
2).不成立则不会进去.
注意事项:
1):有{}的地方不能有分号;
2):当前if(表达式){ // {} 可以省略不写,但是不建议.
格式二:
if(表达式){
语句1;
}else{
语句2;
}
(表达式)?执行true的结果:执行false的结果;)
格式三:
if(表达式){
语句1;
}else if(表达式2){
语句2;
}else if(表达式3){
语句3;
}else if(...){
....
....
....
}else{
语句n+1;
}
执行流程:
1):首先判断表达式1能否成立,如果成立,则输出语句1;
2):如果表达式1不成立,则继续判断表达式2是否成立,如果不成立则继续往下判断,直到判断正确,并且执行该语句.
3):如果上面都不成立,则执行最终语句n+1
2.switch语句:
1.概念:
“开关”的意思,是一种“选择” 语句 ,它用法非常简单。 switch 是多分支选择 语句 。 说得通俗点,多分支就是多个 if 语句 的组合。 从功能上说, switch 语句 和 if 语句 完全可以相互取代。
2.执行流程:
1)switch中的表达式的结果值和case语句匹配,值1和结果匹配,
就执行语句1,遇见break,switch结束;
2) 值1和switch表达式结果不匹配,继续判断值2是否匹配,如果匹配,就执行语句2,switch语句结束
...
...
3)如果case语句后面值都不匹配,这个执行default语句,执行语句n+1,程序执行到末尾结束...
break:属于跳转控制语句中的一种 结束,中断意思! (不能单独使用,只能在switch和循环语句中使用)
3.Switch语句的注意事项:
1)case语句后面只能是常量(Java是一个强类型语言: 语法,结构非常严谨)
相对来说:前端:javascript :简称"js",Switch语句的case中不仅可以常量,也可以是变量 是一个弱类型语言(语法结构非常不严谨)
2)case语句中beark 最好携带上,如果没有携带break语句,会造成"case穿透"
"case穿透": (要灵活使用,并不是说这个情况不好)
某个case语句中没有带break,此时当跟case的值匹配,这个时候继续就往下执行,不会在判断case!
3)default语句可以在switch语句中的任何位置,不会影响switch的执行流程
如果在语句中:
default里面的break千万不能省略;省略,造成case穿透(考点)
如果在语句末尾,break可以省略不写,前期不建议
(default:
System.out.println("输入数据不合法") ;
//break ; //可以省略不写(如果default在语句末尾))
4)switch语句的结束条件是:
a)遇见break结束
b)程序默认执行到末尾
5.switch语句的特点:
1)switch的执行流程
2)default语句可以在语句中的任何位置
3)case穿透现象
4)switch语句的结束条件
6.switch语句的格式:
switch语句格式:
switch(表达式){
case 值1:
语句1;
break;
case 值2:
语句2;
break;
...
...
...
default:
语句n+1;
break;
}
3.循环语句:
1.while语句:
1.while循环的格式和执行流程:
while循环的格式:
常用的格式
初始化语句;
while(条件表达式){
循环体语句;
控制体语句;
}
执行流程:
1)先初始化赋值
2)判断条件表达式是否成立,成立,则执行循环体语句-
3)执行控制体语句---继续判断条件是否成立,----循环,,,
...
...
4)执行到条件表达式不成立,while语句结束
2.while和for循环的区别:
1)共同点:都时能够实现循环的效果;
2)从格式有些差异
通用格式:
for循环:整个操作(初始化语句;条件表达式;控制体语句){
}
初始化语句;
while(条件表达式){
循环体
控制体语句
}
a)从内存角度考虑:for循环结束之后,当前里面的局部变量被释放了,节省内存空间!
相对来说,while循环,结束之后,依然可以访问到这个变量,
整个main方法结束之后,才释放内存,使用过程中,消耗内存空间!
for循环比while更好一些!
b) 当前明确循环次数时候,优先使用for循环;不明确循环次数使用的while循环
for使用最多;
3.while常见的死循环:
for循环的死循环格式(开发中使用不多,jdk原码中会见到这种格式)
for(;;){
//当满足某个条件的时候,结束 ----->break;
循环体语句;
}
开发中,使用多:while循环:死循环格式
while(true){
//当满足某个条件的时候,结束 ----->break;
循环体语句;
}
2.for语句:
1.格式:
for循环语句的格式
for(初始化语句;条件表达式;步长语句/控制体语句){
循环体语句;
}
//执行流程:
1)初始化语句对变量进行赋值
2)判断条件表达式是否成立;
如果是成立,执行循环体语句;
3)继续执行控制体语句
4)继续回到2)里面判断
如果是成立,执行循环体语句;
继续回到3)
...
...
...
一直执行到条件不成立结束;
2.for循环语句的嵌套:
格式
for(初始化语句;条件表达式;控制体语句){---外层循环
//循环体语句
for(初始化语句;条件表达式;控制体语句){--- 内层循环
循环体语句...
}
}
将一个for循环语句作为 "循环体"去执行;
一种题型:
/*
需求:统计所有的 "水仙花数"有多个
分析步骤:
1)定义统计变量 count
2)水仙花:明确范围:100-999
3)确定每各位的数据本身ge,shi,bai
4)满足的条件:ge*ge*ge+shi*shi*shi+bai*bai*bai==x, 这个时候统计变量++
5)输出count即可
*/
class ForTest3{
public static void main(String[] args){
//1)定义统计变量 count
int count = 0 ;
//2)水仙花:明确范围:100-999
for(int x = 100 ; x <= 999; x ++){
//确定每各位的数据本身ge,shi,bai
int ge = x % 10 ;
int shi = x /10 % 10 ;
int bai = x /10/10 % 10 ;
//确定值满足的条件
if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==x){
//统计变量++
count ++ ;
System.out.println("第"+count+"次的数据是:"+x) ;
}
}
System.out.println("水仙花数共有"+count+"个") ;
}
}