Java常用的输入输出介绍

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.*;
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)文件名中点后面的后缀(扩展名)不要错了。

例、使用Scanner类,输入两个整数求和:
import java.util.Scanner;
public class MainA {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入两个整数(两数之间用空格分隔):");  //提示
        int a=sc.nextInt(), b=sc.nextInt();
        System.out.println(a+b);
    }    
}

用记事本编写保存源代码,参见下图:

编译运行,参见下图:

 

☆使用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);
  }  
}

编译运行,参见下图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值