1. 你能够使用Scanner或者BufferedReader读取键盘输入的内容吗?
2. Runtime来启用一个进程(原理已经总结到了小功能里面去了)
关键代码:
Process p=Runtime.getRuntime().exec("notepad.exe RuntimeTest.java");
p.destroy()
3.关于clone, 只是浅克隆,对引用的对象不会克隆!!!!!!
/*
* 只是浅克隆,给引用的对象不会克隆!!!!!!
*/
public class ObjectTest {
public static void main(String[] args) throws Exception{
Address address = new Address("山里洞人");
User user= new User(address);
System.out.println(user.age); //是打印出15
User user2 = user.clone();
System.out.println(user==user2); //false
System.out.println(user.address==user2.address); //比较的是引用的地址是否相同 true
}
}
class Address{
private String detial;
public Address(String detail){
this.detial = detail;
}
}
class User implements Cloneable{
public Address address;
public int age = 5;
public User(Address address){
age = 15;
this.address = address;
}
public User clone() throws CloneNotSupportedException{
return (User)super.clone();
}
}
4. Objects的类的用法:
/*
* Objects.toString(object),这个object对象为空的时候,不会报异常,会打印为空
* Objects.requireNonNull(object)用来测试这个对象是否为空
*/
import java.util.Objects;
public class ObjectsTest {
static Object object; //在加载这个类之前调用
public static void main(String[] args) {
System.out.println(Objects.hashCode(object));
System.out.println(Objects.toString(object));
System.out.println(Objects.requireNonNull(object));
}
}
5. ******************* StringBuffer和String和StringBuilder的区别?**************************************************
String是不可变的字符序列
StringBuffer是可变的字符序列,并且线程是安全的
StringBuilder是可变的字符序列,线程不安全,但是性能要高一些。
6. 为了防止float和double的运算,从而导致数据的丢失。可以使用BigDecimal!!!!!!!!!!!!!!!!!!我已经封装在小功能里面了。
System.out.println(0.05+0.01); //0.060000000000000005 这样是不对的。
7.************************* 非常重要的东西 RegExp ******************************************************************
find()方法是找匹配的子串从前到后找完使用wile循环慢慢的找。
group()返回匹配的子串。
还要注意: matches和lookingAt方法的区别!!!!!!!!!!!!!!!!
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExpTest {
public static void main(String[] args) {
String str ="i like java";
Matcher matcher = Pattern.compile("\\w+").matcher(str);
while(matcher.find()){
System.out.println(matcher.group());
//i
//like
//java
}
String s = str.replaceFirst("li\\w+", "哥笑了");
System.out.println(s);
}
}
8. 关于国际滑中 SimpleDateFormate这个类对日期的处理。
String str="2009-6-1 15:14:12";
SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d=sim.parse(str);