java中输出语句Println为什么可以不换行输出?

class ArrayDemo {
public static void main (String[] args) {
int[] arr = {11,22,33,44,55};
System.out.print("[");
for(int x=0; x<arr.length; x++) {
if(x == arr.length-1) {
System.out.println(arr[x]+"]"); //这里在打印台上为什么没有换行?
}else {
System.out.print(arr[x]+", ");
}
}
}
}
这个遍历数组arr里面的元素, 打印结果是[11,22,33,,44,55] ,我知道前面四个元素都是打印在同一行的 [11,22,33,44 ,为什么最后一个元素使用了换行打印println 而 55]怎么还是和前面几个元素显示在同一行,求解,谢谢

应该修改为:x == arr.length - 2

public class ArrayDemo {
    
    public static void main(String[] args) {
        
        int[] arr = { 11, 22, 33, 44, 55 };
        System.out.print("[");
        for (int x = 0; x < arr.length; x++) {
        
            if (x == arr.length - 2) {
                System.out.println(arr[x] + "]"); 
            } else {
                System.out.print(arr[x] + " ");
            }
        }
    }
}

当x==0时:执行else中的语句,结果是:[11
当x==1时:执行else中的语句,结果是:[11  22
当x==2时:执行else中的语句,结果是:[11  22  33
当x==3时:执行 if 中的语句,结果是:[11  22  33  44]  此处执行完就会换行
当x==4时:执行else中的语句,结果是:[11  22  33  44]
                                    55
                                                      
结束。

效果:


温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-27

println() 是指定打印完后换行

换行一般都是用的"\r\n"

println("abc"); 的效果是 “abc\r\n”

System.out.print("你"); //
System.out.print("好");
System.out.println("吗"); // 输出 "吗"之后回车换行,但是如果后面不在输出打印字符串,你看不出区别
System.out.print("我");
System.out.print("很好");

这段的执行结果是这样的:

你好吗

我很好

"吗"字后面回车换行,如果后两面不输出“我很好”,你就看不出区别,就像你打印的数组那样

本回答被提问者采纳
相似回答