java基础类库1 Scanner
Scanner类是一个基于正则表达式(???)的文本扫描器,他可以从文件、输入流、字符串解析出基本类型值和字符串值。Scanner提供了多个构造器,用于不同的输入。
Scanner主要提供了两种方法:
-
hasNextXxx():是否还有下一个输入项,其中Xxx是可以代表基本数据类型的字符串。如果简单判断是否含有下一个字符串,可以使用hasNext();
-
nextXxx():获取下一个输入项
package LearnScanner; import java.util.Scanner; public class LearnScannerDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in);//表示标准输入,也就是从键盘输入 sc.useDelimiter("\n");//限制这个输入的分割符只能是回车键 while (sc.hasNext()){ System.out.println("键盘输入:" + sc.next()); } } }
在上面这个程序里面,sc.useDelimiter("\n");
是配置输入的一段字符串的分割符
如果没有设置,Scanner就是默认使用换行符作为分割符。
Java基础类库2 系统相关 System
System代表当前Java程序的运行平台,程序不能创建System对象,该对象提供了一些类变量和类方法,可以直接通过类来调用。
值得注意的是,System提供了一个identityHashCode(Object);
方法,这个方法可以让我们得到指定对象的hashcode值,也就是根据该对象的地址得到的hashcode值。
这有什么用呢?一些类重写了hashcode方法,比如说:String类重写了hashcode方法(是根据字符串值来计算的),这个时候两个相同的字符串的hashcode值就想等,用identityHashCode(Object);
方法可以区别开。
注:
String s1 = new String("Hello");
String s2 = new String("Hello");
String s3 = "Java";
String s4 = "Java";
这里s1与s2是两个不同对象,s3与s4是相同对象(指向变量池)。