輸入輸出和java數據類型


一、輸入有兩種方式。

  1.使用Scanner。

    使用時要在開始聲明引用import  java.util.Scanner包。然后定義Scanner對象:

    Scanner  input=new Scanner(System.in);

      之后再聲明你輸入的數據類型,比如輸入是int類型的:

    int  intName=input.next();

  2.使用BufferedReader。

    使用時要在開始聲明引用import java.io.*包(包括import java.io.BufferedReader和import java.io.InputStreamReader),然后定義

    BufferedReader input=new BufferedReader(new InputStreamReader(System.in));

    之后再聲明你要接收的數據類型,比如如虎如是int類型的:

    int intName=Integer.parseInt(input.readLine());

    注意:因為readLine()這個方法在底層聲明了異常!  我們使用的時候必須要去處理。

    示例

import java.io.*;//java.io包括import java.io.BufferedReader和import java.io.InputStreamReader;
public class HelloWorld {
	public static void main(String[] args) throws IOException
    { System.out.println("請輸入數字:"); BufferedReader input=new BufferedReader(new InputStreamReader(System.in)); int intName=Integer.parseInt(input.readLine()); System.out.println("您輸入的數字是:"+intName); } }

   3.總結:當BufferedReader在讀取文本文件時,會先盡量從文件中讀入字符數據並置入緩沖區,而之后若使用read()方法,會先從緩沖區中進行讀取。System.in是一個位流,為了轉換為字符流,可使用InputStreamReader為其進行字符轉換,然后再使用BufferedReader為其增加緩沖功能。所以使用BufferedReader input = new BufferedReader(new InputStreamReader(System.in))。

    區別:(詳情請見http://blog.sina.com.cn/s/blog_5fd837410100rtwk.html)

       BufferedReader:是字符輸入流中讀取文本,緩沖各個字符,從而提供字符、數組和行的高效讀取!速度要比Scanner快!而且也可以設置緩沖區的大小,或者可使用默認的大小。大多數情況下,默認值就足夠大了。

       Scanner:用Scanner獲得用戶的輸入非常的方便,但是Scanner取得輸入的依據是空格符,包括空格鍵,Tab鍵和Enter鍵。當按下這其中的任一鍵時,Scanner就會返回下一個輸入.當你輸入的內容中間包括空格時,顯然,使用Scanner就不能完整的獲得你輸入的字符串。

    

 

二、輸出的方式。

  System.out.println。嗯。。。。這個確實沒什么好說的。大家都知道。而且不用引用命名空間或者包。直接上例子:

1 public class HelloWorld {
2     public static void main(String[] args){
3         System.out.println("輸出");
4     }
5 }

 

三、數據類型。

  1.基本數據類型:

    1).整型:byte(字節):byte由1個字節8位表示,是最小的整數類型。主要用於節省內存空間關鍵。當操作來自網絡、文件或者其他IO的數據流時,byte類型特別有用。取值范圍[-128,127]

        short(短整型):由2個字節16位表示。short類型參與運算的時候,一樣被提升為int或者更高的類型。取值范圍[-2^15,2^15-1]

        int(整型):由4個字節32位表示。取值范圍[-2^31,2^31-1]

        long(長整型):由8個字節64位表示。當需要計算非常大的數時,如果int不足以容納大小,可以使用long類型。如果long也不夠,可以使用BigInteger類。取值范圍[-2^63,2^63-1]

    2).浮點型:

        float(浮點型):由4個字節32位表示。 單精度浮點數,運行速度相比double更快,占內存更小,但是當數值非常大或者非常小的時候會變得不精確。精度要求不高的時候可以使用float類型。可以將byte、short、int、long、char賦給float類型,java自動完成轉換(隱式轉換)。取值范圍[-3.4E38,3.4E38]

        double(雙精度):由8個字節64位表示。將浮點數賦給某個變量時,如果不顯示在字面值后面加f或者F,則默認為double類型。java.lang.Math中的函數都采用double類型。如果double和float都無法達到想要的精度,可以使用BigDecimal類。取值范圍[-1.7E308,1.7E308]

    3).字符型:char:占2個字節16個位。ASCII字符集占用了Unicode的前127個值。當char進行加減乘除運算的時候,也被轉換成int類型,必須顯式轉化回來。取值范圍[0,65535]

    4).布爾型:boolean:只有兩個值true和false,默認為false。boolean與是否為0沒有任何關系,但是可以根據想要的邏輯進行轉換。許多地方都需要用到boolean類型。

  2.基本類型數據轉換:

  

  3.引用數據類型:類、接口類型、數組類型、枚舉類型、注解類型。這里就不一一贅述。(關鍵我還沒接觸和熟悉。后面熟悉了會列舉出來)

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM