public A() {
// 錯誤:將格式化字符串與普通字符串拼接
System.out.printf("%d\n" + "無參函數調用了");
}
printf(String format, Object... args) 的第一個參數是格式化字符串,包含佔位符(如 %d)。"%d\n" + "無參函數調用了" 拼接後變為 "%d\n無參函數調用了",仍含 %d 佔位符,但調用時未傳入對應的 int 參數,導致 IllegalFormatConversionException 或 MissingFormatArgumentException。
System.out.println("無參函數調用了");
System.out.printf("數值:%d,提示:無參函數調用了%n", 42);
System.out.print("%d\n" + "無參函數調用了"); // 輸出字面文本 %d\n無參函數調用了
printf = print + format,首參數必須是格式字符串,佔位符數量與後續參數嚴格對應。+ 配合 print/println 或 String.format。printf,格式字符串在編譯期不檢查,運行期才拋異常。