无论使用哪一种编程语言,输入输出都是我们首当其冲的,因此对java语言的输入输出模块简单整理了一下
第一部分,让我们看一下Java的输出
public classMain{public static voidmain(String[] args){
System.out.println("hello_!");
System.out.print("My name is, ");
System.out.print("Sufeng! ");
}
}
(1)、System.out.print()用于直接输出;
(2)、System.out.println()也是直接输出,不过在结尾换行。
输出方式相对简单,
这种输出方式,是输出到Eclipse的控制台或者直接在命令行显示结果,具体是输出在哪里取决于运行Java程序的IDE环境
第二部分,让我们看一下Java的输入
输入第一种方式,
1 import java.io.*;2 import java.util.*;3 public classMain{4 public static void main(String[] args)throwsIOException{ //抛出异常5 char c=(char)System.in.read(); //读取单个字符6 System.out.println(c);7 }8 }
可以看到,
1~2行,导入两个包,分别是 io包和util包;
Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中;
输入第二种方式,
1 import java.io.*;2 import java.util.*;3 public classMain{4 public static void main(String[] args)throwsIOException{5 Scanner cin=newScanner(System.in);6
7 int a=cin.nextInt(); //输入一个整数
8 System.out.println(a);9
10 double b=cin.nextDouble(); //输入一个双精度的浮点数
11 System.out.println(b);12
13 String str=cin.next(); //输入一个字符串,遇到分号则输入终止
14 System.out.println(str);15
16 String str2=cin.nextLine();//按行读取
17 System.out.println(str2);18 }19 }
输入的第三种方式,
1 import java.io.*;2 import java.util.*;3 public classMain{4 public static void main(String[] args)throwsIOException{5 BufferedReader cin=new BufferedReader(newInputStreamReader(System.in));6 String str=cin.readLine();//输入一行
7 System.out.println(str);8
9 String str2=cin.readLine();10 int a=Integer.parseInt(str2);//将str2转换为int,并复制给a
11 System.out.println(a);12
13 String str3=cin.readLine();14 double b=Double.parseDouble(str3);//将str3转换为double,并复制给b
15 System.out.println(b);16 }17 }
下面时Java实际例子,运行后
import java.io.*;
public class Main {
public static void main(String...strings) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
String s = br.readLine().trim();
String[] nums = s.split(" ");
int thisSum = 0;
int maxSum = 0;
for(int i = 0; i < nums.length; i++) {
thisSum += Integer.parseInt(nums[i]);
if(thisSum > maxSum)
maxSum = thisSum;
else if(thisSum < 0)
thisSum = 0;
}
System.out.println(maxSum);
}
}
发现
使用Scanner类的对象在读取输入数据方面虽然很方便,但是运行效率低,数据量越大,这种差异越明显,并且它占用的内存空间也大。
而BufferedReader和System.in差别较小,但是BufferedReader在读入数据方面上的处理会稍微简便些。