Java中的流程控制

Scanner对象

Java中的Scanner对象是可以获取我们从控制台输入的数据,我们可以通过hasNext或者hasNextLine方法判断用户是否有输入数据,通过next或者nextLine方法获取输入的数据内容。实例如下:

Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
//判断有无数据输入,有则输出内容
if(scanner.hasNext()){
    String str = scanner.next();
    System.out.println("输入的内容为:" + str);
}
System.out.println("请输入内容:");
//判断有无数据输入,有则输出内容
if(scanner.hasNextLine()){
    String str = scanner.nextLine();

    System.out.println("输入的内容为:" + str);
}

//关闭IO流
scanner.close();

next和nextLine区别:next读取从第一个非空白符开始,到遇到的一个空白符结束,不能读取包含空格数据;nextLine读取从第一个非空白符开始的,到遇到第一个换行符结束,可以读取包含空白符的数据。

Scanner对象中还有一些方法,比如读取int类型数据nextInt,读取double类型数据nextDouble等等方法。

顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

int num1 = 10;
int num2 = 20;
int sum = num1 + num2;

选择结构

在Java中有四种选择结构:if、if-else、if-else if-else、switch。实例代码:

if(score == 100){
    System.out.println("满分");
}else if(score < 100 && score >= 90){
    System.out.println("A");
}else if(score < 90 && score >= 80){
    System.out.println("B");
}else if(score < 80 && score >= 70){
    System.out.println("C");
}else if(score < 70 && score >= 60){
    System.out.println("D");
}else if(score < 60 && score >= 0){
    System.out.println("不及格");
}else{
    System.out.println("输入的数字非法");
}


char score = 'B';
switch(score){
    case 'A':
        System.out.println("成绩优秀");
        break;
    case 'B':
        System.out.println("成绩良好");
        break;
    case 'C':
        System.out.println("成绩及格");
        break;
    case 'D':
        System.out.println("再接再厉");
        break;
    case 'E':
        System.out.println("成绩不及格");
        break;
    default:
        System.out.println("输入非法");
}

在JDK1.7之前,switch中可以判断byte,int,char类型数据,在JDK1.7之后可以判断String数据,但是case语句必须是字符串常量或者常量。

循环结构

在Java中有三种循环结构:while、do-while、for。while和do-while的区别是是否先执行代码再判断是否满足条件,while先判断是否满足条件,再执行循环体,do-while不管是否满足条件都会执行一次循环体。for循环可以更加精准的控制循环次数,在使用循环的时候要避免死循环,不过有时候我们又需要死循环。代码实例:

int i = 0;
int sum = 0;
//循环打印1-100的和
while(i <= 100){
    sum += i;
    i++;
}
System.out.println("sum = " + sum);//5050

//循环打印1-100的和
i = 0;
sum = 0;
do{
    sum += i;
    i++;
}while(i <= 100);
System.out.println("sum = " + sum);//5050

//打印出1-1000内所有能被5整除的数,每行打印三个数
for(int i = 1; i <= 1000; i++){
    if(i % 5 == 0){
        System.out.print(i + " ");
    }
    if(i % (5*3) == 0){
        System.out.println();
    }
}

break与continue

break用于结束循环的执行,跳出循环继续执行循环后面的代码;continue用于结束本次循环执行,开始下一次循环判断,不跳出循环。代码实例:

for(int i = 1; i < 10; i++){
    if(i == 5){
        break;
    }
    System.out.println(i);
}
System.out.println("==============");
for (int i = 0; i < 10; i++) {
    if(i == 5){
        continue;
    }
    System.out.println(i);
}
posted @ 2021-09-20 17:01  无涯子wyz  阅读(48)  评论(0)    收藏  举报