if语句
if语句 : if(条件表达式){
执行语句;
}
if..else语句: if(条件表达式){
执行语句;
}else{
执行语句;
}
if..else if..else语句 : if(条件表达式){
执行语句;
}else if(条件表达式){ 选择第一个满足条件的分支语句为分支入口;
执行语句;
}else{
执行语句;
}
switch语句
选择语句: switch语句
switch(表达式){
case 值:
执行语句;
break; switch的表达式 只能是 byte、short、int、char;
case 值: case的语句是无序的;case 的值同时加载到内存中;
执行语句; 找到对应的case值作为程序入口,使用break语句来作为结束;
break;
……
default:
执行语句;
break;(可以省略)
}
if语句和switch语句的异同点:
if:
1、对具体的值进行判断;
2、对区间进行判断;
3、对运算结果是boolean类型的表达式进行判断;
switch:
1、对具体的值进行判断;
2、值的个数必须是有限的;
通常对判断的值由几个固定选项组成的时候,建议使用switch;
但是由于switch可以判断的选择比较少,代码比较复杂,我们开发中if语句更为常用;
while语句
循环语句: 重复做一件事;
while do...while
while(条件表达式){
循环语句;
}
循环需要注意的情况:
1、需要有循环的条件;
2、需要控制循环的次数;
do{
循环语句;
}while(条件表达式);
do..while 语句的特点:无论条件是否满足,都会执行至少一次;
for语句
for(初始化表达式;条件表达式;循环后表达式){
循环语句;
}
for循环的执行顺序:首先执行初始化表达式,判断循环条件,如果条件返回值为true,执行循环语句,
然后执行循环后表达式,再次判断循环条件……
for循环与while循环的关系:
1、for与while可以互换;
2、for循环可以将变量定义到初始化表达式中,如只需要将该变量应用在循环体中,建议使用for循环,可以及时释放内存空间;
for循环的嵌套 : 大圈套小圈的思想 例如:地球的公转自转,时钟的时针分针;
无限循环:
while(true){
循环语句;
}
for( ;;){
循环语句;
}
终止循环:
break;
注意:1、break必须使用在switch或者循环语句中;
2、在switch或循环语句中,break单独使用时,下面不允许有代码语句;
3、默认情况下,break只能跳出语句所属的最近一层循环;
continue;
注意:1、continue是终止本次循环,继续下一次循环;
如果想要指定循环跳出的位置,可以使用给循环添加标记的方式,跳出时指明跳出位置即可;
flag1:for( ;;){
循环语句;
break flag1;
}
foreach语句
Java5引入了一种主要用于数组的增强型for循环。
语法
for (声明语句 : 表达式) {
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
public class Test { public static void main(String args[]) { int [] numbers = {10, 20, 30, 40, 50}; for ( int x : numbers ) { System.out.print( x ); System.out.print(","); } System.out.print(" "); String [] names = {"James", "Larry", "Tom", "Lacy"}; for ( String name : names ) { System.out.print( name ); System.out.print(","); } } }
运行结果
10,20,30,40,50,
James,Larry,Tom,Lacy,
总结
所谓流程控制语句,就是控制代码执行顺序的语句,if与switch语句使程序存在选择分支,for与while语句使程序在满足某条件的情况下重复的做一件事情。