首页 > 编程语言 >一文读懂Java输入输出:编程新手必看

一文读懂Java输入输出:编程新手必看

时间:2023-09-21 22:34:29浏览次数:44  
标签:输出 Java Scanner 必看 System 读懂 格式化 输入

一文读懂Java输入输出:编程新手必看_java

输出

在前面的代码中,我们总是使用System.out.println()来向屏幕输出一些内容。

println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print()

一文读懂Java输入输出:编程新手必看_格式化输出_02

注意观察上述代码的执行效果。

格式化输出

Java还提供了格式化输出的功能。为什么要格式化输出?因为计算机表示的数据不一定适合人来阅读:

一文读懂Java输入输出:编程新手必看_System_03

如果要把数据显示成我们期望的格式,就需要使用格式化输出的功能。格式化输出使用System.out.printf(),通过使用占位符%?printf()可以把后面的参数格式化成指定格式:

一文读懂Java输入输出:编程新手必看_格式化输出_04

Java的格式化功能提供了多种占位符,可以把各种数据类型“格式化”成指定的字符串:

占位符

说明

%d

格式化输出整数

%x

格式化输出十六进制整数

%f

格式化输出浮点数

%e

格式化输出科学计数法表示的浮点数

%s

格式化字符串

注意,由于%表示占位符,因此,连续两个%%表示一个%字符本身。

占位符本身还可以有更详细的格式化参数。下面的例子把一个整数格式化成十六进制,并用0补足8位:

一文读懂Java输入输出:编程新手必看_System_05

详细的格式化参数请参考JDK文档java.util.Formatter

输入

和输出相比,Java的输入就要复杂得多。

我们先看一个从控制台读取一个字符串和一个整数的例子:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 创建Scanner对象
        System.out.print("Input your name: "); // 打印提示
        String name = scanner.nextLine(); // 读取一行输入并获取字符串
        System.out.print("Input your age: "); // 打印提示
        int age = scanner.nextInt(); // 读取一行输入并获取整数
        System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出
    }
}

首先,我们通过import语句导入java.util.Scannerimport是导入某个类的语句,必须放到Java源代码的开头,后面我们在Java的package中会详细讲解如何使用import

然后,创建Scanner对象并传入System.inSystem.out代表标准输出流,而System.in代表标准输入流。直接使用System.in读取用户输入虽然是可以的,但需要更复杂的代码,而通过Scanner就可以简化后续的代码。

有了Scanner对象后,要读取用户输入的字符串,使用scanner.nextLine(),要读取用户输入的整数,使用scanner.nextInt()Scanner会自动转换数据类型,因此不必手动转换。

要测试输入,我们不能在线运行它,因为输入必须从命令行读取,因此,需要走编译、执行的流程:

$ javac Main.java

这个程序编译时如果有警告,可以暂时忽略它,在后面学习IO的时候再详细解释。编译成功后,执行:

$ java Main
Input your name: Bob
Input your age: 12
Hi, Bob, you are 12

根据提示分别输入一个字符串和整数后,我们得到了格式化的输出。

标签:输出,Java,Scanner,必看,System,读懂,格式化,输入
From: https://blog.51cto.com/u_16228679/7557822

相关文章

  • java--内存与数据结构
    JVM内存划分 栈一种数据结构特点:先进后出(FILO)入栈:把元素放到栈里栈顶:栈中的第一个元素栈底:栈中的最后一个元素出栈:把元素从栈里移除   基本数据类型–值传递 引用类型–地址传递 堆数组在堆中存储 若堆中的内存空间没有被引用的时候,就会变成垃圾,等着......
  • Java基础语法(1)
    Java基础语法JAVA--黑马程序员笔记一、Java入门1、JAVA是一种很火的计算机语言。2、JAVA代码编写分三步:编写程序源码,即编写一个java文件编译:翻译文件,javac是JDK提供的编译工具,对java文件编译后会产生一个class文件,class文件即交给计算机执行的文件。Eg:javachell......
  • JAVA基础学习——面型对象进阶
    1static2继承   1static1.1内存图静态对象是随着类加载,非静态对象随着对象来的: 引用类型初始化时null值。 1.2static静态变量、静态方法 1.3总结  ①静态方法中没有this,非静态方法中有静态的一般用于共享,不面向某一个对象,所以没有this;而非......
  • 如何生成javaDoc文档
    命令行方法打开IDEA的showinexplore,在文件夹路径前输入cmd打开命令窗口输入javadoc-encodingUTF-8-charsetUTF-8文档名.java成功后就可以在该文件夹下看到生成的javaDoc文档注:打开IDEAshowinexplore的方法-encodingUTF-8-charsetUTF-8是为了防止中......
  • 4.6 Java成员方法的声明和调用
    声明成员方法可以定义类的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型,其结构如图1所示。 图1 方法组成元......
  • 4.7 Java this关键字详解(3种用法)
    this关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。下面我们根据示例分别讲解this关键字的作用。this.属性名大部分时候,普通方法访问其他方法、成员变量时无须使用this前缀,但如果方法里......
  • java8 新特性之日期时间处理 LocatDate、LocalTime、LocalDateTime、ZonedDateTime、D
    一、LocalDate、LocalTime、LocalDateTime和常用API1、LocalDatepublicvoidtest01(){//1.创建指定的日期LocalDatedate1=LocalDate.of(2021,05,06);System.out.println("date1="+date1);//2.得到当前的日期LocalDate......
  • java基础-IO流-day13
    目录1.IO的概念IO流的分类2.一个一个字符完成文件的复制3.非文本读取与复制1.IO的概念计算机内存中的数据<-->硬盘里面的数据也就是数据的落盘以及数据的读取文件的操作packagecom.msb.io01;importjava.io.File;importjava.io.IOException;/***@Auther......
  • Java中print和println的区别
    Java中print()和println()的区别区别是print()输出完毕之后不换行,而println()输出完毕后会换行,所以println()在不输出任何东西的时候,就只输出一个换行符。示例如下:System.out.println("a");System.out.print("b");System.out.print("c");控制台输出结果:abc......
  • 无涯教程-JavaScript - F.INV函数
    描述F.INV函数返回F概率分布的倒数。如果p=F.DIST(x...),则F.INV(p...)=x。F分布可用于比较两个数据集变异程度的F检验。语法F.INV(probability,deg_freedom1,deg_freedom2)争论Argument描述Required/OptionalProbabilityAprobabilityassociatedwiththeF......