gpt4 book ai didi

java - 使用用户定义的方法在java中将行打印到控制台

转载 作者:行者123 更新时间:2023-12-01 16:41:43 24 4
gpt4 key购买 nike

我有这样的简单程序

class println 
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}

但是我不想使用System.out.println来打印..我想使用我自己的用户定义的方法来打印数据。

最佳答案

请记住,Java 代码在 JVM 中运行,而 JVM 仅以几种指定的方式与外界通信。因此,如果您想打印到控制台,则需要调用一个方法,该方法以某种方式(在 JNI 等之后)映射到实际操作系统上的 IO 操作。除非您计划构建新的操作系统级 IO 操作(在这种情况下您无论如何都无法用 Java 编写它),否则最好的选择是使用已经知道如何与外界通信的现有类。

碰巧的是,java.io.PrintStream类知道如何写入操作系统级别的文件流,并且操作系统为控制台提供文件流( stdout )。 (从技术上讲, PrintStream 只知道如何写入 OutputStream ,而 OutputStream 知道如何写入操作系统级别的文件流,但我不想陷入细节。)Java 提供了一个实例的PrintStream已经附加到您的进程的标准输出流;那PrintStream对象可以被引用为 out java.lang.System的属性(property)目的。鉴于PrintStream有类似 println() 的方法,你可以写:

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

因为你总是得到java.lang.*默认导入,您可以将其缩短为:

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

或者,您可以分配 PrintStream局部变量的实例:

import java.io.PrintStream;

public class HelloWorld {
public static void main(String[] args) {
PrintStream p = System.out;
p.println("Hello, world!");
}
}

你的“用户定义的打印方法”做了什么println()方法PrintStream对象没有?如果您对格式化输出感兴趣,那么您需要将其格式化为 String 调用 println() 之前方法。为了方便起见,您可以将格式化和实际打印封装在单个帮助器方法中。这是您真正想要的吗?

关于java - 使用用户定义的方法在java中将行打印到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1439489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com