Java SE ---流程控制语句

 java的控制流程有三种:
一,顺序流程            
   自上而下,按照代码的先后顺序执行
二,分支流程            
   1,if/else语句            
   2,switch/case语句
三,循环流程             
   1,for循环            
           2,while循环             
           3,do while循环
 
先来说说分支流程里的if的用法:if有以下三种方式:
第一种形式:
     if(布尔表达式) {
            //待执行的代码 
     }
 
第二种形式:
     if(布尔表达式) { 
            //待执行的代码 
     } else { 
            //待执行的代码 
     }
 
 第三种形式:
     if(布尔表达式) { 
            //待执行的代码 
     } else if(布尔表达式) { 
            //待执行的代码 
     } else if(布尔表达式) {
            //待执行的代码 
     } else { 
            //待执行的代码 
     }
来三组例子更形象:  int a = 2;
int b = 2;
 
if(a > b) {
System.out.println("星期天在家学习 ");
        }
 
---------------------------------------------------------
 int a = 11;
int b = 3;
if(a > b) {
System.out.println("a > b ");
} else {
System.out.println("a =< b ");
------------------------------------------------------------
int a = 11;
int b = 3;                 if(a > b) {
System.out.println("a > b ");
} else if (a < b) {
System.out.println("a < b ");
} else {
System.out.println("a = b ");
}
---------------------------------------
String pwd = "hellojava";
if(pwd != null && pwd.length() != 6) {
System.out.println("密码长度不正确,请输入6位密码!");
} else {
System.out.println("请稍等,正在验证密码!");
} 
-----------------  
 
接下来说说switch/case语句:
switch/case语句的语法结构是: switch(变量a) {     //这里switch变量a的类型是有规定的,可以是byte,short,int,char,enum这五种里的某一种
case 开关值1: 该开关下执行的语句
case 开关值2: 该开关下执行的语句
case 开关值3: 该开关下执行的语句
case 开关值4: 该开关下执行的语句
......
default: 变量值跟开关值都不符合的情况下后执行
} 

实例如下:
int a = 3;
switch(a) {
case 0: System.out.println("a = 0");
case 1: System.out.println("a = 1");
case 2: System.out.println("a = 2");
case 3: System.out.println("a = 3");
default:System.out.println("a = 4");
} 
 
最终的运行结果是:a=3 ,
当我们加上break switch的运行过程是:把 a的值与case的开关值比较,若a跟某个开关值相等,就执行该开关下的语句。如果a的值跟所有case开关值都不同,则执行default分支下的语句。 什么时候退出switch语句,取决于何时遇到break语句。要是没有遇到break语句,就继续执行下面的case语句,知道遇到第一个break语句才退出,否则一直运行到switch流程结束。 
 
例子如下:
 int a = 1;
switch(a) {
case 0: System.out.println("a = 0");
case 1: System.out.println("a = 1");
case 2: System.out.println("a = 2");
case 3: System.out.println("a = 3");                        
break; 
default:System.out.println("a = 4");

运行结果是:a = 1   a = 2   a = 3 。

因为变量a跟开关1的值相同,所以执行case1语句,一直往下执行case2,case3,遇到break就跳出switch流程,所以a = 1   a = 2   a = 3 。

 

再来说说循环流程的3种形式:

1. for 循环(使用最多的一种循环)形式为:        

for(变量初始化;     条件判断;     步进)  { 
            //待执行的代码          

} 

for循环执行的流程是:

        1) 执行变量初始化   
        2) 执行条件判断。如果条件判断为假,那么退出for循环,开始执行循环后面的代码;
                                           如果条件判断为真,执行for循环里面的代码。 
        3) 执行步进 
        4) 重复步骤2

 例子:求出1-100之间的奇数之和。

int sum = 0;
for(int i = 1; i < 100; i = i +2) {
sum += i;  //等价于sum = sum + i;
}

System.out.println("0-100之间的奇数之和" + sum);
运行结果是:1-100之间的奇数之和2500  

2, while 循环形式为: 先判断while里的布尔表达式,为真的话就执行代码;布尔表达式为假,while的循环体就一次也不执行。        

while(布尔表达式)  {            

      //待执行的代码         

例子:求出0-100之间的整数之和

int a = 1;

int sum = 0;

while(a <= 100) {

sum += a;  //等价于 sum = sum + a;

a++;

}

System.out.println("1-100的整数之和===" + sum);

 运行结果是:1-100的整数之和===5050

 

3.  do…while 循环为: 先执行do里的代码,接着判断while里的布尔表达式,为真的话再接着执行do里的代码,知道遇到while里的布尔表达式为假才跳出。注意while后有个分号       

do {             

//待执行的代码        

 }        

while();

 

具体例子如下:求出0-100之间的偶数之和。

int a = 0;

int sum = 0;

do{

sum += a;

a = a + 2;

}

while(a <= 100);

System.out.println("0-100之间的偶数之和 ===" + sum); 
最终的运行结果是:0-100之间的偶数之和 ===2550   
         
while与do…while之间的区别
如果布尔表达式的第一次判断就为false,那么while循环一次也不执行;do…while循环则会执行一次。
如果布尔表达式第一次判断为true,那么while循环与do…while循环是一样的。
例子如下:  
int k = 4;

while(k < 2) {

System.out.println("hello wolrd");

}

do{  System.out.println("welcomt to java");

}

while(k < 2); 运行结果是: welcomt to java

posted @ 2013-11-22 11:47  五星村小黄  阅读(225)  评论(0编辑  收藏  举报