JavaSE笔试题
一.选择题(每小题1分,共30题,总计30分)
-
下面哪些是合法的标识符?( )
A.$num B.class C.*name D.1NO -
下面程序运行的结果是( )
Public class Example{
Public static void main(String[] args){
Int i=100;
Switch(i){
case 100:
System.out.print(i);
case 200:
System.out.print(i);
case 300:
System.out.print(i);
}
}
}
A.无任何输出 B.编译错误 C.输出 100100100 D.输出100
3.哪些不是java关键字?( )
A.super B.final C.public D.string
4.下面程序运行的结果是( )
Class Example{
Public static void main(String[] args){
Int x;
double y= -10.9;
x=(int)y;
System.out.print(x +” ”);
y = 10.9;
x = (int)y;
system.out.print(x);
}
}
A.-11 B.-11 11 C.-10 10 D.-10 11
5.下面程序运行的结果是( )
public class Example{
int x = 12;
public void method(int x){
x += x;
System.out.print(x);
}
Public static void main(String[] args){
Example t = new Example();
t.method(5);
}
}
A.5 B.10 C.12 D.24
-
下列数组声明语句中,错误的是:( )
A.int[] arr = new int[]{};
B.int[] arr = new int[];
C.int[] arr = {};
D.int[][] arr = new int[2][] -
在Java语言中,下列说法正确的是:( )
A. Java访问修饰符按照访问范围由低到高的排列顺序是public,default,protected,private
B. private可以用于外部类的声明
C. 一个Java源文件中声明为public的外部类只能有一个
D. protected声明的方法不可以被子类重写 -
如下方法声明中,错误的是()
A. public void say() { System.out.print(“Hi”); }
B. public void say() { System.out.print(“Hi”);return; }
C. public int say() { System.out.print(“Hi”);return; }
D. public int say() { System.out.print(“Hi”);return 0; } -
public class Bootchy {
int bootch;
String snootch;
public Bootchy() {
this(“snootchy”);
System.out.print("first ");
}
public Bootchy(String snootch) {
this(420, “snootchy”);
System.out.print("second ");
}
public Bootchy(int bootch, String snootch) {
this.bootch = bootch;
this.snootch = snootch;
System.out.print("third ");
}
public static void main(String[] args) {
Bootchy b = new Bootchy();
System.out.print(b.snootch + " " + b.bootch);
}}
的执行结果是()
A.first second third snootchy 420
B.third second first snootchy 420
C.third first second snootchy 420
D.first second first third snootchy 420
-
有变量声明如下:
short b = 120;
下列语句中,错误的是()
A.short s = b;
B.int i = b;
C.byte s1 = b;
D.long l = b; -
下列代码的输出结果是( ):
int j=0;
for(int i=0;i<100;i++){
j=j++;
}
System.out.println(j);
A.0 B.99 C.100 D.101 -
程序的执行结果是( a)
public class Test {
public static void main(String [] args){
String str1= new String(“abc”);
String str2 = new String(“abc”);
String str3=str1;
if(str1.equals(str2)){
System.out.println(“true”);
}else{
System.out.println(“false”);
}
if(str1==str3){
System.out.println(“true”);
}else{
System.out.println(“false”);
}
}
A.true true
B.true false
C.false true
D.false false -
下列数组声明语句中,错误的是:( )
A. int[] arr = new int[8];
B. int[] arr = new int[8]{};
C. int[] arr = {};
D. int[] arr = new int[]{}; -
在Java语言中,字符串“Java程序员”在内存中所占用的字节数是:( )
A.10 B.7 C.13 D.14 -
下列代码编译和运行的结果是:( )
public static void main(String[] args) {
String[] elements = { “for”, “tea”, “too” };
String first = (elements.length > 0) ? elements[0] : null;
System.out.println(first);
}
A.编译出错
B.输出:tea
C.输出:for
D.输出:null -
下列属于不合法Java标识符的是( )
A. _mem
B. 12a
C. M12
D. $12 -
下列代码的输出结果是:( )
String str1 = “WhatisJava”;
String str2 = “WhatisJava”;
System.out.print(str1.equals( str2));
System.out.print(",");
String str3 = new String(“WhatisJava”);
System.out.println(str1.equals(str3));
A. true,false B. false,false C. false,true D. true,true -
下列代码的运行结果是()
public static void main(String[] args) {
String str = “420”;
str += 42;
System.out.print(str);
}
A.42 B.420 C.462 D.42042 -
下列代码的输出结果是: ()
public class A {
public void info(){
System.out.println(“A info”);
}
}
public class B extends A{
public void info(){
System.out.println(“B info”);
}
public static void main(String[] args) {
B b=new B();
A a=b;
a.info();
}
}
A. B info A info
B. A info B info
C. A info
D. B info -
运行下面的程序:
int a = 100;
int b = 200;
a = a + b;
b = a - b;
a = a - b;
System.out.println(“a=” + a + “, b=” + b);
输出的结果是:()
A.a=100, b=300
B.a=100, b=200
C.a=200, b=100
D.a=300, b=200 -
查看如下代码:
class HasStatic{ //第1行
private static int x=100;//第2行
public static void main(String args[ ]){ //第3行
HasStatic hs1=new HasStatic( ); //第4行
hs1.x++; //第5行
HasStatic hs2=new HasStatic( ); //第6行
hs2.x++; //第7行
hs1=new HasStatic( ); //第8行
hs1.x++; //第9行
HasStatic.x–; //第10行
System.out.println(“x=”+x); //第11行
} //第12行
} //第13行
对于此代码,下列描述中,正确的是( )
A.5行不能通过编译,因为引用了私有静态变量
B.10行不能通过编译,因为x是私有静态变量
C.程序通过编译,输出结果为:x=103
D.程序通过编译,输出结果为:x=102 -
运行下面的语句:
String s="";
if(s==s+0){
System.out.println(“Hello World”);
}
编译,运行的结果是:()
A.Hello World
B.无输出
C.编译错误
抛出运行时异常 -
程序的执行结果是( )
public class Test {
int x;
public static void main(String [] args){
Test t = new Test();
t.x=5;
change(t);
System.out.println(t.x);
}
public static void change(Test t){
t.x=3;
}
}
A.5 B.3 C.0 D.4 -
请看下列代码:( )
public class Foo {
public void method(String str,int age){}
}
和Foo类中method方法重载的方法是:
A. public int method(String str,int age){}
B. public void method(String s,int year){}
C. protected void method(String s, int year){}
D. public int method(int year,String s){} -
在Java语言中,下列说法不正确的是()
A. 一个接口可以继承多个接口
B. 一个类可以继承多个类
C. 一个类可以实现多个接口
D. 一个类可以有多个子类 -
下列类的定义,错误的是()
A. public class Test extends Object{……}
B. final class Operators{……}
C. class Point{……}
D. void class Point{……} -
下列赋值语句中,会有编译错误的是( )
A. int a = 8888888888;
B. char b = 1000+300;
C. long c = 100;
D. int d = ‘a’+‘b’+‘c’; -
请看下列代码:
package com.chinasofti;
public class Geodetics {
public static final double DIAMETER = 12756.32;
}
访问静态常量DIAMETER的方式正确的是( ):
A.import com. chinasofti.Geodetics; public class TerraCarta { public double halfway(){ return Geodetics.DIAMETER/2.0; } }
B.import com. chinasofti.Geodetics; public class TerraCarta { public double halfway(){ return DIAMETER/2.0; } }
C.import com. chinasofti; public class TerraCarta { public double halfway(){ return Geodetics.DIAMETER/2.0; } }
D.import com. chinasofti.*; public class TerraCarta { public double halfway(){ return DIAMETER/2.0; } } -
查看如下代码:
public class Foo {
public void method(String str,int age){}
}
下列选项中,不属于Foo 类中 method 方法重载的方法是( )
A.public int method(String str,int age){}
B.public void method(int year,String s){}
C.public int method(int year,String s){}
D.public int method(String str){} -
在<插入代码>处,填入下列代码编译正确的是:()
public void foo(int[] x) {
<插入代码>
}
A.foreach(int z : x) System.out.println(z);
B.for(short z : x) System.out.println(z);
C.while( x.hasNext()) System.out.println( x.next());
D.for( int i=0; i< x.length; i++ ) System.out.println(x[i]);
二、简答题(每题5分)
1.请写出java的基本数据类型。
2.请简述String、StringBuffer和StringBuilder的区别。
3.请简述finally和final两个关键字的区别。
4.请简述错误和异常的区别。