一个比较综合的Java语言基础试题

第二届全国ITAT教育工程就业技能大赛预赛试题 Java程序设计
注意:在指定的路径下创建以姓名和准考证号命名的文件夹,并将试题答案存放在以题号命名的子文件夹中。凡未按照要求将试题存放在相应文件夹中的考生成绩一律作废。

一.选择题(每道题3分,共45分)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

(1)下列关于Java语言的特点,描述错误的是( )
A.Java是跨平台的编程语言 B.Java支持分布式计算
C.Java是面向过程的编程语言 D.Java支持多线程
(2)下述概念中不属于面向对象方法的是________。
A.对象、消息 B.继承、多态 C.类、封装 D.过程调用
(3)结构化程序设计所规定的三种基本控制结构是 ( )
A.输入、处理、输出   B.树形、网形、环形
C.顺序、选择、循环   D.主程序、子程序、函数
(4)下列关于构造方法的叙述中,错误的是( )
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
(5)下列哪个类的声明是正确的?
A.abstract final class HI{} B.abstract private move(){}
C.protected private number; D.public abstract class Car{}
(6)关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
(7)以下声明合法的是( )
A.defaultStrings; B.publicfinalstaticnativeintw( )
C.abstractdoubled; D.abstractfinaldoublehyperbolicCosine( )
8)Applet可以做下列哪些操作?( )
A.读取客户端文件   B.在客户端主机上创建新文件 
C.在客户端装载程序库    D.读取客户端部分系统变量
(9)下列关于for循环和while循环的说法中哪个是正确的?( )
A.while循环能实现的操作,for循环也都能实现  
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果  
C.两种循环任何时候都可替换  
D.两种循环结构中都必须有循环体,循环体不能为空
(10)类Test1定义如下:
1.publicclassTest1{
2. publicfloataMethod(floata,floatb){ }
3.
4.}
将以下哪种方法插入行3是不合法的。( )
A、publicfloataMethod(floata, floatb,floatc){}
B、publicfloataMethod(floatc,float d){}
C、publicintaMethod(inta, int b){}
D、private float aMethod(int a,int b,int c){}
(11)阅读以下代码:
import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}
输出结果应该是:( )
A.代码得到编译,并输出“s=”
B.代码得到编译,并输出“s=null”
C.由于String s没有初始化,代码不能编译通过
D.代码得到编译,但捕获到 NullPointException异常
(12)编译运行以下程序后,关于输出结果的说明正确的是 ( )
publicclass Conditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
System.out.println(“valueis“+ ((x>4) ? 99.9 :9));
}
}
A.输出结果为:valueis99.99 B.输出结果为:valueis9
C.输出结果为:valueis9.0 D.编译错误
(13)执行完以下代码int [ ]x = new int[10];后,以下哪项说明是正确的( )
A.x[9]为0 B.x[9]未定义 C.x[10]为0 D.x[0]为空
(14)关于以下程序段,正确的说法是( )
1.Strings1=“a”+“b”;
2. Strings2=newString(s1);
3. if(s1==s2)
4. System.out.println(“= =is succeeded”);
5. if (s1.equals(s2))
6. System.out.println(“.equals() is succeeded”);
A.行4与行6都将执行 B.行4执行,行6不执行
C.行6执行,行4不执行 C.行4、行6都不执行
(15)以下程序的运行结果是:( )
public class Increment{
public static void main(String args[]){
int c;
c = 2;
System.out.println(c);
System.out.println(c++);
System.out.println(c);
}
}
A.2 B.2 C.2 D.3
2 3 2 4
2 3 3 4

二.写出以下程序的运行结果。(每道题10分,共30分)
1、写出以下程序的运行结果。
public class ChangeStrDemo {
public static void changestr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changestr(str);
System.out.println(str);
}
}

2、写出以下程序的运行结果。
classFirst{
publicFirst(){
aMethod(); }
publicvoidaMethod(){
System.out.println(“inFirstclass”);}
}
publicclassSecondextendsFirst{
publicvoidaMethod(){
System.out.println(“inSecondclass”);}
public static void main(String[ ]args){
newSecond( ); }
}

3、写出以下程序的运行结果。
public class FooDemo{
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main(String[] args ) {
int i =0;
for ( foo(’a’); foo(’b’)&&(i<2); foo(’c’)){
i++ ;
foo(’d’);
}
}
}

三.编程题(45分)
1.编写一个Java程序要求:开启一个文本文件,一次读取其内的一行文本。令每一行形成一个String,并将读出的String对象置于LinkedList中。请以相反次序印出LinkedList内的所有文本行。

你可能感兴趣的:(java,C++,c,C#,D语言)