java中Scanner s = new Scanner(System.in);分别是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中Scanner s = new Scanner(System.in);分别是啥意思?相关的知识,希望对你有一定的参考价值。

Scanner s = new Scanner(System.in);每一块分别是什么意思?以及int x = s.nextInt();分别每一块都代表什么意思?我是初学java搞不懂这些,老师也没讲解,但我很好奇,很想弄懂他们。

Scanner是一个类,nextDouble()是Scanner的成员函数,System.in作为参数传递给Scanner的构造函数,使Scanner用键盘作为输入,然后用new在内存中实例化一个Scanner出来,使得其它变量能调用这块内存区。

Scanner类简介:

Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。

由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。

这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。

扩展资料

System.in作为InputStream类的对象实现标准输入,可以调用它的read方法来读取键盘数据。read方法如下:

int    read()

从输入流中读取数据的下一个字节。    

Java通过系统类System实现标准输入/输出的功能,定义了3个流变量:in,out,和err.这3个流在Java中都定义为静态变量,可以直接通过System类进行调用。

System.in表示标准输入,通常指从键盘输入数据;System.out表示标准输出,通常指把数据输出到控制台或者屏幕;System.err表示标准错误输出,通常指把数据输出到控制台或者屏幕。

简单标准输入 :

System.in作为字节输入流类InputStream的对象实现标准输入,通过read()方法从键盘接受数据。 

int read() 

int read(byte b[]) 

int read(byte b[],int offset,int len)

参考技术A 意思是:通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。
要获取输入的内容,则只需要调用Scanner的nextLine()方法
举例:
public class TestScanner
public static void main(String[] args) //定义main方法
Scanner s = new Scanner(System.in); //定义scanner,等待输入
System.out.println("请输入字符串:");
while (true)
String line = s.nextLine(); //读取输入内容
if (line.equals("exit")) break; //如果读取到exit,则退出输入
System.out.println(">>>" + line); //打印输入内容



具体如下:
1、简介
编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
2、汇编程序
汇编程序。使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。
3、执行原理
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级编程硬件程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。
参考技术B 哈哈,跟我当年一样,刚学的时候我也好奇,老师也没讲,现在我告诉你
Scanner 是一个类,in是一个实例或者说是对象!new 是一个创建对象的方法……
Scanner这个类最实用的地方表现在获取控制台输入
就相当与声明这是一个人类(Scanner),这个人类是谁(in),后面新创建一个人类new Scanner(system.in),system.in 表示他有什么特征。
总的来说就是新创建一个输入的Scanner 对象,然后赋值给in。其实只要 知道 他的作用就是获取控制台的输入就行了!!本回答被提问者和网友采纳
参考技术C

意思是:通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。

要获取输入的内容,则只需要调用Scanner的nextLine()方法

举例:

public class TestScanner  
        public static void main(String[] args)  //定义main方法
                Scanner s = new Scanner(System.in); //定义scanner,等待输入
                System.out.println("请输入字符串:"); 
                while (true)  
                        String line = s.nextLine(); //读取输入内容
                        if (line.equals("exit")) break; //如果读取到exit,则退出输入
                        System.out.println(">>>" + line); //打印输入内容
                 
         

参考技术D System.in是输入的意思。Scanner s = new Scanner(System.in);是新建一个扫描器,扫描你输入的内容。s.nextInt()是扫描到的你输入的int类型的值。int x是将扫描到的你输入的int类型的值赋到x上。

java引用数据类型之Scanner与Random

一 Scanner类

引用数据类型的使用

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

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

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

变量名.方法名();

  Scanner类

Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。

Scanner使用步骤:

导包:import java.util.Scanner;

创建对象实例:Scanner sc = new Scanner(System.in);

调用方法:

int  i = sc.nextInt(); 用来接收控制台录入的数字

String s = sc.next(); 用来接收控制台录入的字符串

import java.util.Scanner;
public class ScannerDemo01 {
    public static void main(String[] args) {
        //创建Scanner引用类型的变量
        Scanner sc = new Scanner(System.in);
        //获取数字
        System.out.println("请输入一个数字");
        int n = sc.nextInt();
        System.out.println("n的值为" + n);
        //获取字符串
        System.out.println("请输入一个字符串");
        String str = sc.next();
        System.out.println("str的值为" + str);
    }
}

Scanner类里的其他方法可以从api里查看

 

 

二 Random类

方法简介

public int nextInt(int maxValue) 产生[0,maxValue)范围的随机整数,包含0,不包含maxValue;

public double nextDouble()  产生[0,1)范围的随机小数,包含0.0,不包含1.0。

Random使用方式:

 import导包:所属包java.util.Random  

创建实例格式:Random 变量名 = new Random();

import java.util.Random;
public class RandomDemo {
    public static void main(String[] args) {
        // 创建Random类的实例
        Random r = new Random(); 
        // 得到0-100范围内的随机整数,将产生的随机整数赋值给i变量
        int i = r.nextInt(100); 
        //得到0.0-1.0范围内的随机小数,将产生的随机小数赋值给d变量
        double d = r.nextDouble(); 
        System.out.println(i); 
        System.out.println(d); 
    }
}

Random类里的其他方法可以从api里查看

 

以上是关于java中Scanner s = new Scanner(System.in);分别是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

急求几道java编程题,希望大神们帮帮忙!

java 在控制台输入两个整数输出最大数

Java Scanner语法

判断一年是不是为闰年的java程序怎么写?

java中Random和Scanner及其循环语句

Java之Scanner对象