Java常用的輸入輸出介紹

2020-10-02 17:00:18

Java常用的輸入輸出介紹

輸入輸出可以說是計算機的基本功能。java中主要按照流(stream)的模式來實現。其中資料的流向是按照計算機的方向確定的,流入計算機的資料流叫做輸入流(inputStream),由計算機發出的資料流叫做輸出流(outputStream)。以程式作為中心,從程式寫入資料到其他位置(如檔案、螢幕顯示)是輸出流,將資料讀入程式中(如從鍵盤、檔案輸入)則是輸入流。

Java語言體系中,對資料流的主要操作都封裝在包中,用import語句將包匯入,才可以使用包中的類和介面。

Java線上中文檔案 https://tool.oschina.net/apidocs/apidoc?api=jdk-zh


先看輸出
使用System.out.println()或者System.out.print(),這是System.out的兩個方法(method、類成員函數)兩者差不多,能輸出任意型別的資料,不同在於前者輸出後會換行,後者輸出後不換行。例
public class Main1{
    public static void main(String[] args){
        System.out.println("hello!");
        System.out.print("abc");
        System.out.print("123");
    }
}

 

再看輸入
下面介紹java怎麼從鍵盤輸入資料? 請看下面的例子。


☆輸入單個字元的例
import java.io.*;
import java.util.*;
public class Main2{
    public static void main(String[] args)throws IOException{
        char c=(char)System.in.read();
        System.out.println(c);
    }
}

☆輸入數或者字串

import java.io.*;
import java.util.*;
public class Main3{
    public static void main(String[] args)throws IOException{
        Scanner cin=new Scanner(System.in);
        
        System.out.print("Please enter an integer:"); 
        int a=cin.nextInt(); 
        System.out.println(a);
        
        System.out.print("Please enter a floating-point number:"); 
        double b=cin.nextDouble(); 
        System.out.println(b);
         
        System.out.print("Please enter a word:"); 
        String str=cin.next(); 
        System.out.println(str);
    }
}

注意 :用記事本寫java原始碼,1)如果程式碼中含有中文字元,編碼選用ANSI,否則編譯通不過,提示 「錯誤: 編碼 GBK 的不可對映字元」;2)檔名中點後面的字尾(擴充套件名)不要錯了。

☆結合使用BufferedReader類輸入,例
import java.io.*;
public class AppInOut
{
  public static void main(String[] args)
  {
     String s=""; //定字串變數
     int n=0; //定整型變數
     double d=0; //定義雙精度型變數
     
     try
     {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("請輸入一個字串: ");
        s = in.readLine();
        System.out.println("你輸入字串是: "+s);
        System.out.print("請輸入一個整數: ");
        s = in.readLine();
        n = Integer.parseInt(s);
        System.out.println("你輸入的整數是: "+n);
        System.out.print("請輸入一個實數: ");
        s = in.readLine();
        d =Double.parseDouble(s);
        System.out.println("你輸入實數是: "+d);
     }catch(IOException e) {}
   }
}

☆上面都是字元介面的例子,下面看一個使用圖形介面的例子:
import java.awt.*;
import java.awt.event.*;
public class AppGraphInOut
{
//主類
  public static void main ( String args[] )
  {
   new AppFrame();  
   }
}

class AppFrame extends Frame implements ActionListener
{
  TextField in = new TextField(6);
  Button btn = new Button("求立方");
  Label out = new Label("                                 ");
  public AppFrame()
  {
    setLayout(new FlowLayout());
    add( in );
    add( btn );
    add( out );
    btn.addActionListener(this);
    setSize( 400,100 );
    //顯示
    setVisible(true);
    //視窗增加個監聽器——AWT的Frame視窗點選右上角的 × ,預設是不能關閉的,可如下處理
    addWindowListener(new WindowAdapter()
    {
       public void windowClosing(WindowEvent e) 
        {
          System.exit(0);
        }
    });

  }
  public void actionPerformed( ActionEvent e)
  {
    String s = in.getText();
    double d = Double.parseDouble( s );
    double q = d * d * d;
    out.setText( d+"的立方是:"+ q);
  }  
}