JAVA练习题解析:选择题挑战

需积分: 0 0 下载量 120 浏览量 更新于2024-09-07 收藏 49KB DOC 举报
"这是一份Java复习资料,包含了各种题型的练习题目,旨在帮助学习者巩固和提升Java编程技能。资料中未提供答案,适合自我测试和学习使用。" 这份资料涵盖了Java编程的基础知识,包括语法、数据类型、流程控制、类与继承等多个方面。下面是对部分题目涉及知识点的详细解释: 1. 题目1考察了循环和条件判断。`while((m++)<(--n))++k;` 这行代码首先检查 `m++` 是否小于 `--n`,如果成立则执行循环体内的 `++k`。根据题目,`m` 初始化为3,`n` 初始化为6,因此在第一次比较前 `m` 变为4,`n` 变为5。由于 `m` 不小于 `n`,循环不执行,所以 `k` 的值保持为0。 2. 题目2测试了赋值语句的正确性。选项B `a[0]=7;` 是正确的,因为它为数组 `a` 的第一个元素赋值。其他选项都是错误的赋值形式。 3. 题目3涉及到Java类的继承特性。Java中的类支持单重继承,即一个类只能直接继承自一个父类,用 `extends` 关键字表示。 4. 题目4考察算术运算。`i+=i-1;` 相当于 `i = i + (i - 1)`,初始值 `i=6`,执行后 `i` 的值会变为11。 5. 题目5涉及子类继承父类的关键字。在Java中,用 `extends` 关键字声明子类继承父类。 6. 题目6检查数组索引的正确性。`x[5-3]` 和 `x[k]` 是有效的,而 `x[k+5]` 和 `x[0]` 在给定范围内可能是无效的,因为数组索引是从0开始且不能超出数组长度。 7. 题目7涉及字符类型的比较。字符'A'的ASCII码是65,'W'的ASCII码是87,加上2后,'A'不会小于'W',所以 `++ch1` 不执行,`ch1` 的值仍为 'A'。 8. 题目8测试条件分支语句。`if(i-1>j)i--;elsej--;` 当 `i` 为8,`j` 为16时,条件不成立,执行 `else` 里的语句,`j` 减1,所以 `i` 的值仍然是8。 9. 题目9涉及 `switch` 语句。`switch(j-i)` 的结果是2,匹配到 `case9`,因此 `k` 增加2。由于没有 `break` 语句,执行到 `case10`,`k` 再次增加3。最后 `k` 的值是32。 10. 题目10测试 `for` 循环。`for(inti=0,j=1;j<5;j+=3)i=i+j;` 当 `j` 为1时,`i` 初始化为0,然后 `i` 加上1,循环结束,`i` 的值为1。 11. 题目11是逻辑表达式的判断。`x!=y` 表示 `x` 不等于 `y`,在这个例子中,`x` 为3.5,`y` 为4.6,所以表达式 `x!=y` 的值为 `true`。 12. 题目12涉及 `do-while` 循环。`do{i/=2;}while(i>3);` 当 `i` 大于3时,执行循环体,每次循环 `i` 都除以2,直到 `i` 不再大于3,最终 `i` 的值为4。 13. 题目13是关于无限循环的识别。`for(inti=0;true;i++);` 这个循环条件是 `true`,因此会一直执行下去,直到被程序强制中断,所以实际执行次数是无限的。 通过这些题目,学习者可以检测自己对Java基础语法的理解,包括变量、操作符、流程控制、数组、类和对象等核心概念。