Java流程机制

Java流程机制

用户交互Scanner

  • 实现人与程序的交互,是java5的新特征,我们可以通过Scanner来获取用户的输入

  • 语法格式:Scanner input=new Scanner (System.in);

  • Scanner中的next()与newxLine()方法获取输入的字符串,在读取前我们一般会用hasNext()与hasNextLine()来判断是否还有数据的输入。

  • 注意:next()会把空格之后的去掉,不进行读取,所以next不能得到带有空格的字符串

package com.chen.scanner;
//导入包
import java.util.Scanner;

public class Demo02 {
   public static void main(String[] args) {
//       创建实例Scanner
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入");
//       输入一行数据,以空格结束
       String next = scanner.next();
//       打印next
       System.out.println(next);
//       关闭IO
       scanner.close();
  }
}
  • nextLine以Enter为结束符号,也就是说,他会获取整行字符串

package com.chen.scanner;

import java.util.Scanner;

public class Demo01 {
   public static void main(String[] args) {
       //创建Scanner的实例
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入数据");
//       输入一行数据,以回车结束
       String s = scanner.nextLine();
//       答应字符串s
       System.out.println(s);
//       关闭输入
       scanner.close();
  }
}

 

顺序结构

  • Java的基本结构就是顺序结构,除非特别指明

  • 它是任何一个算法都离不开的一种基本算法结构

 

判断结构

  • Switch语法:

package com.chen.scanner;

public class Demo05 {
   public static void main(String[] args) {
       char grade = 'X';
       switch (grade) {
           case 'A':
               System.out.println("优秀");
               break; //一定的加break不然case具有代码穿透性,会执行下面代码
           case 'B':
               System.out.println("良好");
               break;
           case 'C':
               System.out.println("及格");
               break;
           case 'D':
               System.out.println("不及格");
               break;
           default:
               System.out.println("输入有误,没有此选择");
      }
  }
}
package com.chen.scanner;

public class Demo06 {
   public static void main(String[] args) {
       //jdk7之后支持字符串
       //char类型本质属于数值型
       String name="陈";
       switch (name){
           case "陈磊":
               System.out.println("陈磊");
               break;
           case "蘑菇" :
               System.out.println("小蘑菇");
               break;
           default:
               System.out.println("输入有误");
      }
  }
}
  • If-else判断

package com.chen.scanner;

import java.util.Scanner;

public class Demo03 {
   public static void main(String[] args) {
       int i=0;
       float f=0.0F;
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入整数");
       if (scanner.hasNextInt()){
           i = scanner.nextInt();
           System.out.println(i);
      }else {
           System.out.println("输入错误");
      }

       System.out.println("================================");


       System.out.println("请输入小数");
       if (scanner.hasNextFloat()){
           f = scanner.nextFloat();
           System.out.println(f);
      }else {
           System.out.println("输入不是小数");
      }
       scanner.close();
  }
}

循环结构

  • while循环,在不确定循环次数情况下,首先判断,不满足条件进不了循环

  • do while循环 ,和while循环差不多,但是它是在循环一次之后再进行判断的

  • for循环,在确定循环次数的情况下

    while循环

package com.chen.scanner;

public class Demo07 {
   public static void main(String[] args) {
       int i = 0;
       while (i <=100) {

           System.out.println(i);
           i++;
      }
  }
}
package com.chen.scanner;

public class Demo08 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       //先循环一次,在判断
      do {
          i++;
          sum+=i;
      }while (i<100);
       System.out.println(sum);
  }
}

break & continue

  • break用于清醒退出循环,不执行循环语句中剩余的语句,(break用于switch中和循环中)

     

  • continue是用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。

  •  

 

posted @ 2020-03-31 19:35  Crazylearningjava  阅读(202)  评论(0)    收藏  举报