上次咱們計算數學表達式的時候,是先給變量賦值,而後進行計算,最後把結果顯示出來。咱們的變量值,是在程序中一開始就已經設定好的。那麼若是咱們不想一 開始就設定好,而是在程序運行的時候本身輸入變量值呢?這就須要基本輸入輸出了。本次咱們就說一下最簡單最經常使用的輸入輸出方法:Scanner, print.java
首先,Scanner,Scanner是什麼意思呢?字面理解,掃描儀,掃描器。是的,它就是這個意思,可是它不掃描別的,它掃描用戶的輸入,其實準確的 說,它監視用戶的輸入而且獲得輸入的內容,Scanner是一個java的內建類,爲了使用Scanner,咱們須要在程序開始手動導入Scanner的 包,這樣:import java.util.Scanner; 而後咱們須要創建一個Scanner類的實例,爲此咱們須要使用new關鍵字。目前爲止,咱們暫且如此定義一個Scanner實例:數組
Scanner thename = new Scanner(System.in);blog
這裏有兩個地方是能夠改動的,一個是thename, 這是你的命名,你能夠命名成keyboard,命名成input,只要不是關鍵字,而且符合命名規則,均可以(但儘可能使用有意義的名字,最好不要使用 jianbo,由於我不是一個掃描儀)。還有一個就是System.in,這是參數,在此表示輸入設備,大多數時候,也就是鍵盤了。你能夠改爲別的,可是 如今,仍是別動的比較好。教程
而後咱們怎麼使用它呢?好比咱們這麼定義一個Scanner:Scanner keyboard = new Scanner(System.in);而後呢?而後咱們就能夠這樣獲得一個int型的數據了:keyboard.nextInt(),通常,咱們應該把 它賦值給一個變量,好比:int n = keyboard.nextInt();這樣,java在運行到這裏時,會中止,光標閃動,等待你的插入,我是說,等待你的輸入,等你輸入之後,纔會獲得 n的值,而後繼續運行程序。keyboard.nextDouble() 會獲得一個雙精度類型的數據,keyboard.nextLine() 會獲得一個字符串(即便你輸入數字,也會被當作字符串)。字符串
好了,接下來再說說print,這是用來在終端(顯示器)上顯示信息的命令。在前文咱們的例子中已有使用,它的使用方法 是:System.out.print("你要顯示的內容"); 其中,System存在於java的lang包裏,而out是lang包的子包,print則是out包裏面的方法。若是你聽不懂的話,暫且如此記住就 好。out包裏有不少方法,不僅是print一個,就單單說顯示信息的方法,經常使用的就有三個:print,println,printf。這三個有什麼異 同呢?input
他們三個的共同之處在於,他們的主要功能都是顯示信息。而他們的用法也有些相近。那麼他們之間的區別呢?讓咱們來分別介紹一下他們吧。數學
print方法:這是最基本的輸出方法,表示輸出信息,停留在本行,不換行。string
println方法:這個方法與print相似,惟一不一樣的是,輸出後,換行。import
printf方法:這個方法比較不一樣,這是格式化輸出,其用法爲printf(字符串格式,變量值),如何作呢?好比這樣:變量
System.out.printf("an integer %d, a double number %f, a string %s, a boolean value %b!", 4, 5.6, "Hello baby", true);
這個的運行結果就是顯示這麼一條信息:an integer 4, a double number 5.6, a string Hello baby, a boolean value true! %d,表明這裏將要替換成一個整型的數,%f,表示這裏要替換成一個浮點型的數組,%s,表示這裏要替換成一個字符串,%b表示要換成一個布爾型的數。而 後面的4, 5.6, "Hello baby", true,將會對應的替換到前面的信息裏,就是說,因爲第一個是4,而第一個百分號出如今an integer 後面,因而java就將把4放到那兒,而正好,那裏是%d,正好換成一個整型,同理,後面的都同樣,按照順序替換。那若是4那裏,你不寫4,也不寫其餘的 整型數字,而是寫個什麼「what a day」呢?對不起,java會報錯,你那兒明明是%d,是要放個整型數據的,可你恰恰來了個字符串,那整不了啦。
好了,這就是基本的輸入輸出方法,下面咱們來作一個簡單的兩數相加的程序,與之前不一樣的是,咱們此次讓用戶來輸入數據,而且咱們用三種方式打印出結果。以下所示:
從上面的結果看出來,使用格式化輸出的時候,精度彷佛更高了,而其餘輸出,彷佛會丟棄沒必要要的精度,對此,本菜鳥只是猜想,若有說錯請勿見笑。好了,今天就寫到這裏,但願各位初學者回去多多揣摩練習,多讀一些教程,多練習寫寫程序。