1. 表达式0xaa | 0x55的值为
答案:
解析:
0xaa用二进制表示为10101010,0x55用二进制表示为01010101,按位或后为11111111,十进制表示为255,十六进制表示为0xFF
2. 表达式15&250的值为
答案:
解析:
我认为这道题的正确答案应该是10,但选项里面没有,可以确定给出的答案是错误的
3. 下列说法错误的是
答案:
解析:
B项:“”在java中有特殊含义,表示转义字符,因此输出时需要再次转义;C项:char类型是无符号的,与short类型不一样
4. 下列说法正确的是
答案:
解析:
C项:精度方面,0.00和0是一致的,此外0.5和0.5f也是一致的,但0.4和0.4f就不一样了
可以延伸到这一题:
这题中0.5在float和double中的范围都可以用二进制精确表示,因此相等
5. 下列说法错误的是
答案:
解析:
a[1]的值是0。
- 这是数组的声明,3表示数组的长度。
- 声明方法1:
int[] a=new int[length]; a[0]=1;
- 声明方法2:
int[] a={1,2,3};
- 声明方法3:
int[] a; a=new int[length];
- 声明方法1:
- 初始化时一定要指明数组长度,或像声明方法2那样间接指明长度
- 若没有进一步赋值,将会创建3个可以存放int变量的内存空间,初始值都为0:
a[0]=0; a[1]=0; a[2]=0;
6. 下列初始化语句错误的是
答案:
解析:
A项:定义的是char类型数组,赋值是String类型,char只能用单引号' ',表示单个字符,不能表示字符串,错;B项同上;D项:'hello'不是char类型,char类型只有一个字符,也不是String类型,String类型使用“hello”
7. 将数组A复制到数组B
答案:
解析:
数组的复制:
- System.arraycopy(src, srcPos, dest, destPos, length);
- src - 源数组。
- srcPos - 源数组中的起始位置。
- dest - 目标数组。
- destPos - 目标数据中的起始位置。
- length - 要复制的数组元素的数量。
8. 下列说法正确的是
答案:
解析:
这道题答案也出错了,正确答案应该是ABD,C项中排序方法是选择法排序而不是冒泡法排序
- 选择排序与冒泡排序
- 选择排序:先逐个遍历,选出最值,将最值与第一个元素位置交换,再进行下一轮遍历(此时就不用再看已经选出来的第一个最值)
- 冒泡排序:比较后若发现较小的元素在后面,就交换两个相邻的元素