輸入輸出可以說是計算機的基本功能。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);
}
}