n是换行符,这不是java的规定,而是在更广泛的计算机领域中的意思。
1、n不能不提r (回车)。 以下详细说明。
计算机出现之前,有一种叫电传打字机(Teletype Model 33 ),每秒能打10个字。 但是,在结束一行换行时,如果用于走0.2秒,就正好能打出两个字。 如果在这0.2秒钟内又有新字符到达,该字符将会丢失。
因此,研发人员思考了解决这个问题的方法。 就是在每行后面添加两个表示结束的字符。 告诉打字机打印头位于左边界的另一个“回车”称为“换行”,它告诉打字机将纸下移一行。
这就是“换行”和“回车”的由来,从它们的英文名也可以看出。
后来,计算机被发明了,这两个概念也变得像计算机了。 当时,内存很贵,一些科学家认为在每一行末尾添加两个字符是徒劳的。 添加一个字就可以了。 于是,产生了意见的分歧。
在Unix系统中,每一行的末尾都只有“换行符”,n。
在Windows系统上,每行末尾都有一个“回车”,即“nr”。
在Mac系统中,每行的结尾是“回车”。 一个直接结果是,在Windows中打开Unix/Mac系统下的文件时,所有字符都变成一行。 另一方面,在Unix/Mac上打开Windows文件时,每行末尾可能会增加一个^M符号。
r回车是将光标向前移动一行
n将移动到下一行
2、范例
system.out.print(「n”;
上面的代码表示在控制台中更改一行
以上内容引自https://zhidao.Baidu.com/question/399628743.html
注意:在Java中nextInt()方法接收一个整型字符,不会读取n,nextline()读入一行文本,会读入”n”字符,但”n”并不会成为返回的字符
示例1 :
import java.util.Scanner;/* * * createdbyadministratoron 2017/8/31.* /公共类主{ publicstaticvoidmain (string [ ] args ) scannersc=nen int k=sc.nextInt (; 系统. out.println (s; system.out.println(k; }}看看上面代码的执行结果
我输入abc的时候,程序扔错了:
进行第一次输入时:
s=’ABCDnr’
k=’5r’
此时,控制台输入前5的行中没有读取另一个“ n”
当我第二次输入时:
s=’ n’
k=’ABC’
此时的s自动读取的上次未读的“ n”,在我们重新输入数字时会给k赋值,但我输入的是abc,所以会投错。
当然,实际运行程序时,“‘nr”以上只是模拟,所以很容易理解。 实际读取情况如下
进行第一次输入时:
s=’ABCD’
k=’5’
此时,控制台输入前5的行中没有读取另一个“ n”
当我第二次输入时:
s="
k=’ABC’
例2 )我把上面例子剩下的“ n”给“吃”的时候,不会出差错
import java.util.Scanner;/* * * createdbyadministratoron 2017/8/31.*/public class main { publicstaticvoidmain (string [ ] args ) scannersc=ner int k=sc.nextInt (; String ss=sc.nextLine (; 系统. out.println (s; system.out.println(k; }}看看上面代码的执行结果:
程序正常输入
进行第一次输入时:
s=’ABCDnr’
k=’5r’
ss=’ n’
此时,控制台输入前5的行中没有读取另一个“ n”
当我第二次输入时:
s=’ABCnr’
k=”5r
ss=’ n’
.
此时程序正在正常运行
例3 )在控制台上进行输入和输出时,容易抛出Java.lang.numberformatexception : for input string :“”错误
import java.util.Scanner;/* * * createdbyadministratoron 2017/8/31.* /公共类主{ publicstaticvoidmain (string [ ] args ) scannersc=nen String s=sc.nextLine (; int k1=sc.nextInt (; system.out.println(k; 系统. out.println (s; system.out.println(k1; }}看看上面代码的执行结果:
我输入第二次5的时候,程序投错了
这是因为sc.nextLine ) )在读第一次k1未读的“ n”时,实际上是“”,“”是无法转换为整数的包装类型,因此出现了错误。
只要在代码末尾添加sc.r=nextline ()并吃掉“ n”,程序就会正常运行。