您的位置:

Java输出语句详解

Java 是一种面向对象的编程语言,输出语句是 Java 程序员完成调试的一种重要方式。使用输出语句可以打印出程序执行过程中重要的变量和信息,来判断程序的正确性以及调试程序。下面我们将对 Java 输出语句进行详细的阐述。

一、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 结束程序几个方面进行了讲解。