JAVA全栈之路(五)—— 流程控制学习

Scanner

next()

代码举例

import java.util.Scanner; //导入java工具包中的Scanner类

public class Scannertext {
    public static void main(String[] args) {
        //创建一个扫面类对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用hasNext来判断有无下一个输入");
        if (scanner.hasNext()){
            //使用next方法来接受参数
            String str = scanner.next();
            System.out.println("输入的内容为:"+str);
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,使用完毕后将流关闭!
        scanner.close();
    }
}

效果截图
在这里插入图片描述
结论
next()函数不可以接收带有空格的字符串

nextLine()

代码举例

import java.util.Scanner; //导入java工具包中的Scanner类

public class Scannertext {
    public static void main(String[] args) {
        //创建一个扫面类对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用hasNextLine来判断有无下一个输入");
        if (scanner.hasNextLine()){
            //使用nextLine方法来接受参数
            String str = scanner.nextLine();
            System.out.println("输入的内容为:"+str);
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,使用完毕后将流关闭!
        scanner.close();
    }
}

效果截图
在这里插入图片描述
结论
nextLine()函数返回的是输入回车之前的所有字符

练习

题目:输入多个数字,并求其总和与平均值,每输入一个数字用回车确认,通过输入的非数字来结束输入并输出执行结果。

import java.util.Scanner;//导入java工具包中的Scanner类

public class ScannerPractice {
    public static void main(String[] args) {
        //创建一个扫面类对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("请用户开始输入:");
        //初始化总和sum=0
        double sum = 0;
        //初始化输入数字的个数m=0
        int m = 0;
        //通过循环判断是否还有输入,并且每次都进行求和计算
        while (scanner.hasNextDouble()){
            //进行求和计算
            sum = sum + scanner.nextDouble();
            //输入的数字个数加一
            m++;
        }
        System.out.println(m +"个数的和为"+ sum);
        System.out.println(m +"个数的平均值为"+ (sum/m));
        //凡是属于IO流的类如果不关闭会一直占用资源,使用完毕后将流关闭!
        scanner.close();
    }
}

效果截图
在这里插入图片描述

增强For循环

For循环的死循环写法

for(;;){}

实例

//循环输出数组arry。
int[] arry = {10,20,30,40,50};
//IDEA增强For快捷键:arry.for
for (int i : arry) {
	System.out.println(i);
}

关于goto关键字

java中的goto关键字

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

java中的标签

“标签”是指后面跟一个冒号的标识符,例如:label:

java中标签的用处

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

代码解读

public class LabelDemo {
    public static void main(String[] args) {
        //打印101~105之间的所有质数。

        //在循环语句之前存在标签 label:
        label:for (int i=101; i<150; i++){
            for (int j=2; j<i/2; j++) {
                if (i %j == 0){
                    continue label; //若满足条件则跳出本次循环,到标签处继续执行代码
                }
            }
            System.out.print(i +" ");
        }
    }
}

使用javap -c LabelDemo进行反编译
在这里插入图片描述
效果截图
在这里插入图片描述
此类用法了解即可!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值