使用Scanner关键字接受键盘录入的数据Java基础知识

本文介绍了Java中使用Scanner类进行键盘录入数据的方法,包括导入Scanner包、创建扫描器对象,以及如何录入整数、小数、布尔值、字符串等不同类型的数据。特别强调了next()和nextLine()的区别,提醒开发者避免混合使用以防止输入问题。同时提供了两个示例(Demo1和Demo2)来展示实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java中使用Scanner关键字来录入数据

步骤1.导包

由于scanner类不在lang包下,需要将其所在的包导入进来

import java.util.Scanner

由于我们使用的集成开发工具,此步可以省略

快捷键:导包 ctrl + shift + o

步骤2.直接创建扫描器对象
Scanner scanner = new Scanner(System.in);
步骤3.使用创建好的扫描器录入数据

录入的数据也分很多类型,比如int,double,float,string,布尔值等
下面依次接受各个类型的区别以及实例

  1. 录入整数 int
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
		int int01 = scanner.nextInt();
		//使用扫描器的时候,next()方法会堵塞程序,不输入数据程序不会向下执行
		System.out.println(int01);
  1. 录入小数 double float
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个小数:");
		double d1 = scanner.nextDouble();
		System.out.println(d1);
  1. 录入布尔值
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个布尔值");
		boolean b1 = scanner.nextBoolean();
		System.out.println(b1);
  1. 录入字符串
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的名字:");
		String name = scanner.next();
		System.out.println(name);
  1. 录入一行nextLine()
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符串:");
		String line = scanner.nextLine();
		System.out.println(line);
  1. nextLine和next的区别

next的特点:

  • 输入的数据不能有空格,否则会终止输入
  • 如果前面有空格或者回车会直接去掉,不会录入
  • 所以如果前面有空格可以使用该方法,但是后面有空格则不行

nextLine()的特点

  • 以换行结束
  • 一般情况下,不要将next()和nextLine()混用,因为next的结束会影响nextLine的输入
  • 一般不和以上的几种next混用
  • 可以录入空数据,获得空白内容

  1. 关闭扫描器,防止内存泄漏,一般在程序的结尾处
scanner.close();
Demo1

接受三个数据且比较大小

import java.util.Scanner;

public class ScannerDemo {

	public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);
int c = scanner.nextInt();
		int d = scanner.nextInt();
		int e = scanner.nextInt();
		if (c > d) {             
	         if (c > e) {                 
	           System.out.println(c + "是最大值");             
	          }else {                 
	           System.out.println(e + "是最大值");             
	                 }         
	       }else {               
	         if (d > e) {                 
	           System.out.println(d + "是最大值");             
	          }else {                 
	           System.out.println(e + "是最大值");             
	                }     
	    }  
     }	  
 }
Demo2

输入:我叫xx。我来自xx,我今年xx岁,我的bmi为xx

import java.util.Scanner;

public class ScannerDemo {

	public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);
	String name1 = scanner.next();
		String home = scanner.next();
		int age = scanner.nextInt();
		float  bmi = scanner.nextFloat();
		System.out.println("我叫"+name1+",我来自"+home+",我今年"+age+"岁,我的bmi为"+bmi);
	    scanner.close();
	}

}
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值