微软面试
一.i++和++i的区别
1.如果在程序中单独使用,则都是往上加一的意思
2.如果是赋值语句(赋于一个变量),那么++i则是先加一,然后赋值(所谓的前缀加),i++则是先赋值,然后再加一(所谓的后缀)
二.java按行读取磁盘中的某个文件,然后正则匹配某个特定的字符串。
package com.bili.hello; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Hello { public static void main(String[] args) throws IOException { File file=new File("/home/bili/test.txt"); try {
//先用装饰器模式和适配器模式,将文件流转化为BufferedReader BufferedReader is=new BufferedReader(new InputStreamReader(new FileInputStream(file))); String str;
//先获取正则表达式编译后的pattern Pattern p=Pattern.compile(".[c-w.]{3,10}[.][c-w.][.][a]|.+");
//按行读取,每调用一次readLine()方法,就算读取了一行数据 while((str=is.readLine()) != null){
//利用pattern去匹配某个字符串 Matcher m=p.matcher(str);
//调用m的matches()方法,返回boolean类型 if(m.matches()){ System.out.println(m.group()); } } } catch (FileNotFoundException e) { e.printStackTrace(); } } }