一个比较综合的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.default  String  s;                    B.public  final  static  native  int  w( )
C.abstract  double  d;                  D.abstract  final  double  hyperbolicCosine( )
( 8)Applet可以做下列哪些操作?(       )
A.读取客户端文件             B.在客户端主机上创建新文件 
C.在客户端装载程序库         D.读取客户端部分系统变量
(9)下列关于for循环和while循环的说法中哪个是正确的?(    )   
A.while循环能实现的操作,for循环也都能实现     
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果     
C.两种循环任何时候都可替换     
D.两种循环结构中都必须有循环体,循环体不能为空
(10)类Test1定义如下:
1.public  class  Test1{
2.                public  float  aMethod(float  a,float  b){   }
3.               
4.}       
将以下哪种方法插入行3是不合法的。(          )
A、public  float  aMethod(float  a, float  b,float  c){  }
B、public  float  aMethod(float  c,float d){  }
C、public  int  aMethod(int  a, 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)编译运行以下程序后,关于输出结果的说明正确的是 (        )
        public  class   Conditional{
                public  static  void  main(String  args[  ]){
                        int  x=4;
                        System.out.println(“value  is  “+ ((x>4) ? 99.9 :9));
}
}
A.输出结果为:value  is  99.99                B.输出结果为:value  is  9
C.输出结果为:value  is  9.0                        D.编译错误
(13)执行完以下代码int [ ]  x = new int[10];后,以下哪项说明是正确的(        )
A.x[9]为0                B.x[9]未定义                C.x[10]为0                D.x[0]为空
(14)关于以下程序段,正确的说法是(          )
1.  String  s1=“a”+“b”;
2.   String  s2=new  String(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、写出以下程序的运行结果。
class  First{
                public  First(){
                        aMethod();                }
                public  void  aMethod(){
                        System.out.println(“in  First  class”);}
}
public  class  Second  extends  First{
                public  void  aMethod(){
                        System.out.println(“in  Second  class”);}
public static void main(String[ ]  args){
                        new  Second( );                }
}

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内的所有文本行。
 
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值