Java语言中的程序流程控制

(1. 流程控制

有三种基本技术可以改变程序的控制流程:

A.调用方法 :将导致控制流程离开当前方法,转移到被调用的方法。

B.选择  :   a. if / else 语句

b. switch语句

c. 三目运算

C.循环   :a. while 循环

b. for 循环

c. do / while 循环

注:所有的控制结构都包含了某种类型的布尔判断

(2. 布尔逻辑(布尔值:true, false)

在组合布尔表达式时,有四种类型的逻辑:

A. 和(&&):每个表达式都为真时。

B. 或(||):只要其中的一个表达式为真。

C. 异或

D. 非(!):对一个布尔表达式取反。

(3. 布尔运算符

A.  短路和(&&)

B. 和(&)

C. 短路或(|| )

D. 或(|)

E. 异或(^)

F. 非(!)

(4. 选择语句

A. 单分支语句:if(){}

B. 双分支语句:if(){}else{}

C. 多分支语句:if(){}else if(){}else{}

D. switch 语句:一般用作于等值条件判断

switch(变量){

case 值:语句;break;

case 值:语句;break;

default:

}

注:1.switch语句中只能是byte(字节型)、short(短整型)、int(整型)、char(字符型).

2.每一个case常量表达式都必须不相同

3.case和default位置不固定

(5. 循环语句

A. while: 先判断,后循环

B. do / while : 先循环,后判断,循环至少要执行一次

C. for: 先判断,后循环,它是一种指定次数循环的控制结构

例如1.:有一分数序列:2/1,3/2,5/3.....求出这个数列的前20项之和。

public class One{
      public static void main(String[] args){
                int den=1;//分母
                int num=2;//分子
                double sum=0;
                int temp=0;
            for(int i=0;i<20;i++){
                      temp=num;
                      num=den+num;
                      den=temp;
                      sum=sum+(double)num/den;
              }    
                  System.out.printfln("20项之和为:"+sum);
                 // System.out.printf("20项之和为:%.2f",sum);  
          }
}

例如2.随机产生一个0~99之间的随机数,然后开始猜数字游戏

import java.util.Scanner;

public class Three{
       public static void main(String[] args){
             Scanner input = new Scanner(System.in);

//产生随机数
              int random = (int)(Math.random()*100);            
                   System.out.println(random);  
                         int c=0;   
                         int temp=0;
              while(c==0){
                    System.out.print("请输入你猜测的数字:");
                    int num = input.nextInt();
                   
                         temp++;
                  if(random==num){
                       System.out.println("恭喜你猜对了!");   
                             c=1;  
                  }
                   else if(random>num){
                       System.out.println("小了点,再猜");
                  }
                          else if(random<num){
                       System.out.println("大了点,再猜");
                   }
                  }             
                  System.out.println("总共猜的次数为:"+temp);
      }
}

(6. 跳转语句

A. break语句:可以用于任何循环控制结构,从而使循环立即终止

B. continue语句: a. continue在for循环中,将导致控制流程立即跳到更新语句

b. continue在while和do/while中,控制流程立即跳到布尔表达式

上一篇:Backbone源码分析(二)


下一篇:POJ.3648.Wedding(2-SAT)