Java Scanner 类,超详细整理,适合新手入门

简介: Java Scanner 类,超详细整理,适合新手入门

一、什么是 Java Scanner 类?

Java Scanner 类是 Java 中一个用于读取用户输入的类,它可以从标准输入、文件、字符串等多种输入源中读取数据,并将数据转换为 Java 中的各种数据类型。

二、引用数据类型

我们要学的Scanner类是属于引用数据类型,先了解下引用数据类型。

1、引用数据类型的定义

引用数据类型与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有相对固定的步骤或格式:

数据类型 变量名 = new 数据类型();

Scanner input = new Scanner(System.in);

每种引用数据类型都有其功能,可以调用该类型实例的功能。

变量名.方法名();

三、Scanner 类有哪些常用方法?

先导入java.util包,语法:import java.util.Scanner;

第一步 创建从控制台输入对象

第二步 提示语句

第三步 接受控制台的变量

第四步 输出或使用

1. import java.util.Scanner;
2. 
3. public class Text {
4. 
5. public static void main(String[] args) {
6. 
7. Scanner input = new Scanner(System.in);
8. 
9.         System.out.println("请输入你的年龄");
10. int age = input.nextInt();    \\从输入流中读取一个整数
11.         System.out.println("我的年龄是:" + age);
12. 
13.         System.out.println("请输入你的体重");
14. double weight = input.nextDouble(); \\从输入流中读取一个双精度浮点数。
15.         System.out.println("我的体重是:" + weight);
16. 
17.         System.out.println("请输入你的姓名");
18. String name = input.next();   \\从输入流中读取一个字符串。
19.         System.out.println("我的名字是:" + name);
20. 
21.         System.out.println("请输入你的性别");
22. char sex = input.next().charAt(0); \\从输入流中读取一个字符
23.         System.out.println("我的性别是:" + sex);
24.     }
25. }

hasNext()用法

Scanner 类的 hasNext() 方法用于检查输入流中是否还有数据可以读取。该方法返回一个 boolean 值,如果还有数据可以读取,则返回 true;否则返回 false。

1. Scanner scanner = new Scanner(System.in);
2. 
3. while (scanner.hasNext()) {
4. String line = scanner.nextLine();
5.     System.out.println("输入的内容是:" + line);
6. }

四、next() 与 nextLine() 区别

next():

1、一定要读取到有效字符后才可以结束输入。

2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。

3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

4、next() 不能得到带有空格的字符串。

nextLine():

1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。

2、可以获得空白。

五、使用 next 方法

1. import java.util.Scanner;
2. 
3. public class ScannerExample {
4. public static void main(String[] args) {
5. Scanner scanner = new Scanner(System.in);
6.         System.out.print("请输入一个字符串: ");
7. String str = scanner.next();   //next
8.         System.out.println("你输入的字符串是:" + str);
9.     }
10. }

六、使用 nextLine方法

1. import java.util.Scanner;
2. 
3. public class ScannerExample {
4. public static void main(String[] args) {
5. Scanner scanner = new Scanner(System.in);
6.         System.out.print("请输入一行字符串: ");
7. String str = scanner.nextLine();    //nextLine
8.         System.out.println("你输入的字符串是:" + str);
9.     }
10. }


目录
相关文章
|
23天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
42 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
19天前
|
监控 架构师 Java
Java虚拟机调优的艺术:从入门到精通####
本文作为一篇深入浅出的技术指南,旨在为Java开发者揭示JVM调优的神秘面纱,通过剖析其背后的原理、分享实战经验与最佳实践,引领读者踏上从调优新手到高手的进阶之路。不同于传统的摘要概述,本文将以一场虚拟的对话形式,模拟一位经验丰富的架构师向初学者传授JVM调优的心法,激发学习兴趣,同时概括性地介绍文章将探讨的核心议题——性能监控、垃圾回收优化、内存管理及常见问题解决策略。 ####
|
29天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
46 8
|
1月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
65 1
|
1月前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
125 4
|
1月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
1月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
70 2