继续,没有计划
昨天加班,回来比较晚,所以没开电脑。不过还是从手机上看了几页。
操作符,这个没什么区别,不过有个补0位移 >>>, 不太明白。
循环有个for(type el : array) ,c++11 也有。又是抄java的?还是都不是原创?
分支,switch没说可否在case里声明变量,不过估计可以。托管语言么。
Number类的封箱拆箱,不明觉厉。
Charactor,同样。
String类的buffer和builder,倒没什么。字面值么,总要有个操作类的。
String类的方法比较多,先不记了,回头看下文档。
数组,没什么区别,跳过。
日期和时间,这个没什么兴趣,C++就用的比较勉强。特别是格式化部分,需要时再说吧。
日期和时间的格式化方式,以前在jenkins里好像就是这么用的, 正常都是格式化字符,’‘之间的部分才是不格式化的。
正则表达式,额,不感兴趣,不过昨天看到日期,今天从正则开始。天意么?
通常大写与小写作用相反,比如\d \D, \b \B。
\x \n不太懂。
正则表达式值得专门花时间来学,先跟教程走。
看了例子才知道,start() end()分别是匹配的起、止位置,find()递进匹配。
方法:
一个返回非void的方法叫函数,一个返回void的方法叫过程,这个定义让我耳目一新,以前老说函数、方法,一直混着用。这里给了一个定义。不知道是否官方定义。
重载方法必须具有不同的参数列表。
构造方法,我们都叫构造函数。这是吐槽。
可变参数,java的可变参数只能传递相同类型的值? c++早就可以传递任意类型的值了。
finalize(),类似析构。
System.gc(), 回收资源?
上次停了,多少天了,天天加班。
今天继续
java.io是一个很重要的包,包含了流相关的几乎所有类
public class BRRead { public static void main(String[] args) throws IOException{ char c; // 使用System.in 创建 BufferReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("输入一个字符,使用q退出:"); do { c = (char)br.read(); System.out.println(c); }while(c != 'q'); } }
练习代码时,发现一个很有意思的事情, 必须 throws IOException 或者将 read()放到try catch块中。
这个真心不理解。
还有bufferdReader 类、stream类、in,它们的关系很感兴趣,这似乎是一种通用的方法,在java、c++、.net,都是这样用的,以前以为是偶然,现在看来是必然。研究一下。
BufferedReader InputStreamReader 都是从Reader 派生, 用一个Stream 来包含流,再转化为buffer,应该是这样理解吧,从流到缓冲区的转化。
这个概念很有意思,我们的ZIW插件应该用的上。
readline时,不会读入回车,read却会把回车一起返回。
文件可以用 InputStreamReader 和OutputStreamWriter 来解决编码问题。