一、概述
Java语言体系中,对数据流的主要操作都封装在java.io包中,通过java.io包中的类可以实现计算机对数据的输入、输出操作。在编写输入、输出操作代码时,需要用import语句将java.io包导入到应用程序所在的类中,才可以使用java.io中的类和接口。
二、输入语句
方法一:.使用Scanner:
(1)使用java.util包。 然后引入(或导入) import java.util.*;
(2)构造Scanner类对象,它附属于标准输入流System.in。
Scanner s = new Scanner(System.in);(s自定义方法名)
(3)常用的next()方法系列:
- nextInt():输入整数
- nextLine():输入字符串
- nextDouble():输入双精度数
- next():输入字符串(以空格作为分隔符)
import java.util.Scanner; public static void main(String [] args) { Scanner scan = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name = scan.nextLine(); System.out.println("请输入你的年龄:"); int age = scan.nextInt(); System.out.println("请输入你的工资:"); float salary = scan.nextFloat(); System.out.println("你的信息如下:"); System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); }
代码实例:
计算利率输入本金 a,存款年数 n,利率 r,求利息 s。输出的结果精确到分。利息的计算公式如下:
备注:实型数据在程序中用 double 类型。
输入格式:
输入本金 a,存款年数 n,利率 r;各个数据之间用空格分隔。
输出格式:
输出利息s。
import java.util.*;\\引入Scanner的包 ||import java.util.Scanner; public class Main { public static void main (String[] args) { Scanner scan = new Scanner(System.in); double a = scan.nextDouble(),n = scan.nextDouble(), r = scan.nextDouble();scan.nextDouble(); double s = a*Math.pow((1+r),n)-a; System.out.printf("s=%.2f",s); } }
注意
next()和nextLine的区别:
在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。
方法二:从控制台接收一个字符,然后将其打印出来
import java.io.; public static void main(String [] args) throws IOException{ System.out.print("Enter a Char:"); char i = (char) System.in.read(); System.out.println("your char is :"+i); }
虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。
方法三:从控制台接收一个字符串,然后将其打印出来。 在这个题目中,我们需要用到BufferedReader类和InputStreamReader类
步骤:
(1)使用java.io包。 import java.io.*;
(2)构造 BufferedReader类对象,它附属于标准输入流System.in。
import java.io.*; public static void main(String [] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; System.out.println("Enter your value:"); str = br.readLine(); System.out.println("your value is :"+str); }
这样我们就能获取我们输入的字符串。
注意
1)read方法:读取单个字符。 返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1 ;
(2)readLine方法:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 (’\n’)、回车 (’\r’) 或回车后直接跟着换行。 返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null。
三、输出语句
Java中的输出语句有以下四种:
System.out.println(); //换行打印 System.out.print(); //不换行打印 System.out.write(); //字节输出 System.out.printf("%.3f\n", s); //按格式输出
1.System.out.println();[输出换行] 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台
2.System.out.print();[输出后不换行] 与第一个很相似,区别就是System.out.println输出后会换行,而这个命令输出后并不换行。
3.System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。