Java流程控制

顺序结构

最简单的结构,java默认是顺序执行

if选择结构

if(score>90)
          {
               System.out.println("优秀"+score);
          }
           else if (score>70)
          {
               System.out.println("良好"+score);
          }
           else if (score>=60)
          {
               System.out.println("及格"+score);
          }
           else
          {
               System.out.println("不及格");
          }

 

swtich选择结构(支持String原理解析)

支持类型

byte,short,int,char,String(jdk7后支持)

jdk7之后支持String的原理解析

//java源码
String name="yyKing";
       //jdk7 之后才支持String类型比较
       switch (name)
      {
           case "yyKing":
               System.out.println("King");
               break;
           case "yyHandsome":
               System.out.println("Handsome");
               break;
           case "yySmart":
               System.out.println("Smart");
               break;
           default:
               System.out.println("未知等级");
      }

 

//编译过后的
//其本质是做了两次swtich,第一次switch 用了name的hash值作比较,相同之后用equals作比较,之后转化为值类型在用swtich之间的比较
String name = "yyKing";
       byte var4 = -1;
       switch(name.hashCode()) {
       case -1895024349:
           if (name.equals("yyHandsome")) {
               var4 = 1;
          }
           break;
       case -737080695:
           if (name.equals("yySmart")) {
               var4 = 2;
          }
           break;
       case -716755241:
           if (name.equals("yyKing")) {
               var4 = 0;
          }
      }

       switch(var4) {
       case 0:
           System.out.println("King");
           break;
       case 1:
           System.out.println("Handsome");
           break;
       case 2:
           System.out.println("Smart");
           break;
       default:
           System.out.println("未知等级");
      }

while&do while循环结构

        int s=10;
       //while是执行前做判断
       while(s<20)
      {
           s++;
      }

       //是先执行再做判断,也就是无论如何会执行一次
       do {
           s++;
      }
       while(s<20);

for循环结构

        //第一个定义值,第二个条件,第三个变化
       for (int i = 0; i < 10; i++) {
           
      }
       //这种写法是无限循环
       for(; ;)
      {}

/*
       1*1=1
       2*1=2 2*2=4
       3*1=3 3*2=6 3*3=9
       4*1=4 4*2=8 4*3=12 4*4=16
       5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
       6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
       7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
       8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
       9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
        */
       for (int i = 1; i <= 9; i++) {
           for (int j = 1; j <= 9; j++) {
               if(i>=j)
              {
                   System.out.print(""+i+'*'+j+'='+i*j+'\t');
              }
               else
              {
                   break;
              }
          }
           System.out.println();
      }

 

posted @ 2020-07-28 21:42  下一个路口再见  阅读(59)  评论(0)    收藏  举报