使用Main方法的参数传递方式
例示代码如下:
public class MainArgs { public static void main(String[] args) { System.out.println(args.length); for(String str : args){ System.out.println(str); } } }
在运行 java程序后面跟的字符串(一个或多个 多个用空格隔开)jvm将会把这些一个或多个字符串赋给args数组。当字符串中包含空格时则需要将完整的一个字符串用“”括起来。如下示例:
使用Scanner类进行用户输入:可以输入用户指定的数据类型
Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
例示代码如下:
import java.util.Scanner; import java.io.File; public class ScannerKeyBoardTest { public static void main(String[] args) throws Exception { //readFileCon(); //test2(); //通过键盘输入指定类型 Scanner scan = new Scanner(System.in); Long l = scan.nextLong(); System.out.println("l is "+l); } //读取任何的数据输入返回String public static void test1(){ Scanner scan = new Scanner(System.in); //使用 回车键 作为分隔符 默认使用 空格 制表键 回车作为分割付。 //scan.useDelimiter("\n"); while(scan.hasNext()){ System.out.println("next is " + scan.next()); } } //读取Long型数据的输入返回Long public static void test2(){ Scanner scan = new Scanner(System.in); //当输入的为 非 Long数值时 推出循环 while(scan.hasNextLong()){//阻塞式 //System.out.println("has over scan.nextLong() begin...."); System.out.println("next is " + scan.nextLong()); //System.out.println("scan.nextLong() over has begin...."); } } //读取文件中的内容 并打印到控制台 public static void readFileCon()throws Exception { Scanner scan = new Scanner(new File("ScannerKeyBoardTest.java")); System.out.println("fileContent is:"); while(scan.hasNextLine()){ System.out.println(scan.nextLine()); } } }
使用BufferedReader类读取用户的输入:返回的只能是String类
例示代码如下
import java.io.BufferedReader; import java.io.InputStreamReader; class BufferReaderKeyBoardTest { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String in = null; while((in = br.readLine()) != null){ System.out.println("用户输入的是: "+in); } } }