Java类库 与用户互动
来源:互联网 发布:mac word里繁体变简体 编辑:程序博客网 时间:2024/05/16 04:31
6.1.1 运行Java程序的参数
Java程序的入口:main()方法的方法签名:
public static void main(String []args)
- public:为了让java类可以由JVM自由调用这个main()方法,所以使用public修饰符把这个方法暴露出来。
- static:JVM调用这个主方法时,不会先创建该主类的对象,然后通过对象来调用该主方法,JVM直接通过该类来调用主方法
- void: 因为主方法被JVM调用,该方法的返回值将返回JVM,这没有任何意义。
方法调用的规则:谁调用方法,谁负责为形参赋值。
ArgsTest.java
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"
6.1.2 使用Scanner 获取键盘输入
使用Scanner可以获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件,输入流,字符串中解释出基本类型值和字符串值。
- hasNextXxx():是否还有下一个输入项,Xxx可以是Int、Long等代表基本数据类型的字符串,如果只是判断是否包含下一个字符串,则直接使用hasNext();
- nextXxx() :获取下一个输入项
在默认情况下,Scanner使用空白(包括空格、Tab空白、回车)作为多个输入项之间的分隔符。
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方法不处理任何异常。
- Java类库 与用户互动
- java常用类--与用户互动
- html 与用户互动
- 与用户互动
- 与用户互动
- JavaScript与用户互动
- Ajax+PHP 实现与用户互动
- 用户运营与用户保持互动的6大技巧
- 用户运营与用户保持互动的6大技巧
- 观察者模式与用户控件之间的互动
- 什么是用户互动传播?
- 点石互动--石头之用户搜索行为与关键词分析(二):用户也会犯错
- CN-JAVA与JavaStudy.org实现内容互动
- java--在命令行模式下与程序互动
- 点石互动--石头之用户搜索行为与关键词分析(三):人人都是神算师
- 点石互动--石头之用户搜索行为与关键词分析(四):不变应万变
- 点石互动--highdiy之:SERP(用户搜索结果页面)中的点击率与SEO
- JavaScript与C#互动
- android bitmap缓存机制(上)
- 2015年3月1日心情记录
- Coursera Machine Learning 学习笔记(五)
- HDOJ 1163 Eddy's digital Roots(简单数论)
- 如何打造一个伟大的产品1 - 引言
- Java类库 与用户互动
- 沙箱模型
- 查找和为0的三个数
- iOS中的UIViewController执行顺序
- Code Test
- 合取范式的可满足性判定算法和谓词逻辑不可判定性
- 开始更新
- SEL id @, 三者的意思
- iOS URL编码与解码