目录
一、注释有几种形式
注释除了有其他编程语言有的单行注释和多行注释之外,还有其Java特有的文档注释
文档注释能够使用javadoc命令就能就将注释写在生成的文档里面
常见的文档注释,可以使用的注解有:
@author、@since、@date、@param、@return等
二、标识符与关键字的区别
标识符就是代码中对一些东西起的一个名字,比如对类、方法、接口等等一切的名字都是标识符
而其中有些标识符是系统就已经规定好了,程序员不能再拿来使用,这就叫关键字,也就是简单来说就是特殊的标识符,常见的关键字有:
几乎所有编程语言都有的
1. 数据类型的:
int、byte、short等
2. 流程控制的
for、if、else、break、continue、switch case等
3. 面向对象语言特有的
1. 权限修饰符
private、protected、public
2. 类、方法、变量的修饰符
abstract、static、final、synchronized、class、interface、enum、extends、implements、transient、volatile...
2. 异常处理
try catch finally throw throws
3. 包管理
package import
等等.......
三、自增自减运算符
分为前自增和后自增前自减后自减
前与后的区别是:前是先运算再拿来用,而后是先使用后运算
比如说 i = 3 打印i++的结果是3 而打印++i的结果是4 但最终i的值是4
四、移位运算符
移位运算符就是将操作对象看作是二进制,然后将其对应位置上面的0101进行移动
常见的移位运算符有 << 左移 >> 右移 另外Java中还有一个无符号由于 >>>
<<左移就是将二进制位置上的数字往左边进行移动 在不溢出的情况下 可以看作左移了多少位就是 乘上 2的几次方 而右移则相反
右移的话 如果当前数是正数那么最高位也就是0 那么左边腾出来的就用0来填充 负数就用1来填充
而无符号右移就是无论最高位是0 还是1 都是用0来进行填充
注意:其实支持移位的类型只有int和long类型 对byte、short、char移位时,会先将其转为int类型
而且如果移的位数超过了数值所占的位数的话 就会将移动的位数与长度进行取余操作得到最终的移的位数
五、continue、break、return的区别
continue、break是在循环中使用 continue是停止此次循环 而break则是结束当前整个循环
return 哪里都可以用,作用就是终止执行 注意:return后面不能再接语句
补充:
六、a = a+b 与 a+=b的区别
a = a+b 不能作a + b是什么类型就还是什么类型 而a+=b 能自动的就将a+b的结果转为a的类型
例如byte a = 127 byte b = 127
那么 a = a +b 就会报错 因为byte+ byte的结果会转为int 而a是byte类型 int赋值给byte类型就会编译报错 而 a+=b就不会
七、3*0.1 == 0.3 返回什么?
返回false 因为 有些浮点数不能精确的表达出来
八、能在switch中使用String吗
能,再jdk7中开始支持,内部使用的是String的hashcode方法计算出来的hash值来比较