你的位置:首页 > Java教程

[Java教程]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中,控制流程立即跳到布尔表达式