java笔试题

       闲来无事,就做了一套Java笔试题,也不知道具体是那个公司的,里面的有些题目还是可以研究的,感觉值得一弄。题目答案或许有些错误,望大家给予纠正,共同探讨!

一、判断题(30分)
1Java程序里,创建新类对象用关键字new,回收无用的类对象使用关键字free
2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
4.类及其属性、方法可以同时有一个以上的修饰符来修饰。
5Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点 
6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
7Final类中的属性和方法都必须被final修饰符修饰。
8.最终类不能派生子类,最终方法不能被覆盖。

最终类(终极类):被final修饰的类,当然不能派生出子类了。
9.子类要调用父类的方法,必须使用super关键字。
10.一个Java类可以有多个父类。
11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。
12.在java集合中,VectorHashMap是线程安全的。

Vector Hashtable 是同步的,安全的

 ArrayList 和 HashMap不是同步的 ,不安全
13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
15.用“+”可以实现字符串的拼接,用可以从一个字符串中去除一个字符子串。

二、选择题(30分)
1、关于垃圾收集的哪些叙述是正确的(  C ):
A.程序开发者必须自己创建一个线程进行内存释放的工作
B.垃圾收集允许程序开发者明确指定并立即释放该内存
C.垃圾收集将检查并释放不再使用的内存
D.垃圾收集能够在期望的时间释放被java对象使用的内存
2、下面的哪些赋值语句是不正确的( A  ):
Afloat f=11.1;
Bdouble d=5.3E12;
Cdouble d=3.14159;
Ddouble d=3.14D
3、下面关于变量及其范围的陈述哪些是不正确的(  B ):
A.实例变量是类的成员变量
B.实例变量用关键字static声明
C.在方法中定义的局部变量在该方法被执行时创建
D.局部变量在使用前必须被初始化
4、下列关于修饰符混用的说法,错误的是( B ):
Aabstract不能与final并列修饰同一个类
Babstract类中不可以有private的成员
Cabstract方法必须在abstract类中
Dstatic方法中能处理非static的属性
5、容器PanelApplet缺省使用的布局编辑策略是(  B  ):
ABorderLayout  BFlowLayout      CGridLayout      DCardLayout
6、以下标识符中哪项是不合法的 C   )
A、 BigMeaninglessName                     B$int
C1 st                                    D$1
7main方法是Java  Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(   B ):
A、    public  static  void  main()
B、    public  static  void   mainString[ ]  args
C、    public  static int  mainString[ ]  arg
D、    public  void  mainString  arg[ ]
8、执行完以下代码int [ ]  x = new  int[25];后,以下哪项说明是正确的(   A ):
A、    x[24]0
B、    x[24]未定义
C、    x[25]0
D、    x[0]为空
9、以下代码段执行后的输出结果为(  B   ):
int  x=3; int  y=10
System.out.println(y%x);
A0
B1
C2
D3
10、以下哪个表达式是不合法的(   D ):
AString  x=Hello;   int  y=9;   x+=y;
BString  x=Hello;   int  y=9;  if(x= =y)  { }
CString  x=Hello;  int  y=9;  x=x+y;
DString  x=null;  int  y=(x!=null)&&(x.length()>0) ? x.length : 0

//String  x=null;  int  y=(x!=null)&&(x.length()>0) ? X.length() : 0
11、编译运行以下程序后,关于输出结果的说明正确的是 (   C ):
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、    编译错误
12、以下声明合法的是(   D  ):
A、    default  String  s
B、    public  final  static  native  int  w( )
C、    abstract  double  d
D、    abstract  final  double  hyperbolicCosine( )
13、关于以下application的说明,正确的是(  C  ):
1.  class   StaticStuff
2. {
3.                  static  int  x=10
4.                  static  { x+=5}
5.                  public  static  void  mainString  args[ ]
6.                  {
7.                       System.out.println(x=” + x);
8.                  }
9.                  static  { x/=3;}
10.   }
A、 4行与9行不能通过编译,因为缺少方法名和返回类型
B、 9行不能通过编译,因为只能有一个静态初始化器
C、 编译通过,执行结果为:x=5
D、编译通过,执行结果为:x=3
14关于以下程序代码的说明正确的是( B  ):
1class  HasStatic{
2.    private  static  int  x=100
3.    public  static  void  main(String  args[  ]){
4.        HasStatic  hs1=new  HasStatic(  );
5.        hs1.x++;
6.        HasStatic  hs2=new  HasStatic(  );
7.        hs2.x++;
8.        hs1=new  HasStatic( );
9.        hs1.x++;
10.       HasStatic.x- -;
11.       System.out.println(x=+x);
12.   }
13}
A5行不能通过编译,因为引用了私有静态变量
B10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:x=103
D、程序通过编译,输出结果为:x=102
15、以下选项中循环结构合法的是( C   ):
Awhile (int  i<7){
i++;
System.out.println(i is +i);
}
Bint  j=3;
while(j){
System.out.println(“ j  is +j);
}
Cint  j=0;
for(int  k=0; j + k !=10; j++,k++){
System.out.println(“ j  is + j + k  is+ k);
}
Dint  j=0;
do{
System.out.println( j  is +j++);
if (j = = 3) {continue  loop;}
}while  (j<10);

三、简答题(40分)
1.    写出下列程序的运行结果
public class Cat
{
void mi( ) throws NullPointerException
{
System.out.println( Cat mi mi .. “ );
}
}
public class SmallCat extends Cat
{int i=8;
void mi( ) throws Exception
{
System.out.println( SmallCat mi mi .. “ );
}
public static void main( String[] a ) throws Exception
{
Cat cat = new SmallCat();
cat.mi();
}
}

运行结果:SmallCat mi mi ..

写出下列程序的运行结果
interface Playable {
void play();
}
interface Bounceable {
void play();
}
interface Rollable extends Playable, Bounceable {
Ball ball = new Ball(PingPang);
}
class Ball implements Rollable {
private String name;
public String getName() {
return name;
}
public Ball(String name) {
this.name = name;
}
public void play() {
ball = new Ball(Football);
System.out.println(ball.getName());
}
}

写出下列程序的运行结果
class Value{
public int i = 15;
}
public class Test{
public static void main(String argv[]){
Test t = new Test();
t.first();
}
public void first(){
int i = 5;
Value v = new Value();
v.i = 25; //i=25
second(v, i);
System.out.println(v.i);
}
public void second(Value v, int i){
i = 0;
v.i = 20;
Value val = new Value();
v = val;
System.out.println(v.i + ” ” + i);// i=20
}
}

运行结果:15 0

          20

写出下列程序的运行结果
class MyThread extends Thread{
public void run(){
System.out.println(MyThread: run());
}
public void start(){
System.out.println(MyThread: start());
}
}
class MyRunnable implements Runnable{
public void run(){
System.out.println(MyRunnable: run());
}
public void start(){
System.out.println(MyRunnable: start());
}
}
public class MyTest {
public static void main(String args[]){
MyThread myThread  =  new MyThread();
MyRunnable myRunnable = new MyRunnable();
Thread thread  =  new Thread(myRunnable);
myThread.start();
thread.start();
}
}

运行结果:
MyThread: start()

MyRunnable: run()

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcbeyond

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值