Java程序基础测试
(测试时间:100分钟,总分:100分)
一、填空(每题2分,总计40分)
1. 分别写出数字17的二进制、八进制和十六进制表示形式:________________
写出-17的补码:_____________
2. int类型的变量在内存中占用______字节,char型的变量在内存占用_____位。
3. Java语言的基础开发工具是:_____________,集成开发工具是:____________
4. 在JDK中,Java语言的编译命令是____________,Java语言的执行命令是_______。
5. 已知字符a的编码是97,大写字符A的编码是65,而且大写字符和小写字符的编码都是连续的,则小写字符e和大写字符E的编码依次是:_____________
6. 写出以下表达式的结果:
1) 5 % 6 / 3
2) true && false
3) 5 >> 3
4) 12 ^ -4
7. 修改以下代码中的错误:
1) float f = 1.0;
2) char c = 100000;
3) byte b = 200;
4) long int = 100;
8. 阅读以下代码,写出程序执行结果:
int first = 100;
int second = 100;
first = second++;
second = ++first;
则变量first和second的值依次是________________
9. 在程序设计中,流程控制语句的类型有:______________________
10. 在switch(表达式)中,表达式的类型可以是那些类型:___________________
11. 找出以下代码中存在的语法错误:
int n = 10;
switch(true){
default:
n++;
case n:
n *=2;
case 10:
n *=2;
}
12. 写出以下循环执行的次数是:_________________
int k = 65535;
while(k != 0){
k /= 2;
}
13. 阅读以下代码:
int[] kind;
kind = new int[15];
其中kind[0]的值是:_________
那么kind[15]的呢?________________
14. 阅读以下代码:
int[] test = {4,2,3,1,2,1};
则test[4]的值是:___________
而test[6]的值呢?___________
15. 写出以下代码运行结束以后,数组中每个元素的值:
int[] n = {1,3,4,2};
n[0] = 10;
n[3] += n[2];
n[1] = n[2] + n[3];
n[2]++;
则数组中各元素的值依次是:___________________
16. 以下是求数组中最大值的代码,请补充完整:
int[] m = {3,20,12,13};
int max = _________________;
for(int i = 0;i < m.length;i++){
if(_____________){
max = m[i];
}
}
17. 把以下英文翻译成中文:
Java is a simple program language, and we will study it in our mobile game develop course.
中文意思是:________________________________
18. 逻辑题:把7个大小一样的苹果,使用一般的水果刀平均分配给4个人,每个苹果最多切3刀,如何来分?
__________________________________
19. 数学题:求解二元一次方程
2x + 3 = 3y
3x + 2 = 2y
则x和y的值依次是:__________________
20. 数学题:已知圆的半径是10,则该圆的周长和面积依次是:__________________
(说明:∏值取3.14)
二、简答题(每题5分,总计15分)
1. 简述Java语言实现平台无关(跨平台)性的原理。
2. 按照下面的代码简述for语句的执行流程
for(语句A;语句B;语句C){
语句D;
}
3. 说明Java语言中三种注释的语法格式,以及用途
三、编程题(每题15分,总计45分)
要求:编写完整的代码,代码以独立文件的格式提交,每个题目建立一个java源文件)
1. 编写代码,判断数字1059是否是质数(素数)?
说明:质数指只能被1和自身整除的自然数,最小的质数是2.
2. 编写代码,实现数组元素的颠倒。例如{1,2,3,4}变成{4,3,2,1}
3. 编写代码,输出99乘法表。
=====================================================================================================
1. 10001 21 11
11101111(8位)
2. 4 16
3. JDK Eclipse
4. javac java
5. 101 69
6. 1 false 0 -16
7. double类型的数值不能直接赋值给float
数值超出char的取值范围
数值超出byte的取值范围
标识符非法,关键字不能作为标识符
8. 101 101
9. 顺序 条件 循环
10. byte short char int
11. switch中表达式的类型不能为boolean类型
case后面不能跟变量
case中各分支的值不能相同
12. 16
13. 0 kind[15]不存在
14. 2 test[6]不存在
15. 10 10 5 6
16. m[0] max < m[i] 或者m[i] > max
17. Java是一个简单的程序语言,我们将在手机游戏开发课程中学习它。
18. 把3个苹果平均分成4份,然后每个人分一个苹果和3份切开的苹果
19. 0 1
20. 62.8 314
二、简答题
1. 答:Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class文件,也就是Java程序,的跨平台性。
2. 答:
1) 首先执行语句A
2) 然后判断语句B,如果语句B为false,则跳出循环
3) 否则执行语句D
4) 然后执行语句C
5) 跳转到2)继续执行
3. 答:单行注释语法格式:// 适用于程序中简单的说明
多行注释语法格式:/* */ 适用于程序中比较复杂的程序逻辑的说明
文档注释语法格式:/** */ 适用于程序中整体结构的注释,用于生成程序类结构文档。