Java编译错误,用记事本写的,用的是cmd运算符运行的

代码完全正确,为什么会出错?
代码如下:
public class test13{
public static void main(String[] args){
int x=5,y;//声明用于自增自减的整型变量

    System.out.println("--------对整数的自增和自减--------");

    y=x++;
    System.out.printf("y=x++的结果为:%d,%d \n",x,y);
    y=x--;
    System.out.printf("y=x--的结果为:%d,%d \n",x,y);
    y=++x;
    System.out.printf("y=++x的结果为:%d,%d \n",x,y);
    y=--y;
    System.out.println("y=--x的结果为:%d,%d \n",x,y);

}

}
错误显示为:
test13.java:14: 错误: 对于println(String,int,int), 找不到合适的方法
System.out.println("y=--x的结果为:%d,%d \n",x,y);
^
方法 PrintStream.println()不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(boolean)不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(char)不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(int)不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(long)不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(float)不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(double)不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(char[])不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(String)不适用
(实际参数列表和形式参数列表长度不同)
方法 PrintStream.println(Object)不适用
(实际参数列表和形式参数列表长度不同)
1 个错误
图片为:

img

img

java 的打印没有这个类型的,你要打印的是String类型的
需要这么写

System.out.println(String.format("y=--x的结果是:%d,%d\n",x,y));

你应该是刚学完c语言,开始学习java了吧,这两个语言有类似的地方,但也有很多地方不同,你上面的报错都提示你正确的写法了,printf-->println
java的控制台输出语句是System.out.println();或者System.out.print();
println与print的区别在于println可以自动换行,print不会自动换行

java的三个阶段:java基础篇,javaEE操作数据库篇(jdbc-servlet),javaweb框架篇
路还比较长,慢慢来吧~~~~~

看起来是最后一行的printf写成了println,改一下就好了。
==== 补充 ====
我服了,其他人是真不知道PrintStream的printf还是开玩笑?(仅针对认为printf输出不合理的说法,那种说法显然是错误的)
System.out是PrintStream类型,PrintStream官方文档:
https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html
System.out.printf当然是合理的用法。题主第14行,确实是把printf错写成println了,改了这个就能用,前面人家printf不也没报错么。既然提供了printf,凭啥非得告诉人家就得用println?
==== 分割线 ====
我查找到的所有资料均显示printf和println高度重合,从来没有说一个正确一个错误的说法,更没有比较优劣的说法。我个人认为,“java就一定应该用println”是一种非常没有道理的定势思维。我找到的资料中,没有任何证据能表明println比printf更合适,无论是功能还是性能上。(事实上,StackOverflow有些用户建议使用printf来保证比较长的格式串的可读性。)
参考资料:

目前我所得到的资料给出的结论是:printf和println在绝大多数情况下可以替换,但有些情形需要具体情况具体分析。不过这对于这个问题本身是题外话了。
如果对性能有要求的话……我进行了测试。StackOverflow有人测试了,简单连接的话printf比println慢近一个数量级。我个人测试了浮点数的做法(平台为CentOS 8.2),具体做法是,对i从十万循环到0,测试性能。
做法1:printf
耗时:7.2 8.4 8.2 6.6 6.5 7.5
做法2:DecimalFormat(单次new,不是网上样例代码那种一个循环一个new)
耗时:6.0 7.1 6.7 6.4 6.1 6.5
做法3:String.format
耗时:7.3 6.5 5.9 5.5 5.2 5.5
单位均为秒。
结论:对简单格式化而言,printf的格式化操作比较慢。
因此针对这个程序本身,我们可以猜想:printf的性能可能不如println。当然,这不是像某些人所说的那样认为printf不能用。(但我有一个猜想,printf在我的测试中是因为反复解析格式串导致的,而String.format可能因为不涉及IO缓存操作而比printf的合并操作更高效。单次操作中printf会不会没有这么大的性能开支呢?另一个猜想:格式化过程够复杂时,如果需要被格式化的值涉及多线程求值,printf也许做了额外的保障原子性的工作。)

提前换idea吧,用个好点的编译器这种问题直接就提示报错了,
看起来像是个从C转过来的小伙子,
System.out 是定义在System中的一个PrintStram类型的常量
public final static PrintStream out = null;
但是为什么用System.out.println()不会空指针我也不知道
这个对象一共有个十个重载的println()方法

     * @see     java.io.PrintStream#println()
     * @see     java.io.PrintStream#println(boolean)
     * @see     java.io.PrintStream#println(char)
     * @see     java.io.PrintStream#println(char[])
     * @see     java.io.PrintStream#println(double)
     * @see     java.io.PrintStream#println(float)
     * @see     java.io.PrintStream#println(int)
     * @see     java.io.PrintStream#println(long)
     * @see     java.io.PrintStream#println(java.lang.Object)
     * @see     java.io.PrintStream#println(java.lang.String)
     */
    public final static PrintStream out = null;

=============更新=======================
https://blog.csdn.net/ljh_learn_from_base/article/details/77612936
为什么System.out.println() 不会空指针

    System.out.println("--------对整数的自增和自减--------");
 
    y=x++;
    System.out.println("y=x++的结果为:"+ x +","+y);
    y=x--;
    System.out.println("y=x--的结果为:"+ x +","+y);
    y=++x;
    System.out.println("y=++x的结果为:"+ x +","+y);
    y=--y;
    System.out.println("y=--x的结果为:"+ x +","+y);

System.out.printf("y=x++的结果为:%d,%d \n",x,y);
改成
System.out.println("y=x++的结果为:"+y);
java不需要占位符,println有换行的效果。