全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

java的输入语句与输出语句

发布时间:2023-03-21 09:51:00
发布人:wjy

  java的输入语句与输出语句

  Java中其实有三个标准的“流”,他们被统称为standard streams:

  标准输入:基于流的输入(stdin),Java中对应的API是System.in;

  标准输出:基于流的输出(stdout),Java中对应的API是System.out;

  标准错误:基于流的错误输出(stderr),Java中对应的API是System.err;

  这三者之间的关系是,我们在命令行中输入各种指令,转到stdin的环境中运行处理,并在控制台中将处理好的结果,利用stdout和stderr进行输出显示为文本,还可以将结果重定向到对应的磁盘文件等。接下来就给大家详细地讲讲输入和输出。

  一. 输出语句

  我们在前面的文章和案例中,其实早就知道Java是如何实现输出功能的了。没错,就是利用System.out.println()语句来实现的!接下来壹哥就给大家详细解读一下这个语句的作用及其含义。

  System

  我们先来看看System是个什么东东。

  System是Java自带的一个类,它代表着系统类。该类位于https://baike.baidu.com/item/java.lang/5179788?fromModule=lemma_inlink包中,很多有用的系统级别的属性、控制方法都在该类里面。

  System类的构造方法是private(私有)修饰的,所以我们无法直接创建该类的对象,即无法实例化该类。关于这些对象的实例化,壹哥在后面讲解面向对象时会再详细讲解,大家先不要着急哦。System内部的成员变量和成员方法都是static的,我们可以很方便的直接进行调用。在System类里面,给我们提供了如下几个核心功能:

  ●标准输入输出:如out、in、err;

  ●外部定义的属性和环境变量的访问:如getenv()、setenv()、getProperties()和setProperties();

  ●加载文件和类库的方法:如load()和loadLibrary();

  ●快速拷贝数组的方法:arraycopy();

  ●jvm操作:如gc()、runFinalization()、exit();

  ●获取时间方法:如System.nanoTime 和 System.currentTimeMillis。

  Java中的输出语句通常使用System.out.println()方法来实现。这个方法可以将括号内的内容输出到控制台。例如:

  System.out.println("Hello, world!");

  out与err

  out表示一种“标准”的输出流,它是System类中的静态成员,可以直接被我们调用,且这个成员变量是java.io.PrintStream类的引用。

  另外还有一个与out功能类似的输出流err。err表示“标准”的错误输出流,此流可以打开并准备接受输出的数据。一般err流用于显示错误消息,或者用于显示需要引起用户特别注意的信息,在控制台中会显示红色的文字。

  其实out和err的用法完全一样,功能也基本相同。out和err的唯一区别就是,out往往是带缓存功能的,而err没有缓存功能(默认设置,可以更改)。

  print和println

  print()和println()都是java.io.PrintStream类里的方法,它们的作用都是向控制台输出信息。两者的基本作用完全一样,只是print()方法不会产生换行,println()会产生换行,因为println是print line的缩写,表示输出并换行。

  通过以上这3个API(应用程序接口)的讲解,我们可以总结出一个基本的规则:在Java中,被static关键字修饰的成员变量,可以直接通过"类名.成员名"的形式来引用,不用创建类的实例对象。所以我们可以直接调用System类里的静态成员out,即System.out。又因为System.out是java.io.PrintStream类的实例引用,所以又可以通过 System.out.println(); 的形式来调用。

  以上这段话,如果你看着有点懵逼,请不用纠结。这属于面向对象的知识,我们暂时还没学到哦!!!但是后续大家都会让大家学到的!!!

  基本案例

  以下是关于标准输出的代码案例,大家对着练习一下即可,很简单的哦。

  public class Demo01 {

java的输入语句与输出语句1

  }

  运行效果如下图所示:

java的输入语句与输出语句2

  格式化输出

  5.1 概念

  有时候,计算机默认输出的数据格式,并不一定能够满足我们的阅读需求,比如有的人想要保留小数点后两位,也有的人想要保留小数点后四位,大家的需求是个性化的,那么Java能不能针对特殊的需求,进行一些个性化的输出呢?这是可以实现的!这就需要用到格式化输出了!

  利用格式化输出功能,可以把数据显示成我们期望的格式。我们可以使用System.out.printf()语句,并结合%与?这两个占位符来实现,printf()方法可以把后面的参数格式化成指定的格式。

  5.2 占位符

  Java为了实现格式化功能,给我们提供了多种占位符,可以把各种数据类型“格式化”成指定的字符串。常用的占位符有如下这些:

java的输入语句与输出语句3

  这里我们要注意,在输出语句中,%表示占位符。如果连续使用两个%%,应该传入两个对应的数字,否则会把后面的%字符给原文输出。

  如果我们想了解更详细的格式化参数,可以参考JDK文档:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Formatter.html#syntax

  5.3 案例

  下面是设计的与本小节对应的代码案例,大家可以对照练习。

  public class Demo01 {

java的输入语句与输出语句4

  }

  二. 输入语句

  输入简介

  壹哥在前面给大家讲过,Java中给咱们提供了有三个标准的“流”,他们被统称为standard streams。除了负责输出的流之外,还有一个负责输入的标准流,Java中对应的API是System.in。

  与标准输出相比,标准输入则复杂的多。尤其是直接使用System.in时,虽然可以读取到用户的输入,但该方式特别的复杂,对咱们初学者来说很不友好。所以为了更方便地实现输入功能,壹哥给大家介绍一个更简单的Scanner类。

  Scanner类

  2.1 Scanner简介

  Scanner类是Java 5中开始提供的,负责解析基本类型和字符串的简单文本扫描器。通过Scanner类,我们可以获取用户在控制台里的输入数据。Scanner类里常用API方法有如下几个:

  nextInt():获取输入的整数;

  nextDouble():获取输入的双精度浮点数;

  nextLine():获取输入的字符串,包括单词里的空格和除回车以外的所有字符;

  next():获取输入的字符串,只从有效字符计算。在有效字符之前遇到的空格键、Tab键、换行符或Enter键等结束符,next()方法会自动将其去掉。只有在输入有效字符之后,next()方法才会将其后面输入的空格键、Tab键或Enter键等都视为分隔符或结束符,并以空格结束。

  2.2 使用步骤

  我们要想使用Scanner,需要遵循以下步骤:

  1.导入Scanner类;

  2.创建Scanner对象;

  3.使用Scanner对象扫描输入的内容。

  import java.util.Scanner;

  Scanner scanner = new Scanner(System.in);

  String inputString = scanner.nextLine(); // 读取一行字符串

  int inputInt = scanner.nextInt(); // 读取一个整数

  double inputDouble = scanner.nextDouble(); // 读取一个双精度浮点数

  接下来就给大家设计一个案例,讲解Scanner的具体使用。

  3. 案例

  本案例对初学者来说,具有一定的挑战性,大家要集中精力哦。

  //1.import导包:导入Scanner类

  import java.util.Scanner;

  /**

  @author 一一哥Sun

  QQ:2312119590

  CSDN、掘金、知乎找我哦

  */

  public class Demo03 {

  public static void main(String[] args) {

  //输入语句

  //2.创建一个从键盘录入的Scanner扫描对象

  Scanner sc = new Scanner(System.in);

  //3.使用Scanner对象,扫描输入的内容(整数、小数、字符串、布尔)

  //在控制台或命令行输入数字,并点击回车键结束

  System.out.println("请输入一个数字");

  int num = sc.nextInt();

  System.out.println("你输入的数字为:"+num);

  System.out.println("请输入一个小数");

  double num2 = sc.nextDouble();

  System.out.println("你输入的数字为:"+num2);

  System.out.println("请输入一个字符串");

  String str = sc.next();

  System.out.println("你输入的字符串为:"+str);

  }

  }

  本案例效果如下:

java的输入语句与输出语句5

相关文章

python写入json文件?

python写入json文件?

2023-11-02
vscode设置tab为4个空格?

vscode设置tab为4个空格?

2023-11-02
更新pycharm?

更新pycharm?

2023-11-02
anaconda每次打开都要安装?

anaconda每次打开都要安装?

2023-11-02

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取