一、System.out.println 和 System.out.print 的区别
1、System.out.println 方法在输出完信息后会自动换行,而 System.out.print 不会。
2、System.out.println 方法的参数可以是变量、表达式和常量,System.out.print 方法同理。
3、System.out.println 方法可以不传入参数,执行时只输出一个换行;而 System.out.print 方法必须传入参数。
// 例子1:System.out.println换行 System.out.println("Hello World!"); System.out.println("Java!"); // 输出结果: // Hello World! // Java! // 例子2:System.out.print不换行 System.out.print("Photo "); System.out.print("me "); System.out.print("if "); System.out.print("you "); System.out.print("can!\n"); // 输出结果:Photo me if you can!
二、格式化输出语句
Java 支持格式化输出,使用格式化输出可以控制输出的方式,比如指定位数的小数或整数、字符串格式等。
Java 使用 System.out.printf 方法进行格式化输出。该方法的第一个参数是一个字符串,字符串中用"%"+特定字母表示需要格式化的内容,后面跟参数列表,如"%f"表示格式化浮点数、"%s"表示格式化字符串。
// 例子:格式化输出 double d = 1234.56789; int i = 123; System.out.printf("浮点数:%f\n", d); System.out.printf("保留两位小数的浮点数:%.2f\n", d); System.out.printf("带符号整数:%+d\n", i); System.out.printf("字符串:%s\n", "Java"); // 输出结果: // 浮点数:1234.567890 // 保留两位小数的浮点数:1234.57 // 带符号整数:+123 // 字符串:Java
三、System.err.println 数组越界异常
Java 运行程序时,如果出现错误,可以使用 System.err.println 在输出窗口显示错误信息。
如果代码中包含数组,有可能会出现数组越界异常错误。使用 try-catch 语句可以捕获该异常。
// 例子:使用 try-catch 捕获数组越界异常 int[] arr = {1, 2, 3}; try { System.out.println(arr[3]); } catch (ArrayIndexOutOfBoundsException e) { System.err.println("数组越界错误:" + e.getMessage()); } // 输出结果:数组越界错误:3
四、使用日志进行输出
Java 中可以使用日志系统进行输出,从而让程序的输出更加强大和优雅。
Java 默认提供了一个简单的日志框架 java.util.logging,代码中可以直接使用 LogManager 和 Logger 两个类输出日志信息。
// 例子:使用 java.util.logging 输出日志 import java.util.logging.*; public class LogTest { private static final Logger LOGGER = Logger.getLogger(LogTest.class.getName()); public static void main(String[] args) { LOGGER.setLevel(Level.INFO); LOGGER.info("开始执行 LogTest 程序"); int a = 0; try { int b = 2 / a; } catch (Exception e) { LOGGER.severe("程序错误,出现异常:" + e.getMessage()); } LOGGER.info("LogTest 程序执行完毕"); } } // 输出结果:8月 03, 2022 4:21:57 下午 LogTest main // 信息: 开始执行 LogTest 程序 // 8月 03, 2022 4:21:57 下午 LogTest main // 严重: 程序错误,出现异常:/ by zero // 8月 03, 2022 4:21:57 下午 LogTest main // 信息: LogTest 程序执行完毕
五、使用 System.exit 结束程序
Java 中如果需要在程序执行时结束程序,可以使用 System.exit(int status) 方法。status 值为 0 代表正常退出程序,其他数值代表异常退出程序。
// 例子:使用 System.exit 结束程序 for (int i = 0; i < 10; i++) { System.out.println(i); if (i == 5) { System.exit(0); } } // 输出结果:0 1 2 3 4 5
六、总结
Java 中的输出语句是程序员进行调试和测试的重要工具。本文对 Java 输出语句进行了详细阐述,分别从 System.out.println、格式化输出语句、System.err.println 数组越界异常、使用日志系统进行输出和使用 System.exit 结束程序几个方面进行了讲解。