无论使用哪一种编程语言,输入输出都是我们首当其冲的,因此简单整理了
一下关于Java输入输出知识点,还有些内容摘自其它博客,忘见谅。
第一部分,让我们看一下Java的输出
public class Main{ public static void main(String[] args){ System.out.println("hello_!"); System.out.print("My name is, "); System.out.print("Sufeng! "); } }
System.out.print()用于直接输出;
System.out.println()也是直接输出,不过在结尾换行。
输出方式相对简单,
这种输出方式,是输出到Eclipse的控制台或者直接在命令行显示结果,具体是输出在哪里取决于运行Java程序的IDE环境
第二部分,让我们看一下Java的输入
1 import java.io.*; 2 import java.util.*; 3 public class Main{ 4 public static void main(String[] args)throws IOException{ //抛出异常 5 char c=(char)System.in.read(); //读取单个字符 6 System.out.println(c); 7 } 8 }
可以看到,
1~2行,导入两个包,分别是 io包和util包;
Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中;
有关流的更多概念详解可以看Java流对象理解;
输入第二种方式,
import java.io.*; import java.util.*; public class Main{ public static void main(String[] args)throws IOException{ Scanner cin=new Scanner(System.in); int a=cin.nextInt(); //输入一个整数 System.out.println(a); double b=cin.nextDouble(); //输入一个双精度的浮点数 System.out.println(b); String str=cin.next(); //输入一个字符串,遇到分号则输入终止 System.out.println(str); String str2=cin.nextLine();//按行读取 System.out.println(str2); } }
输出的第三种方式
1 import java.io.*; 2 import java.util.*; 3 public class Main{ 4 public static void main(String[] args)throws IOException{ 5 BufferedReader cin=new BufferedReader(new InputStreamReader(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在读入数据方面上的处理会稍微简便些。