疯狂Java讲义笔记(二)

第7章 与运行环境交互

@(马克飞象)

  1. 关于public static void main(String[] args)public 修饰符:Java类由JVM调用,为了让JVM可以调用main方法,所以使用public修饰符。
  2. 获取键盘输入:ScannerBufferedReader,System.in代表标准输入,就是键盘输入。
 //Scanner方法
 Scanner sc = new Scanner(System.in);
 while(sc.hadNext()){
	 System.out.println(sc.next());
 }
 //BufferedReader方法
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 String line = null;
 while((line = br.readLine()) != null){
	 System.out.println(line);
}
  1. Runtime类可以直接单独启动一个进程来运行操作系统的命令,比如以下代码将启动记事本:
Runtime rt = Runtime.getRunTime();
rt.exec("notepad.exe");
  1. StringStringBufferStringBuilder
    String类是不可变类,从创建到销毁其字符序列不可变。
    StringBuffer对象是字符序列可变的字符串,提供append()、insert()、reverse()、setCharAt()、setLength()等方法。
    StringBuilderStringBuffer类似,比起stringBuffer没有实现线程安全功能,性能略高,一般情况下优先使用该类创建可变字符串。
  2. 字符串中equals== 的区别:= =用来判断两个对象的地址是否相同,是否指向同一个对象,比较的是真正意义上的指针操作;equals()比较字符串的字符序列是否相同。即java.lang.String类重写了equals方法,如果两个字符串对象包含有相同的内容返回true,但是= =只有它们引用的地址相同时才会返回true。
  3. 创建BigDecimal对象时,要使用String作为构造器参数而不是直接使用Double。比如:使用BigDecimal f1 = new BigDecimal("0.05");而不是BigDecimal f1 = new BigDecimal(0.05);
  4. 正则表达式预定义字符
    |预定义字符|说明|
    |-|-|-|
    | .|匹配任何字符|
    | \d|0-9所有数字|
    | \D|非数字|
    | \s|所有的空白字符,包括空格、制表符、回车符、换页符、换行符等|
    | \S|所有的非空白字符|
    | \w|所有的单词字符,包括0-9数字、26个英文字母和下划线(_)|
    | \W|所有的非单词字符|
  5. 判断电子邮件地址是否合法的正则表达式:
    String mailRegEx = "\\w{3,20}@\\w+\\.(com|cn|net|org|edu.cn)";
  6. String类也提供了replaceAll()replaceFirst()split()等方法使用正则表达式来进行字符串操作,比如
String str = "result,replace,respect";
str.replaceAll("re\\w*","xx-");//结果为xx-,xx-,xx-
  1. 使用SimpleDateFormat格式化日期实例
Date d = new Date();
System.out.println(d);
SimpleDateFormat sdf1 = new SimpleDateFormat("Gyyyy年中第D天");
String dateStr =  sdf1.format(d);
System.out.println(dateStr);

String str = "07###三月##21";
SimpleDateFormat sdf2 = new SimpleDateFormat("y###MMM##d");
System.out.println(sdf2.parse(str));

/***输出
 * Mon Dec 25 23:26:01 CST 2017
 * 公元2017年中第359天
 * Wed Mar 21 00:00:00 CST 2007
 */

SimpleDateFormat把日期格式化成什么样的字符串,以及能把怎样的字符串解析成Date,取决于创建该对象时指定的pattern参数,即使用日期字段占位符的日期模板。

posted on 2017-12-25 23:12  lie隼  阅读(125)  评论(0编辑  收藏  举报