scanner与控制循环结构

用户交互Scanner

1.Scanner对象

Scanner sc = new Scanner(System.in);

2.next和nextline

next:

package com.liu.scanner;

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("使用next接收:");
        if(sc.hasNext()){
            String str=sc.next();
            System.out.println("输出的内容为:"+str);
        }
        sc.close();
    }
}

测试数据:Hello World

结果:Hello

nextLine:

package com.liu.scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        //创建扫描器对象,用于接收键盘数据
        Scanner sc = new Scanner(System.in);
        System.out.println("使用NextLine方式接收:");
        //判断用户有没有输入字符串
        if(sc.hasNextLine()){
            //使用NextLine接收
            String str = sc.nextLine();
            System.out.println("输出内容为:"+str);
        }
        //IO流用完一定要关闭
        sc.close();
    }

测试数据:Hello World

结果:Hello World

两者区别

next():

  1. 一定要读取到有效字符后才可以结束输入
  2. 输入的有效字符之前遇到的空白,next()方法会将其自动减掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔或结束符
  4. next()不能得到带有空格的字符串

nextLine():

  1. 以Enter作为结束符,可以返回回车前的所有字符
  2. 可以获得空白

break和continue

1.break

主要用于循环和switch中,用来跳出整个语句块

package com.liu.struct;

public class Demo05 {
    public static void main(String[] args) {
        for (int i=0;i<5;i++){
            System.out.println(i);
            if(i==3){
                break;
            }
        }
    }
}

break不仅可以结束其所在的循环,还可以结束外层循环,但需要借助一个标签,如下:

package com.liu.struct;

public class Demo05 {
    public static void main(String[] args) {
        outer:
        for(int i=1;i<5;i++){
            for(int j=0;j<4;j++){
                System.out.println(i+","+j);
                if(j==2) {
                    break outer;
                }
            }
        }
    }
}

2.continue

适用于任何循环结构中,作用是让程序立刻跳转到下一次的迭代

在for循环中,continue使程序立即跳转到更新语句

while中,程序立即跳到布尔表达式的判断语句

package com.liu.struct;

public class Demo05 {
    public static void main(String[] args) {
        int i=0;
        while(i<100){
            i++;
            if(i%10==0){
                System.out.println();
                continue;
            }
            System.out.print(i+"");
        }
    }
}

3.两者区别

break用于强行退出循环,不执行循环中剩余的语句

continue只是忽略本次循环剩下的语句,接着开始下一次循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值