ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaSE_流程控制

2021-05-03 19:36:13  阅读:136  来源: 互联网

标签:语句 控制 Scanner 流程 break continue JavaSE public s1


1.Scanner

1.1用户交互Scanner

  • java.util.Scanner是Java5的新特性,我们可以通过Scanner类来获取用户的输入
  • 基本语法:
Scanner s = new Scanner(System.in);
  • 可以通过Scanner类的next()与nextLine()方法获取用户输入的字符串,在读取前一般要使用hasNext()与hasNextLine()判断是否还有输入的数据

Scanner的用法:

import java.util.Scanner;//导入Scanner类
public class Demo{
    public static void main(String[] args){
        Scanner s1 = new Scanner(System.in);//将Scanner对象实例化(创建Scanner对象(s1))
        int num = s1.nextInt();//调用Scanner的nextInt()方法,从控制台获取int类型的数
        s1.close();//用完记得关闭
    }
}

1.2Scanner进阶使用

  • 读取前一般要使用hasNext()与hasNextLine()判断是否还有输入的数据,这个的实现就是下面的

使用hasNext()与hasNextLine()判断是否还有输入的数据

import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        Scanner s1 = new Scanner(System.in);
        int i = 0;
        System.out.println("请输入一个int类型的数据");
        if(s1.hasNextInt()){
            i= s1.nextInt();
        }else{
            System.out .println("你要输入int类型数据");
        }
        System.out.println(i);
        s1.close();
    }
}

Scanner的进阶用法

import java.util.Scanner;
public class Demo{
    public static void main(String[] args){
        Scanner s1 = new Scanner(System.in);
        while(s1.hasNextDouble()){
            Double num = s1.nextDouble();
        }
        s1.close();
    }
}

2.顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
  • 顺序结构是最简单的算法结构
  • 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个一次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构。

3.选择结构

3.1if-else

  • 语句结构:
if(布尔表达式2){
 语句或语句块;  //当布尔表达式1是true时,走这里
}

为了便于理解,直接上图:
在这里插入图片描述

 if(布尔表达式2){
  语句或语句块;  //当布尔表达式1是true时,走这里
 }else if(布尔表达式2){
  语句或语句块;  //当布尔表达式2是true时,走这里
 }else{
  语句或语句块;  //当都不满足时,走这里
 }    

还是为了便于理解,直接上图:
在这里插入图片描述

3.2Switch

  • 语句结构:
switch(变量名){
 case 常量1:
     语句或语句块;
     break
 case 常量2:
     语句或语句块;
     break;
}        

还是一样,直接上图理解:
在这里插入图片描述

4.循环

4.1while

  • 语句结构:
while(布尔表达式){
 语句或语句块;
}

继续上图:

在这里插入图片描述

4.2do-while

  • 语句结构
do{
 语句或语句块;
}while(布尔表达式);

不说了,上图:
在这里插入图片描述

4.3for

4.3.1for

  • 语句结构:
for(初始化表达式;布尔表达式;更改表达式){
 语句或语句块;
}

不废话,上图:
在这里插入图片描述

4.3.2for-each(增强for)

增强for循环不需要用到下标

for(数组类型 变量名:数组或集合对象){
    //语句或语句块
}

5.break&continue

break&continue

break

break使用说明:

  • break在任何循环的语句体中,均可用break控制循环的流程。break用于强制退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)。

break应用实例:

public class TestBreak{
    public static void main(String [] args){
        for(int i = 0;a<=100;a++){
            if(i==50){
                break;
            }
            System.out.println(i);
        }
    }
}

然后输出结果是这样的:

1
2
3
4
·······
48
49
然后····就没有然后了,因为到这里i==50这个条件满足,进入if语句,执行break,这个for循环已经被终止了。

break使用的注意事项:

  • break语句后不能再有语句,因为此语句永远不会被执行。
public class TestBreak{
    public static void main(String [] args){
        for(int i = 0;i<=100;i++){
            if(i==50){
                break;
                System.out.println(a);   //此条语句永远都不会被执行
            }
        }
        System.out.println("Hello!")  //当然这一条语句会被执行,因为break终止的只是它所在的循环,而不是整个程序
    }
}

不相信???自己去试!!!

continue

continue使用说明:

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

continue应用实例 :

public class TestContinue{
    public static void main(String [] args){
        for(int i = 0;a<=100;a++){
            if(i==50){
                continue;
            }
            System.out.println(i);       
        }
    }
}

然后输出结果是这样的:

1
2
3
4
·······
48
49  
51   //这里满足了i==50的条件,进入if语句,执行continue跳过了此次循环。
52
·······
99
100
    

continue使用的注意事项:

——和break的注意事项一样

public class Test{
    public static void main(String [] args){
        for(int i = 0;i<=100;i++){
            if(i==50){
                continue;
                System.out.println(a);   //此条语句永远都不会被执行
            }
        }
        System.out.println("Hello!")  //当然这一条语句也是会被执行.
    }
}

关于goto关键字

  • goto关键字很早以前就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式的使用:Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子···带标签的break和continue。

带标签的关键字

  • 标签只后面跟一个冒号的标识符,例如:label:
  • 对Java来说唯一用到标签的地方就是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前的循环,但若随标签使用,他们就会中断到存在标签的地方。

——标签的名字是可以随便取的,但是要遵守命名规范。

public class TestBreak{
    public static void main(String [] args){
        label1:for(int a = 0;a<=100;a++){
            System.out.println(a);
            label2:for(int b =0;b<=100;b++){
                for(int c = 0;c<=100;c++){
                    System.out.println(c);
                    break label1;  //它会直接从自身所处的循环一直中断知道中断了带有所属标签的循环
                }
            }
        }
    }
}

break和continue的区别

  • break用于退出循环

  • continue用于跳过本次循环

不懂???没关系——上图(本人画的草图)↓↓↓
在这里插入图片描述

6.实例

打印九九乘法表

public class Demo {
    public static void main(String[] args){
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j+"X"+i+"="+(j*i)+"\t");
            }
            System.out.println();
        }
    }
}

标签:语句,控制,Scanner,流程,break,continue,JavaSE,public,s1
来源: https://www.cnblogs.com/jeter/p/14727945.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有