Java之输入和输出
输出
在前面的代码中,我们总是用System.out.println()来向屏幕输出一些内容:
println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print()
1 2 3 4 5 6 7 8 9 | public class Main { public static void main(String[] args) { System.out.print( "A," ); System.out.print( "B," ); System.out.print( "C." ); System.out.println(); System.out.println( "END" ); } } |
输出
1 2 | A,B,C. END |
格式化输出
Java还提供了格式化输出的功能。为什么要格式化输出?因为计算机表示的数据不一定适合人来阅读:
1 2 3 4 5 6 | public class Main { public static void main(String[] args) { double d = 12900000 ; System.out.println(d); // 1.29E7 } } |
输出
1 | 1 .29E7 |
如果要把数据显示成我们期望的格式,就需要使用格式化输出的功能。格式化输出使用System.out.printf(),通过使用占位符%?,printf()可以把后面的参数格式化成指定格式:
1 2 3 4 5 6 7 | public class Main { public static void main(String[] args) { double d = 3.1415926 ; System.out.printf( "%.2f\n" , d); // 显示两位小数3.14 System.out.printf( "%.4f\n" , d); // 显示4位小数3.1416 } } |
输出
1 2 | 3.14 3.1416 |
%.2f代表输出小数点后面两位\n表示输出换行,后面的d是需要格式化的变量
如果运行报错
1 2 3 4 5 | Exception in thread "main" java.lang.Error: Unresolved compilation problems: The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double ) The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double ) at Main.main(Main.java: 4 ) |
Eclipse中 JAVA默认的兼容版本为1.4, 改为1.5及以上版本就行。 项目 》属性》Java complier》complier compliance lever:1.5
Java的格式化功能提供了多种占位符,可以把各种数据类型格式化成指定字符串:
占位符 | 说明 |
---|---|
%d | 格式化输出整数 |
%x | 格式化输出十六进制整数 |
%f | 格式化输出浮点数 |
%e | 格式化输出科学计数法表示的浮点数 |
%s | 格式化字符串 |
注意,由于%表示占位符,因此,连续两个%%表示一个%字符本身。
占位符本身还可以有更详细的格式化参数。下面的例子把一个整数格式化成十六进制,并用0补足8位:
1 2 3 4 5 6 | public class Main { public static void main(String[] args) { int n = 12345000 ; System.out.printf( "n=%d, hex=%08x" , n, n); // 注意,两个%占位符必须传入两个数 } } |
输出
1 | n= 12345000 , hex=00bc5ea8 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!