2.4输入、输出数据
2.4.1输入基本型数据
Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象:
Scanner reader = new Scanner(System.in);
然后reader对象调用下列方法,读取用户在命令行(例如,MS-DOS窗口)输入的各种基本类型数据:
nextBoolean(),nextByte(),nextShort()…
上述方法执行时都会阻塞,因为程序在等待用户在命令行输入数据回车确认,在键盘输入数0结束整个的输入操作过程,程序将计算出这些数的和。
Example2_3.java
package example2_3;
import java.util.Scanner;
public class Example2_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入若干个数,每输入一个数回车确认");
System.out.println("最后输入数字0结束");
Scanner reader = new Scanner(System.in);
double sum = 0;
double x = reader.nextDouble();
while(x!=0) {
sum=sum+x;
x=reader.nextDouble();
}
System.out.println("sum="+sum);
}
}
2.4.2输出基本型数据
System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。允许使用并置符号+将变量、表达式或一个常数值与一个字符串并置一起输出,如:
System.out.println(m+“个数的和为”+sum);
System.out.println(":"+123+“大于”+122);
需要特别注意的是,在使用System.out.println()或System.out.print()输出字符串常量时,不可以出现“回车”,例如,下面的写法就无法通过编译:
System.out.println(“你好,
很高兴认识你”)
如果需要输出的字符串的长度比较长,可以将字符串分解成几部分,然后使用并置符号+将他们首尾相接,以下是正确的写法:
System.out.println(“你好,”+
“很高兴认识你”);
另外JDK1.5新增了和C语言中printf函数类似的输出数据的方法,格式如下:
System.out.printf(“格式控制部分”,表达式1,表达式2,…,表达式n)
格式控制部分由格式控制符号%d,%c,%f,%s和普通的字符组成,普通字符原样输出,格式符号用来输出表达式的值。
%d:输出int型数据
%c:输出char型数据
%f:输出浮点型数据,小数部分最多保留6位
%s:输出字符串型数据
输出数据时也可以控制数据在命令行的位置,例如,
%md:输出的int型数据占m列。
%m.nf:输出的浮点型数据占m列,小数点保留n位