我们在前面的文章和案例中,其实早就知道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.88E7double d = 3.1415926;System.out.printf("%.2f\n", d); // 保留2位小数3.14System.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. java基础操作—输出语句,基本要求

    java新手必知 输出语句 class Student123{public static void main(String[] args){System.out.print();//不进行换行Syst ...

  2. Java程序入口+输出语句+数据类型

    一(Java程序入口):要想执行一个java程序,就必须有一个程序入口,且该入口为固定格式:public static void main(String[ ] args){}.注意:是main而不是m ...

  3. Java IDEA中输出语句变红报错分析

    目录 问题:输出语句System.out.println中的println突然标红报错了 报错原因:该语句没有写到public static void main(String[] args)中 may ...

  4. Java四种输出语句

    换行打印 System.out.println(); 不换行打印 System.out.print(); 按格式输出 System.out.printf(); 字节输出 System.out.writ ...

  5. java输出语句_java输入输出语句是什么

    在java中,输入语句为"Scanner对象.next()系列方法",例"Scanner对象.nextLine()"表示输入字符串:输出语句为"Sys ...

  6. java的格式输入语句是_java输入输出语句是什么

    对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法 输出流 java常用的输出语句有下面三种: S ...

  7. java 不换行输出_java的输入输出

    0x01:输出流 java常用的输出语句有下面三种: System.out.println();//换行打印,输出之后会自动换行 System.out.print();//不换行打印 System.o ...

  8. Java的常用输入输出语句

    一.概述 输入输出可以说是计算机的基本功能.作为一种语言体系,java中主要按照流(stream)的模式来实现.其中数据的流向是按照计算机的方向确定的,流入计算机的数据流叫做输入流(inputStre ...

  9. java web输出语句到控制台_Java工程师(6).循环结构

    搞清楚循环结构语句的执行效果与使用场景. 程序中的循环流程 程序中的循环流程 试着编写程序实现下列功能: 在控制台中输出100个Hello字符串. 在控制台中输出从 1 到 100 的数字. - - ...

最新文章

  1. Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集
  2. 桌面虚拟化(八):扔掉你的电脑!电视就够了!
  3. 我国人工智能专利申请量去年超3万件,广东领先
  4. Android在屏幕任意位置显示对话框
  5. MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction...
  6. DataTable转成List集合
  7. 拉力测试软件界面,电脑拉力机/电脑控制拉力试验机软件操作界面与功能
  8. FortiGate设备管理
  9. cesium 文本标注被遮挡_Cesium-知识点(Viewer)
  10. 我和计算机作文450字,我和朋友作文450字
  11. ENVI入门系列教程---一、数据预处理---2.1自定义坐标系
  12. 读取hdr图像_HDR和蓝光哪个更清晰?画质更好?
  13. 激光雷达(LiDAR)| 第一节:点云处理库与软件介绍
  14. mes系统服务器内存,mes系统做服务器还是客户端
  15. 开源的SNMP网管系统LibreNMS
  16. 团队任务:第二次冲刺-第三组梦之队
  17. 利用Bootstrap制作汉堡按钮(header部分)
  18. 怎么给电脑里面的文件加密?这个软件轻松帮忙搞定
  19. Apple Developer注册教程
  20. 用python画小王八裤(turtle库)

热门文章

  1. 写给Mac新手:用MacBook Pro办公的一些心得!
  2. 第十四届蓝桥杯C/C++b组冶炼金属(C语言版二分做法)
  3. C#上位机和松下PLC通讯
  4. 强力打造品位男人——不同场合的着装
  5. 决战泰达:渣打编程马拉松赛圆满落幕
  6. Unity3D教程之Light光源
  7. html换行(文本+符号)
  8. ARM基础教程 | ARM 和 x86 的区别
  9. Web完整渗透测试实例
  10. 解决惠普打印机HP LAserjetpro 200 color M215n驱动软件安装时间过长报错问题处理