黑马程序员技术交流社区

标题: 关于java基础中自己认为容易混淆的几个知识 [打印本页]

作者: 李忠兵    时间: 2015-3-9 16:38
标题: 关于java基础中自己认为容易混淆的几个知识
----易混淆的概念


a. byte b = 1 + 1;     (正确,1+1运算后的结果是个常量且在byte的范围内,所以可以直接赋给byte变量。)
b. byte b = 1; b = b + 1; (错误,运算b+1时b会自动提升为int型,运算后的结果仍然是int型,不能赋给byte型变量,否则会丢失精度。)
c. byte b = 1; b = b += 1;  (正确,b+=1包含了一个隐藏的类型转换,相当于 b=(byte)(b+1);)  
d. byte b = 1; b = ++b; (正确,b=++b也包含了一个隐藏的类型转换)



各种容器添加元素方法的区别:
StringBuffer和StringBuilder用的是append方法或insert(指定位置插入)方法;
Collection类型的集合容器用的是add方法;
Map类型集合容器用的是put方法;
properties容器用的是load方法;
注:数组的长度是固定的,不能增删。




原文件会不会被覆盖的问题:
1.当用FileWrite和FileOutputStream的构造方法关联文件(会自动创建文件)时,如果参数中带的是flase或者是没有boolean的参数时,会将相同路径下原来的同名文件覆盖;如果参数是true,则只会续写原文件(也就是从原始数据的尾部开始写),而不会覆盖。
2.File中的createNewFile()方法也不会覆盖,如果有同名文件,则不创建,如果没有,则创建。
3.其次,RandomAccessFile raf=new RandomAccessFile("random.txt","rw");当参数为"rw"时表示:当这个文件不存在时,会创建该文件,如果文件已存在,则不会创建,也不会覆盖原文件,只是将数据写在原文件上(修改)。





作者: EYE_SEE_YOU    时间: 2015-3-9 21:26
如果你做过很多题目的话,你越来越多的遇到模棱两可的答案,说,哇靠,这东西还能这么玩?最后把每个答案都试下来才知道,自己的认识原来好多不足




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2