java怎么完成输出语句

news2024/9/27 12:16:32

我们在前面的文章和案例中,其实早就知道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); // 注意,两个%占位符应该传入两个数字
	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不推荐别的了,IDEA 自带的数据库工具就很牛逼!

MySQL 等数据库客户端软件市面上非常多了,别的栈长就不介绍了, 其实 IntelliJ IDEA 自带的数据库工具就很牛逼,不信你继续往下看。 本文以 IntelliJ IDEA/ Mac 版本作为演示,其他版本的应该也差距不大! 1、打开数据库…

JPE驱动器维修印刷机驱动器维修JV4-380-1410

印刷机水辘/墨辘/墨斗辊电机马达驱动器维修、墨控电机驱动器维修、JPE驱动器维修。 三菱印刷机电路板维修范围:东洋变频器维修,油墨电机维修,水辊变频器维修,电眼控制板维修,接口板维修,电源维修等。 小森…

【结构型】外观模式(Facade)

目录外观模式(Facade)适用场景外观模式实例代码(Java)外观模式(Facade) 为子系统中的一组接口提供一个一致的界面,外观模式 (Facade) 定义了一个高层接口,这个接口使得这一子系统更加容易使用。 适用场景 要为一个复杂子系统提…

【C++】初级面试整理

C基础 四种类型转换 static_cast:用于良性转换,一般不会导致意外发生,风险很低。常用于基本类型转换到 void,转换父类指针到子类不安全; const_cast:一般用于去掉const属性以及volatile,但是…

如何进行深度数据恢复?分享详细的恢复方法

有时我们会发现保存已久的照片,因为某些误操作导致它们消失了。通过多种方法都没有办法找回,这时该怎么办?不妨尝试下深度数据恢复的方法。它可以帮助我们找到更深层次的数据! 一、恢复数据前的一些问题 很多人都会遇到数据丢失的…

windows环境下安装RocketMQ

文章目录前言一、下载二、环境变量配置三、启动RocketMq1.启动nameserver2.启动broker四、RocketMq控制台安装1.下载2.修改配置文件3.打包4.启动前言 环境要求:JDK1.8Maven 3.2x;64为操作系统 一、下载 官网下载地址:https://rocketmq.apache.org/zh/…

xxljob 的路由策略如何理解,他的选择逻辑是什么(小白阅读)

目录 1 需求2 路由策略2.1 第一个 FIRST2.2 最后一个 LAST2.3 ROUND 轮询2.4 RANDOM :随机2.5 CONSISTENT_HASH:一致性HASH2.6 LEAST_FREQUENTLY_USED:最不经常使用2.7 LEAST_RECENTLY_USED :最近最久未使用2.8 FAILOVER :故障转移2.9 BUSYOVER :忙碌转移1 需求 xxljob …

Ansible变量定义和使用

剧本中使用变量 在playbook中,可以直接定义变量,如下所示: vars:变量名变量值,也可以写在下一级将改成冒号空格值的形式 debug:debug模块,msg消息 引用变量:使用两对{{ }} vim juben.yml - hosts: allvars:bianliang…

extern关键字以及加了头文件引用的作用

0.前言 xdm,今天是阳了的第一天,昨天是高烧,浑身酸痛,今天好多了。。。祝大家健康。 推荐一首歌《不是因为寂寞才想你》。看了《阿凡达2》,感觉没第一部好看哎。 1.extern 之前写过一篇博客extern关键字。今天讲一下和…

fpga实操训练(ip ram和ip fifo)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 所有的fpga ip当中,用的最多的ip一般有pll、rom、ram和fifo。前面,我们讨论过了rom,rom相比较ram和fifo而言&am…

弹性盒子(flex)

一、什么是弹性盒子 弹性盒子是一种用于按行或按列布局元素的一维布局方法。元素可以膨胀以填充额外的空间,收缩以适应更小的空间。 二、flex 模型说明 主轴(main axis): 是沿着 flex 元素放置的方向延伸的轴(比如页…

【vue】关于vuex的一点补充

1.vuex的基本和下载 1.vuex是一种集中管理模式,举个详细一点的例子就是公共的数据,函数和计算属性,允许任何组件来使用,修改这里面的数据,vuex也可以成为store处理模式,其中一个store示例有state&#xff…

hadoop大数据入门HDFS、MapReduce、YARN的个人通俗理解

大数据时代,在数据量,计算量,计算时间上都是单机无法胜任的,通过简单的增强单机已经无法解决。普遍的解决方案为将多个单机组合起来进行存储和计算的分布式集群来处理。 Hadoop支持使用普通机器组成可拓展的分布式主从集群实现了对大数据的分布式存储(HD…

SpringCloud之Hystrix服务熔断

Hystrix服务熔断1. 服务雪崩2. Hystrix 的概念3. Hystrix 的作用4. 服务熔断4.1 概念4.2 服务熔断解决哪些问题?4.3 案例5. 服务降级5.1 概念5.2 案例6. 服务熔断和降级的区别7. Dashboard 流监控分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关…

At and Cron and Scheduling task

1.at 一次性任务 一次性使用,执行某条命令或者脚本,守护进程atd,默认安装以及开机启动。在输入完命令的时候,按CtrlD结束 now 5min 现在过后5分钟 teatime tomorrow 明天的下午茶时间-4点 noon 中午 5pm august 3 2016 2016年八月3号的下午5点…

linux平台下node cnpm的安装方法

linux node cnpm的安装方法:1、下载linux版的node,并放在“/home/node/”目录下 ;2、打开linux解压缩下gz;3、回到根目录,建立软连接;4、通过“npm install -g cnpm --registryhttps://registry.npm.taobao…

4、MYSQL常用函数(日期和时间函数)

目录 curdate():返回当前日期 curtime():返回当前时间 now():返回当前日期和时间 unix_timestamp(date):返回date的unix时间函数 fro…

再学C语言18:循环控制语句——while循环

3种基本的程序流:顺序、循环、分支 3种循环程序流:while、do while、for 伪代码(pseudocode):一种用简单的英语表示程序的方法,与计算机语言的形式相对应;伪代码有助于设计程序的逻辑 while循…

Python语言快速入门下2

目录 一、前言 二、字符串 【字符串】 【字符串格式化】 【字符串常用方法】 1)去掉空格和特殊字符 3)字符串的测试和替换函数 4)字符串的分割 5)连接字符串 6)截取字符串(切片) 7&a…

2022年「博客之星」,花落谁家? 大家来竞猜吧

一年一度的「博客之星」大赛如火如荼地进行着,大家都忙着评分、发帖、回帖.....今天发现我在分组的排名只有40多名,基本上算是放弃了。但是,看到本文的朋友,还是可以帮我拉拉票的!请点开链接给个五星评分: …