JavaSE基础语法学习-流程控制

流程控制

用户交互Scanner

  1. Scanner**对象**

    下面是创建 Scanner 对象的基本语法:

     Scanner s = new Scanner(System.in);

    接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。

  1. next & nextLine

    public static void main(String[] args) { 
       //创建一个扫描器对象,用于接收键盘数据
       Scanner scanner = new Scanner(System.in); //next方式接收字符串
       System.out.println("Next方式接收:");
       //判断用户还有没有输入字符
       if (scanner.hasNext()){
           String str = scanner.next();      
           System.out.println("输入内容:"+str);
      }
       //凡是属于IO流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉.就好像你接水完了要关 水龙头一样.很多下载软件或者视频软件如果你不彻底关,都会自己上传下载从而占用资源,你就会觉得 卡,这一个道理.
       scanner.close();
    }

    测试数据:Hello World!

    结果:只输出了Hello。

    public static void main(String[] args) { 
       Scanner scan = new Scanner(System.in);
       // 从键盘接收数据 // nextLine方式接收字符串
       System.out.println("nextLine方式接收:");
       // 判断是否还有输入
       if (scan.hasNextLine()) {
           String str2 = scan.nextLine();
           System.out.println("输入内容:" + str2);
      }
       scan.close();
    }

    测试数据:Hello World!

    结果:输出了Hello World!

    两者区别:

next():

  • 一定要读取到有效字符后才可以结束输入。

  • 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。

  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

  • next() 不能得到带有空格的字符串。

nextLine():

  • 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

  • 可以获得空白。

三种结构

顺序结构

选择结构

if单选择结构

if(布尔表达式){ 
   //如果布尔表达式为true将执行的语句
}

if双选择结构

if(布尔表达式){ //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

if多选择结构

if(布尔表达式 1){ 
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码
}else { //如果以上布尔表达式都不为true执行代码
}

嵌套的if结构

if(布尔表达式 1){ 
   //如果布尔表达式 1的值为true执行代码
   if(布尔表达式 2){
       //如果布尔表达式 2的值为true执行代码
  }
}

switch多选择结构

switch(expression){
   case value :
       //语句
       break;
       //可选
   case value :
       //语句 break;
       //可选
       //你可以有任意数量的case语句
   default :
       //可选
       //语句
}

当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必

须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现

break 语句。switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何

位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分

支不需要 break 语句。

循环结构

主要三种循环结构

  • while 循环

  • do…while循环

  • for 循环

while先判断后执行。dowhile是先执行后判断!

99乘法表

for (int i = 1; i <= 9 ; i++) { 
   for (int j = 1; j <= i; j++) {
       System.out.println(j + "*" + i + "=" + (i * j));
  }
   System.out.println();
}

另外有增强for循环

for(声明语句 : 表达式) 
{
   //代码句子
}

 

posted @ 2020-09-26 21:31  帅蜗  阅读(78)  评论(0)    收藏  举报