Scanner
- 获取键盘输入
@Test
public void t(){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
System.out.println("输入内容"+sc.next());
}
}
2. 读取文件输入
@Test
public void t13() throws Exception {
/*scanner读取文件内容*/
Scanner sc = new Scanner(new File("src/testBreak/AllTest.java"));
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
}
String、StringBuffer、StringBuilder
- String类是不可变类,一旦一个String对象被创建后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。
- StringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建后,可以改变这个字符串对象的字符序列。一旦通过StringBuffer生成了最终想要的字符串就可以调用它的toString()方法将其转换成一个String对象。
- StringBuilder类是jdk1.5新增的类,它也代表可变字符串对象。StringBuilder和StringBuffer基本相似,两个类的构造器和方法也基本相同。不同的是,StringBuffer是线程安全的,而StringBuilder则没有实现线程安全的功能,所以StringBuilder性能略高。在不需要多线程的环境下,应该优先考虑使用StringBuilder。
因为String是不可变的,所以会额外产生很多临时变量。使用StringBuffer或StringBuilder就可以避免这个问题。
StringBuilder类的使用:
@Test
public void t14() {
StringBuilder sb=new StringBuilder();
sb.append("java");
System.out.println(sb);
sb.insert(0, "hello ");//在sb开头位置插入
System.out.println(sb);
sb.replace(5, 6, ",");//把sb [5,6) 位置的字符替换为","
System.out.println(sb);
sb.delete(5, 6);//删除sb [5,6) 位置的字符
System.out.println(sb);
sb.reverse();//反转
System.out.println(sb);
}