Java程序的入口:main()方法的方法签名:
public static void main(String []args)
package code;
public class ArgsTest{
public static void main(String [] args){
System.out.println(args.length);
for(String arg :args){
System.out.println(arg);
}
}
}
0
如果改为如下命令来运行上面的程序,
I:\>java code.ArgsTest java String
如果运行Java程序时在类名后紧跟一个或多个字符串(以空格分开),JVM就会把这些字符串依次赋给args数组元素。
I:\>java code.ArgsTest "java String"
使用Scanner可以获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件,输入流,字符串中解释出基本类型值和字符串值。
package code;
import java.util.*;
public class ScannerKeyBoardTest{
public static void main(String []args){
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("\n");
while(scanner.hasNext())
System.out.println("键盘输入的内容是:" + scanner.next());
}
}
Scanner的读取操作可能被阻塞来等待信息的输入 ,如果输入源没有结束,Scanner又读不到更多的输入项时,两个方法都会阻塞
为Scanner设置分隔符使用useDelimiter(String pattern)方法即可
package code;
import java.util.*;
public class ScannerLongTest{
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextLong())
System.out.println("键盘输入的内容是:" +scanner.nextLong());
}
}
上面程序不如ScannerKeyBoardTest程序适应性强,因为ScannerLongTest程序要求键盘输入必须是整数,否则程序将会退出
而且Scanner还能从文件输入,
package code;
import java.io.*;
import java.util.*;
public class ScannerFileTest{
public static void main(String []args)throws Exception{
Scanner scanner = new Scanner(new File("ScannerFileTest.java"));
System.out.println("文件内容如下");
while(scanner.hasNextLine()){
System.out.println(scanner.nextLine());
}
}
}
文件内容如下
package code;
import java.io.*;
import java.util.*;
public class ScannerFileTest{
public static void main(String []args)throws Exception{
Scanner scanner = new Scanner(new File(“ScannerFileTest.java”));
System.out.println(“文件内容如下”);
while(scanner.hasNextLine()){
System.out.println(scanner.nextLine());
}
}
}
上面程序涉及文件输入,可能引发文件IO异常,所以要声明throws Exception表明main方法不处理任何异常。
原文地址:http://blog.csdn.net/u014270902/article/details/44008669