為什么String在Scanner中可以輸入數(shù)字
在一個(gè)“?Scanner input=new Scanner(System.in);”中,我定義了一個(gè)變量是String類型的,在運(yùn)行時(shí),不小心輸入了數(shù)字,結(jié)果仍然運(yùn)行了,并沒有報(bào)錯(cuò)。后來我單獨(dú)又創(chuàng)建了另一個(gè)項(xiàng)目驗(yàn)證了一下,String直接定義變量時(shí),賦值為數(shù)字會報(bào)錯(cuò),但如果像我上面說的用Scanner在運(yùn)行中輸入數(shù)字的話,計(jì)算機(jī)就不會報(bào)錯(cuò),仍然運(yùn)行接下來的編碼。
這是什么原因呢?
2015-10-17
Scanner類是一個(gè)掃描器,他會將你輸入的數(shù)據(jù)掃描到流中,如果你定義的是String類型,那么他會默認(rèn)你接下來輸入的是字符串類型的數(shù)據(jù), ?如果你輸入的是123,那么掃描器會將數(shù)值掃描進(jìn)流中變成"123",不會有任何編譯問題