java如何完成输出语句实例详解
作者:千锋IT教育
前言
我们在前面的文章和案例中,其实早就知道Java是如何实现输出功能的了。没错,就是利用System.out.println()语句来实现的!接下来壹哥就给大家详细解读一下这个语句的作用及其含义。
1. System
我们先来看看System是个什么东东。
System是Java自带的一个类,它代表着系统类。该类位于java.lang包中,很多有用的系统级别的属性、控制方法都在该类里面。
System类的构造方法是private(私有)修饰的,所以我们无法直接创建该类的对象,即无法实例化该类。关于这些对象的实例化,壹哥在后面讲解面向对象时会再详细讲解,大家先不要着急哦。System内部的成员变量和成员方法都是static的,我们可以很方便的直接进行调用。在System类里面,给我们提供了如下几个核心功能:
●标准输入输出:如out、in、err;
●外部定义的属性和环境变量的访问:如getenv()、setenv()、getProperties()和setProperties();
●加载文件和类库的方法:如load()和loadLibrary();
●快速拷贝数组的方法:arraycopy();
●jvm操作:如gc()、runFinalization()、exit();
●获取时间方法:如System.nanoTime 和 System.currentTimeMillis。
2. out与err
out表示一种“标准”的输出流,它是System类中的静态成员,可以直接被我们调用,且这个成员变量是java.io.PrintStream类的引用。
另外还有一个与out功能类似的输出流err。err表示“标准”的错误输出流,此流可以打开并准备接受输出的数据。一般err流用于显示错误消息,或者用于显示需要引起用户特别注意的信息,在控制台中会显示红色的文字。
其实out和err的用法完全一样,功能也基本相同。out和err的唯一区别就是,out往往是带缓存功能的,而err没有缓存功能(默认设置,可以更改)。
3. 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(); 的形式来调用。
以上这段话,如果你看着有点懵逼,请不用纠结。这属于面向对象的知识,我们暂时还没学到,在后面面向对象的章节中,壹哥会详细讲解!
4. 基本案例
以下是关于标准输出的代码案例,大家对着练习一下即可,很简单的哦。
public class Demo01 { public static void main(String[] args) { //输出语句 //不换行输出 System.out.print("Hello"); System.out.print(" World"); //换行输出 System.out.println("你好"); System.out.println("一一哥"); //标准的错误输出,控制台会用红色文字显示 System.err.append("标准的错误输出,哈哈哈"); } }
运行效果如下图所示:
5. 格式化输出
5.1 概念
有时候,计算机默认输出的数据格式,并不一定能够满足我们的阅读需求,比如有的人想要保留小数点后两位,也有的人想要保留小数点后四位,大家的需求是个性化的,那么Java能不能针对特殊的需求,进行一些个性化的输出呢?这是可以实现的!这就需要用到格式化输出了!
利用格式化输出功能,可以把数据显示成我们期望的格式。我们可以使用System.out.printf()语句,并结合%与?这两个占位符来实现,printf()方法可以把后面的参数格式化成指定的格式。
5.2 占位符
Java为了实现格式化功能,给我们提供了多种占位符,可以把各种数据类型“格式化”成指定的字符串。常用的占位符有如下这些:
这里我们要注意,在输出语句中,%表示占位符。如果连续使用两个%%,应该传入两个对应的数字,否则会把后面的%字符给原文输出。
如果我们想了解更详细的格式化参数,可以参考JDK文档:java.util.Formatter
5.3 案例
下面是壹哥设计的与本小节对应的代码案例,大家可以对照练习。
public class Demo01 { public static void main(String[] args) { //格式化输出 //默认输出格式 //double d = 88800000; //System.out.println(d); // 8.88E7 double d = 3.1415926; System.out.printf("%.2f\n", d); // 保留2位小数3.14 System.out.printf("%.4f\n", d); // 保留4位小数3.1416 //占位符与格式化 int n = 123456789; //%08x,输出16进制数据,如果不足8位,用0补齐 System.out.printf("n=%d, hex=%08x", n, n); // 注意,两个%占位符应该传入两个数字 } }
附:JAVA 换行输出的五种方法
1.在输出后面加\n
System.out.print("王先生\n");
2.+"\n"
System.out.print("王先生"+"\n");
3.格式化输出类型后面加\n
System.out.print(“&s\n”+"王先生");
4.格式化输出类型%n
System.out.print("%s%n","王先生");
5.println()相当于print(\n\n)即另起一行输出对应的参数
总结
到此这篇关于java如何完成输出语句的文章就介绍到这了,更多相关java完成输出语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!