以与给定java程序相反的顺序获取输出

以与给定java程序相反的顺序获取输出,java,system.out,Java,System.out,我在NetBeans IDE上运行了以下java代码。我第一次得到的输出是 aaaaaa aaaa ! ! aaaaaa aaaa 当我第二次运行相同的代码时,我得到的输出是 aaaaaa aaaa ! ! aaaaaa aaaa 按相反的顺序…为什么??对于同一段代码 public class check { public String toString(){ String hello="aaaaaa aaaa"; return

我在NetBeans IDE上运行了以下java代码。我第一次得到的输出是

aaaaaa aaaa
!
!
aaaaaa aaaa
当我第二次运行相同的代码时,我得到的输出是

aaaaaa aaaa
!
!
aaaaaa aaaa
按相反的顺序…为什么??对于同一段代码

public class check { 
    public String toString(){
        String hello="aaaaaa aaaa";       
        return hello;
    }
    public static void main(String[] args) {
        check obj=new check();
         char[] abc=new char[5];
        System.err.println(obj);
        String hello="heaa^qwertyui";
        hello.getChars(2, 3, abc, 0);
        System.out.println(abc);
    }
}

打印到
System.err
System.out
。这些是碰巧打印到控制台的不同流。无法预测它们的刷新顺序及其输出的显示顺序。

可以同时打印到
System.err
System.out
。这些是碰巧打印到控制台的不同流。无法预测它们的刷新顺序及其输出的显示顺序。

System.err.println
更改为
System.out.println

public class check { 
    public String toString(){
        String hello="aaaaaa aaaa";       
        return hello;
    }
    public static void main(String[] args) {
        check obj=new check();
         char[] abc=new char[5];
        System.out.println(obj);
        String hello="heaa^qwertyui";
        hello.getChars(2, 3, abc, 0);
        System.out.println(abc);
    }
}

System.err.println
更改为
System.out.println

public class check { 
    public String toString(){
        String hello="aaaaaa aaaa";       
        return hello;
    }
    public static void main(String[] args) {
        check obj=new check();
         char[] abc=new char[5];
        System.out.println(obj);
        String hello="heaa^qwertyui";
        hello.getChars(2, 3, abc, 0);
        System.out.println(abc);
    }
}

主函数中的字符串是“he!#$%^^qwertyui”而不是“heaa^qwertyui”主函数中的字符串是“he!#$%^^qwertyui”而不是“heaa^qwertyui”
println
具有隐式
flush
println
具有隐式
flush