java基础学习--------第三章流程控制

来源:互联网 发布:手机图片搜索软件 编辑:程序博客网 时间:2024/05/16 08:44

第三章 流程控制

顺序结构
分支结构

循环结构

特殊流程控制结构


顺序结构

     顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序
     ,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在

     后面的后执行

 

键盘输入数据
      之前的内容,数据都是在代码中写死的,在真正的项目实践中数据值肯定是变化的,有

必要学习如何输入数据。如何数据数据呢?需要三步:
 1》导入java.util.Scanner包;
        语句import java .util.Scanner;
        这句话要放在class定义的上面。
 2》创建对象;
     语句Scanner sc = new Scanner(System.in);
 3>接受数据
      int a = sc.nextInt();
      String name = sc.nextLine();

 

分支语句
   分支语句根据一定的条件有选择的执行或跳过特定的语句

    java分支语句分类
         if语句
         switch语句
 if语句:
         1:语法
               第一种结构:
                   if (boolean 表达式){
                             java 语句
    }
               第二种结构:
                   if  (boolean  表达式){
                            java 语句
                }else {
                            java语句
            }
               第三种结构:
                    if(boolean 表达式){
                                  Java语句
               }else if (boolean 表达式){
                            java语句
               }
                  else if (boolean 表达式){
                            java语句
               }
                   else if(boolean 表达式){
                            java语句
               }
               第四种结构:
                  
                         if(boolean 表达式){
                                  Java语句
               }else if(boolean 表达式){
                            java语句
               }
                  else if (boolean 表达式){
                            java语句
               }
                   else if (boolean 表达式){
                            java语句
               }else{
                            Java语句
                                }
 注意: 在if语句中只要有一个分支执行,则整个if语句结束
             上面的结构2,4  可以保证一定有一个分支语句执行,因为他们都有else语


 public  class IfTest01{
        public static void main(String[] args){
                    boolean isSuccess = false;
                      if ( isSuccess){
                  System.out.println("登录成功");
                }else{
                  System.out.println("登录失败");
         }
     //   分支语句中,如果只有一条Java语句,大括号可以省略
     //   但不推荐使用,别人这样写看懂就行
              
                           if ( isSuccess)
                  System.out.println("登录成功");
                else
                  System.out.println("登录失败");
        
}
}
 
-------------------------------------------------------------------------------
/*
   需求:
      系统给定人的年龄【1-100】
       系统给定程序,通过人的年龄来判断这个人处于生命的哪个阶段:
           【1-5】: 幼儿
           【6-18】:少年
           【19-35】:青年
           【36-55】:中年
           【56-100】:老年
*/
public class IfTest01{
    public static void main(String[]args){
            int age = 10;
            if (age>= 1&& age<=5){
                System.out.println("幼儿");
            }else if(age<=18){
                System.out.println("少年");
            }else if(age<=35){
                System.out.println("青年");
            }else if(age<= 55){
                System.out.println("中年");
            }else{
                System.out.println("老年");
                }
        }
    }

 switch语句

   /*
    关于switch 语句
      语法  :
         switch(int类型){
            Java语句;
            Java语句;
            break;

          case int类型:
             Java语句;
             Java语句;
             break;

          case int类型:
             Java语句;
             Java语句;
             break;

          defalut:
            java 语句
         }
     注意: break; 语句可以没有
            defalut 语句也可以没有
         break; 语句如果没有,则发生case穿透现象
         switch后面的括号可以填写byte,short,char ,类型,因为可以自动转换int类型  

*/

    在switch语句执行时,首先计算表达式的值,然后将其与case后的常量依次进行比较,
    如果找到相匹配的值,则进入到该常量下的代码块执行,直至遇到break结束整个    

 switch语句。
    如果常量中没有找到匹配值,则进入到default代码块执行。


   注意:在这里我们需要注意的是,虽然break语句不是必须的,但在执行过程中,如没有遇到break,将继续执行一下case后的代码块,直至break或整个switch语句结束

 
switch语句有关规则

       switch(表达式)中表达式的返回值必须是下述几种类型之一:int ,byte,char

,short 枚举,字符串String(jdk7之后支持) case 字句中的值必须是常量,且所有case字句中的值应是不同的;
      default字句是任选的;
      break语句用来执行完一个case分支后使程序跳出switch语句块;


    循环语句
        循环语句也叫迭代语句,是指在循环条件下满足的情况下,重复执行一组代码块,直至循环条件不再满足或都遇到跳转语句
          while  do-while  for


/*
  for循环
     语法:
       for (表达式1;表达式2;表达式3){
             Java语句
       }
    表达式1是初始化表达式,最先执行,只执行一次。
    表达式2必须是boolean类型的表达式。

    for 循环开始执行,先执行表达式1,并执行一次。
    进而判断表达式2的结果,如果是true,则执行Java语句。
    再执行表达式3,然后再判断表达式2的结果,直到表达式2的结果是false,则for循环

结束


*/
public class ForTest01{
    public static void main(String[] args){
          for (int i=0;i<10;i++){
              System.out.println("i="+i);


              }
        }
    }

-------------------------------------------------------------------------------
/*
关于for循环的嵌套
  所有的控制语句都可以嵌套一起使用
*/
public class ForTest02{
    public static void main(String[] args){
        for(int i=5;i>0;i--){
            for(int j=0;j<i;j++){
                System.out.print(j+" ");
                }
                System.out.println();
            }
        }
    }
-------------------------------------------------------------------------------
/*
使用嵌套的for循环打印九九乘法表
*/
public class ForTest03{
    public static void main(String[] args){
        for(int i=1;i<=9;i++){
            for (int j = 1;j<=i;j++){
                System.out.print(i+"*"+j+"="+(i*j)+" ");
                }
                System.out.println();
            }
        }
    }

 


/*
关于while循环
  语法:
    whil(boolean 表达式){
         java语句
    }
   while循环的次数是0-n。
*/
public class WhileTest01{
    public static void main(String[] args){
        /*int i=0;
        while(i<10){
            i++;
            System.out.println(i);
            }
            */
            int i=0;
            while(i<10){
                System.out.println(i);
                i++;
                }
        }
    }
-------------------------------------------------------------------------------
/*
do...while...
   语法:
      do{
      Java语句;
      }while (boolean表达式);
      该循环执行的次数是:1-n.
*/
public class DoWhileTest01{
    public static void main(String[] args){
        int i =0;
        do{
            i++;
            System.out.println(i);
            }while(i<10);
        }
    }
-------------------------------------------------------------------------------
/*
beak;语句:
  1 可以用在switch语句中,结束分支语句
  2 break;语句可以出现在循环当中,默认情况下结束离它最近的一个循环
*/
public class BreakTest01{
    public static void main(String[] args){
        for (int i =0;i<10;i++){

            if (i==5){
                //break;//只是结束离它最近的一个循环
                //return;//结束的是main方法
                continue;
                }
                System.out.println(i);
            }
        }
    }

-------------------------------------------------------------------------------
/*
continue;语句:
*/
public class Cntinue01{
    public static void main(String[] args){
        for (int i =0;i<10;i++){

            if (i==5){
            //continue语句可以用来结束当前本一次循环,直接进入下一次循环执行   
                continue;
                }
                System.out.println(i);
            }
        }
    }


-------------------------------------------------------------------------------

/*
深入break;
*/
public class BreakTest02{
    public static void main(String[] args){
        /*for (int i=5;i>0;i--){
            for(int j =0;j<i;j++){
                if(j == 2){
                    break;
                    }
                    System.out.print(j);

                }
                System.out.println();
            }*/
            outer:for (int i=5;i>0;i--){
            for(int j =0;j<i;j++){
                if(j == 2){
                    break outer;
                    }
                    System.out.print(j);

                }
                System.out.println();
            }
        }
    }

0 0
原创粉丝点击