1.byte类型大小为:(-2的7次方)到(2的7次方减1)
错误原因:知道byte是有8个字节,但忽略了有一个字节专门表示正负
2.标识符问题
在java中,以$符号开头的为合法的标识符,如$anothervar
错误原因:和C语言的标识符概念混淆了,C语言标识符规则如下:
(1).标识符只能由字母、数字和下划线三类字符组成
(2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符)
(3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符
(4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成的,而不是C语言本身的局限性
(5).标识符不能是C的关键字
3.public class MyClass{
}
错误原因:没有对static形成敏感的认识
4.int i=9;
switch(i){
}
错误原因:default后没有break;和case用法一样
5.在下面的注释处插入哪些部分代码是合法的:
class Base{
public void amethod(int i){}
}
public class Scope extends Base{
}
A)
B)
C)
D)
错误原因:对重写的注意事项不清晰,重写原则:
1.方法名相同/参数也相同/返回类型也相同(5.0以后的版本可以返回子类)
2.访问权限不能变小
3.抛出异常不能变大
本例中A)重写时既将访问权限变小了,又扩大了异常,而B)和C)相当于Scope自己新建的方法,只是方法名和父类方法名相同而已,但与父类的amethod方法无关,D)将异常扩大了。本题B)和C)正确。