黑马程序员技术交流社区

标题: 新手求助大神,求科普~~~ [打印本页]

作者: breaveheart    时间: 2013-7-16 09:29
标题: 新手求助大神,求科普~~~
本帖最后由 杨兴庭 于 2013-7-17 21:14 编辑



这是两个不同的运行结果,
上面运行结果主代码:
       public static void main(String[] args)
       {
               int x,y;
               for(x=1;x<=9;x++)
               {
                       for(y=1;y<=x;y++)
                        {
                                 System.out.print(y+"*"+x+"="+x*y+"\r");
                        }
                System.out.println();
                }
        }


下面运行结果主代码:
       public static void main(String[] args)
       {
               int x,y;
               for(x=1;x<=9;x++)
               {
                       for(y=1;y<=x;y++)
                        {
                                 System.out.print(y+"*"+x+"="+x*y+"\t");
                        }
                System.out.println();
                }
        }


差别在于红笔标记的地方,求科普~~~~

作者: 草貌路飞    时间: 2013-7-16 10:19
\r会返回到行首,然后就覆盖了...所以每行都只留着最后一个
作者: chilong_333    时间: 2013-7-16 10:49
\t是空出一个tab的距离,一般用在代码之间拉开间距用的
\r是换行符。如果用\t的话就全在一行中了。
作者: pinklong    时间: 2013-7-16 10:55
不知道是不是正解?
作者: 张yy    时间: 2013-7-16 11:21
首先,在Windows系统里面,每行结尾分为“<换行>和<回车>”,即“\n和\r”
\r 就是return 回到本行的行首 这就会把这一行以前的输出覆盖掉
而\n则是转换到下一行输出的意思
“\t”则是制表符的意思,相当于TAB的功能
例如:
class T
{
        public static void main(String[] args)
        {
                System.out.println("1"+"\r"+"2");


                System.out.println("\n");


                System.out.println("1"+"\n"+"2");


                System.out.println("\n");


                System.out.println("1"+"\t"+"2");
        }
}

运行结果为:


然后再来看你的乘法表,如果把第一个的System.out.print(y+"*"+x+"="+x*y+"\r");中的"\r"改成"\n"的话,那么就能把所有的计算结果打印出来
结果为:

而System.out.print(y+"*"+x+"="+x*y+"\t");中的"\t"就能将之制作为表格样式的乘法表

作者: 清心玉质    时间: 2013-7-17 13:44
\r 回车(CR) ,将当前位置移到本行开头,比如x=2时,当内循环执行到最后一个运算——即2*2时,将最后一个运算移到行首,不显示之前的运算结果。
\t 水平制表(HT) ,就相当于按一下table键,使内容之间保持一定距离。
作者: breaveheart    时间: 2013-7-18 06:49
张yy 发表于 2013-7-16 11:21
首先,在Windows系统里面,每行结尾分为“和”,即“\n和\r”
\r 就是return 回到本行的行首 这就会把这一 ...

十分详细,我懂啦,谢谢:)
作者: breaveheart    时间: 2013-7-18 06:50
清心玉质 发表于 2013-7-17 13:44
\r 回车(CR) ,将当前位置移到本行开头,比如x=2时,当内循环执行到最后一个运算——即2*2时,将最后一个运 ...

谢谢啦,了解了:handshake
作者: breaveheart    时间: 2013-7-18 06:51
感谢楼上各位的详细描述,就不一一回复啦!~~{:soso_e179:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2