zoukankan      html  css  js  c++  java
  • Java基础-学习笔记(四)-流程控制

    1、顺序结构  if语句

    if(表达式){执行语句块}(变量=布尔表达式?语句1:语句2 表达式为真则执行语句1,反之执行语句2)

    if(表达式){执行语句块} else {}

    if(表达式1){执行语句块} else if(表达式2){}else

    if语句也可以嵌套在if语句中,else与上文中最近的if匹配

    2、选择结构  switch语句

    看着下面的代码,也真是醉了,我咋能写出这样的~不过从中也可以吸取点教训,case后面跟的只能是常量,switch后面的表达式可以接受byte、short、int、char型

     1 public static void main(String agrs[])
     2     {
     3         int grade=85;
     4         switch(grade)
     5         {
     6             /*case(grade < 60)://报错 不兼容的类型: boolean无法转换为int (case后面必须是常量)
     7                 System.out.println("You are unpassed!");*/
     8             case 1://傻帽!grade是85,肯定是不等于1啊,怎么可能去执行if语句,最后输出结果肯定是It's Wrong!
     9                 if(grade<60)
    10                     System.out.println("You are unpassed!");
    11             case 2:
    12                 if((grade>60)&&(grade<80))
    13                     System.out.println("You got B!");
    14             case 3:
    15                 if((grade>80)&&(grade<=100))
    16                     System.out.println("You got A!");
    17             default:
    18                 System.out.println("It's Wrong!");
    19         }
    20     }

    再写一个正确的

     1 public static void main(String agrs[])
     2     {
     3         int x=3;
     4         switch(x)
     5         {
     6             case 1:
     7                 System.out.println("It's Monday");
     8             case 2:                
     9                 System.out.println("It's Tuesday");
    10             case 3:
    11                 System.out.println("It's Wednesday");
    12             case 4:
    13                 System.out.println("It's Thursday");
    14             case 5:
    15                 System.out.println("It's Friday");
    16             default:
    17                 System.out.println("It's Weekend!");
    18         }
    19     }

    输出结果:

    It's Wednesday
    It's Thursday
    It's Friday
    It's Weekend!

    说明switch中一旦碰到满足条件的case,不仅执行完该case中的语句,还顺序执行其后面的内容,为了避免这个问题,需要在每个case的语句后加上break跳出循环

     1 public static void main(String agrs[])
     2     {
     3         int x=3;
     4         switch(x)
     5         {
     6             case 1:
     7                 System.out.println("It's Monday");
     8             case 2:                
     9                 System.out.println("It's Tuesday");
    10             case 3:
    11             case 4:
    12                 System.out.println("It's Thursday");
    13                 break;
    14             case 5:
    15                 System.out.println("It's Friday");
    16             default:
    17                 System.out.println("It's Weekend!");
    18         }
    19     }//输出It's Thursday

    从上面代码中可以看到,加了break就可以跳出循环,并且,还说明了一个问题,就是,当多种情况下要执行的语句是一样的,我们可以如上所示操作,将3、4共用同一语句块

    3、循环语句

    while(表达式){语句}//当表达式为真,则执行语句

    do

    {

       语句

    }while(表达式); //先执行语句,在执行while中的表达式,若为真,则继续执行语句,直至表达式为假

    for(初始化表达式;循环条件表达式;循环后的操作表达式)循环体

    break 跳出当前循环体

    continue 跳出当前循环语句,接着执行下一次的循环

     1 public static void main(String agrs[])
     2     {
     3         int i=1;
     4         for(;i<11;i++)
     5         {
     6             if(i%3==0)
     7                 break;
     8             System.out.println(i);
     9         }
    10     }//输出1,2
     1 public static void main(String agrs[])
     2     {
     3         int i=1;
     4         for(;i<11;i++)
     5         {
     6             if(i%3==0)
     7                 continue;
     8             System.out.println(i);
     9         }
    10     }//输出1,2,4,5,7,8,10

    ps:当break被标记,如下所示,执行完break st后,程序会跳出最外层while(即被标记的while循环),慎用~

    st:while(true)

    {

      while(true)

        {

          break st;

        }

    }

  • 相关阅读:
    Informix IDS 11系统办理(918考试)认证指南,第6部分:IDS备份和恢复(1)
    Informix IDS 11体系处置(918检验)认证指南,第 4 局部: 性能调优(7)
    我常用网址整理
    System.Insert 插入字符串
    System.Length 获取字符串或数组的长度
    System.New、System.Dispose 为某个指针申请和释放内存
    System.GetMem、System.FreeMem 申请和释放内存
    学习 TList 类的实现[1]
    学习 TList 类的实现[2]
    System.ReallocMem 重新申请内存
  • 原文地址:https://www.cnblogs.com/tiantianxiangshang33/p/4722217.html
Copyright © 2011-2022 走看看