单选题
1、Java属于以下哪种语言?(C)
A、机器语言
B、汇编语言
C、高级语言
D、以上都不对
2、在JDK安装目录下,用于存放可执行程序的文件夹是?A
A、bin
B、jre
C、lib
D、db
3、下列Java命令中,哪一个可以编译HelloWorld.java文件?D
A、java HelloWorld
B、java HelloWorld.java
C、javac HelloWorld
D、javac HelloWorld.java
4、以下关于java命令作用的描述中,正确的是A
A、它专门负责解析由Java编译器生成的.class文件
B、它可以将编写好的Java文件编译成.class文件
C、可以把文件压缩
D、可以把数据打包
5、下面关于配置path环境变量作用的说法中,正确的是(A )
A、在任意目录可以使用javac和java命令
B、在任意目录下可以使用class文件
C、在任意目录可以使用记事本
D、在任意目录下可以使用扫雷游戏
6、下面关于path和classpath的说法中,错误的是(C)
A、path用来指定 java 虚拟机(JVM) 所在的目录
B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件) 所在的目录
C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同
D、只要设置了classpath 这个环境变量系统就不会再在当前目录下查询某个类
7、下面关于classpath的说法中,错误的是(D)。
A、classpath和path环境变量的查看与配置的方式完全相同。
B、为了让Java虚拟机能找到所需的class文件,就需要对classpath环境变量进行设置。
C、从JDK5.0开始,如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。
D、在命令行窗口中配置了classpath后,重新打开新命令行窗口依然生效
8、下面哪种类型的文件可以在Java虚拟机中运行?(D)
A、.java
B、.jre
C、.exe
D、.class
9、阅读下段代码片段,选择正确的运行结果A
public static void main(String[] args) {
{
int a = 1;
System.out.print(a);
}
{
int a = 2;
System.out.print(a);
}
int a = 3;
System.out.print(a);
}
A、123
B、111
C、121
D、编译不通过
10、下面选项中,哪个是短路与运算符( B )
A、&
B、&&
C、|
D、||
11、关于表达式1234/1000 * 1000的运算结果,下列哪个选项是正确的(B )
A、1234
B、1000
C、1234.0
D、以上都不对
12、下面的运算符中,用于执行除法运算是哪个?A
A、/
B、\
C、%
D、*
13、以下哪个选项可以正确创建一个长度为3的二维数组(B )
A、new int [2][3];
B、new int[3][];
C、new int[][3];
D、以上答案都不对
14、下列选项中,不属于比较运算符的是A
A、=
B、==
C、<
D、<=
15、下列选项中,用于引入包的关键字是B
A、class
B、import
C、package
D、static
16、下列选项中,哪一个不能通过编译(D )
A、byte a=1;
B、short b=100;
C、int c='a';
D、long d=8888888888;
17、下列选项中,哪一个是多行注释符号?(D )
A、//* *//
B、/* /*
C、/ /
D、/* */
18、为了能让外界访问私有属性,需要提供一些使用( C )关键字修饰的公有方法。
A、void
B、default
C、private
D、public
19、下列修饰符中,哪个修饰内部类后,会使内部类会随着外部类的加载而加载。A
A、static
B、protected
C、public
D、private
20、阅读下列的程序
class Person{
static{
System.out.println(name);
}
private static String name = "hello";
}
class Demo{
public static void main(String[] args){
Person p = null;
}
}
下列关于程序运行结果的描述中,正确的是(D)
A、无结果输出
B、输出 null
C、输出 hello
D、编译失败
21、当一个类中成员变量和局部变量重名时,可以使用哪个关键字进行区分( B )
A、super
B、this
C、public
D、true
22、请阅读下面的程序,选择正确的运行结果。A
class Demo{
private static int x ;
public static void main(String[] args){
System.out.println(x++);
}
}
A、0
B、1
C、无结果
D、编译失败
23、下列关于构造方法的描述,错误的是( A )。
A、一个类中只能定义一个构造方法
B、一个类中可以定义多个构造方法
C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法
D、构造方法的作用是用来给属性进行初始化的
A、一个类中只能定义一个空参数的构造方法
B、一个类中可以定义多个构造方法
C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法
D、构造方法的作用是给属性初始化
24、下列修饰符中,成员内部类被( C )修饰后,可以被外界访问。
A、default
B、protected
C、public
D、private
25、下列关于类与对象的说法中,正确的是(C )
A、类可以看做是一个模型,可以用来创建对象
B、没有类,也可以创建对象
C、类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体
D、以上说法都不对
26、在以下什么情况下,构造方法会被调用?B
A、类定义时
B、创建对象时
C、调用对象方法时
D、使用对象的变量时
27、“隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个特征( A )
A、封装
B、继承
C、多态
D、以上都不是
28、下列关键字中,用于创建类的实例对象的是( B )。
A、class
B、new
C、private
D、void
29、下列关于匿名内部类的描述,错误的是( D )
A、匿名内部类是内部类的简化形式
B、匿名内部类的前提是必须要继承父类或实现接口
C、匿名内部类的格式是"new 父类(参数列表) 或父接口(){}"
D、匿名内部类可以有构造方法
30、自定义运行时异常,必须继承自( C )类
A、Error
B、Exception
C、RuntimeException
D、Throwable
31、在下面哪种情况下,可以使用方法重写?( C )
A、父类方法中的形参不适用于子类使用时
B、父类中的方法在子类中没有时
C、父类的功能无法满足子类的需求时
D、父类方法中的返回值类型不适合子类使用
32、下列选项中,用于解压jar文件的命令是( B )
A、jar –c
B、jar -x
C、jar -v
D、jar -f
33、在try{}catch(______e){}横线处需要填写的是( B )
A、异常对象
B、异常类
D、任意类
34、System类位于以下哪个包中?D
A、java.io
B、java.util
C、java.awt
D、https://www.doczj.com/doc/436359885.html,ng
35、final修饰符不可以修饰如下哪个内容?(B)
A、类
B、接口
C、方法
D、变量
36、Java中所有的类都是通过直接或间接地继承( A )类得到的
A、https://www.doczj.com/doc/436359885.html,ng.Object
B、https://www.doczj.com/doc/436359885.html,ng.Class
C、任意类
D、以上答案都不对
37、在Java语言中,以下哪个关键字用于在方法上声明抛出异常?C
A、try
B、catch
C、throws
D、throw
38、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?C
A、public
B、protected
C、private
D、default
39、Thread类位于下列哪个包中?B
A、java.io
B、https://www.doczj.com/doc/436359885.html,ng
C、java.util
D、java.awt
40、线程调用sleep()方法后,该线程将进入以下哪种状态?C
B、运行状态
C、阻塞状态
D、死亡状态
41、下列方法中,用于判断字符串是否相等的是(C)
A、boolean contains(CharSequence cs)
B、String toLowerCase()
C、boolean equals(Object anObject)
D、boolean isEmpty()
42、下列关于System类中getProperties()方法的描述中,正确的是?(A)
A、getProperties()方法用于获取当前的操作系统的属性
B、getProperties()方法用于获取当前JVM的属性
C、getProperties()方法用于获取指定键指示的操作系统属性
D、getProperties()方法用于获取指定的JVM的属性
A、getProperties()方法用于获取当前的操作系统的属性
B、getProperties()方法用于获取当前JVM的属性
C、getProperties()方法用于获取指定键指示的操作系统属性
D、getProperties()方法用于获取指定的JVM的属性
43、下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是?(A )
A、random()
B、abs()
C、sin()
D、pow()
44、下列是Random类的一些常用方法,其中能获得指定范围随机数的方法是?( D )
A、nextInt()
B、nextLong()
C、nextBoolean()
D、nextInt(int n)
45、下列关于包装类的描述中,错误的是?(D)
A、包装类的作用之一就是将基本类型包装成引用类型
B、包装类它可以完成在基本类型与String类型之间的转换
C、包装类一共有八个,对应的基本数据类型
D、可以通过继承包装类完成自定义包装类的设计
46、下列关于Date类的描述中,错误的是?( D )
A、Date类获取的时间是以1970年1月1日0时0分0秒开始计时的
B、在JDK1.1之后,Date类逐渐被Calendar类取代
C、Date类中大部分构造方法都被声明为已过时
D、Date类中大部分方法依然推荐使用
47、下列关于DateFormat中parse(String source)方法的说法中错误的是?( C )
A、能够将一个字符串解析成Date对象
B、要求字符串必须符合日期/时间的格式要求
C、返回值是字符串类型的日期
D、执行该方法需要处理ParseException异常
48、在DateFormat类中定义了四个常量值用于作为参数传递给这些方法,其中FULL常量表示?(A )
A、完整格式
B、长格式
C、普通格式
D、短格式
49、在进行日期格式化时,代表秒的字母是?( A )
A、s
B、S
C、M
D、m
50、是打发A
A、1
B、2
C、3
D、4
51、下列关于Java特点的描述中,错误的是?C
A、Java语言不支持指针
B、Java具有自动垃圾回收的机制
C、Java只能运行在Window和Linux平台
D、Java允许多个线程同时执行
52、下列关于JDK、JRE和JVM关系的描述中,正确的是D
A、JDK中包含了JRE,JVM中包含了JRE。
B、JRE中包含了JDK,JDK中包含了JVM。
C、JRE中包含了JDK,JVM中包含了JRE。
D、JDK中包含了JRE,JRE中包含了JVM。
53、下列关于JDK的说法中,错误的是?C
A、JDK是Java开发工具包的简称
B、JDK包括Java编译器、Java文档生成工具、Java打包工具等
C、安装JDK后,还需要单独安装JRE
D、JDK是整个Java的核心
54、下列关于JDK安装的说法中,错误的是?D
A、Oracle公司提供了多种操作系统的JDK
B、开发工具中已经包含了一个JRE,因此可以选择不再安装公共的JRE环境
C、在安装JDK过程中,源代码指的是Java公共的API类
D、开发工具是JDK中的核心功能模块,因此无论是否进行Java程序开发都必须安装
55、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种(B )
A、Java文档制作工具
B、Java解释器
C、Java编译器
D、Java启动器
56、请阅读下列示例代码,选择程序的输出结果D
int a = 1;
int b = a++;
int c = ++a;
int d = a++ + ++a;
System.out.print(a + "," + b + "," + c + "," + d);
A、5,1,3,9
B、5,2,3,9
C、5,1,2,9
D、5,1,3,8
57、下列关于数组最值的描述中,错误的是( B )
A、要想求数组的最值必须先定义一个数组
B、在求数组最值时,初始时一定要将数组中的第一个元素的值赋给变量
C、求数组最值过程中,一定要对数组进行遍历
D、在求数组最大值时,使用变量记住每次比较后较大的那个值
58、下列数据类型进行运算时,哪一个会发生自动类型提升C
A、int + int
B、long + long
C、byte + byte
D、double + double
59、关于方法的递归,以下说法错误的是D
A、方法递归必须有结束条件
B、方法递归次数太多会导致内存溢出
C、方法递归就是指在一个方法的内部调用自身的过程
D、方法递归可以无数次,只要有结束条件就可以
60、题号:请先阅读下面的代码。
int x = 1;
int y = 2;
if (x % 2 == 0) {
y++;
} else {
y--;
}
System.out.println("y=" + y);
上面一段程序运行结束时,变量y的值为下列哪一项A
A、1
B、2
C、3
61、阅读下面的程序
public class Test {
public static void main(String[] args) {
for(int x = 0 ; x <=3 ; x++){
continue;
System.out.print(x%2);
}
}
}
运行结果正确的是A
A、跳出循环,无输出
B、0121
C、01
D、0123
62、下列关于注释的使用,错误的是?( D )
A、int c = 10; //定义变量c
B、/* int c = 5; int x =6; */
C、/** 这是类的入口方法 */
D、/* /*int c = 10;*/ int x=5; */
63、下列关于while语句的描述中,正确的是A
A、while语句循环体中可以没有语句
B、while语句的循环条件可以是整型变量
C、while语句的循环体必须使用大括号
D、while语句的循环体至少被执行一次
64、下面选项中,哪一个不是Java中的关键字A
A、sizeof
B、const
C、public
D、goto
65、已知类的继承关系如下:
class A
class B extends A
class C extends A
则以下语句中能够通过编译的是?( A )
A、A a=new B();
B、C c=new B();
C、C c=new A();
D、B b=new C();
66、请阅读下面的程序
public class Test {
public static void main(String[] args) { int temp = 0;
for (int i = 1; i < 5; i++) {
for (int j = 0; j < i; j++) {
temp++;
}
}
System.out.println(temp);
}
}
下列选项中,哪个是程序的运行结果(C)
A、5
B、9
C、10
D、15
67、下列选项中,哪个是程序的运行结果C
class Test
{
public static void main(String[] args)
{
int a = 3;
int b = 6;
System.out.print(a==b);
System.out.print(a
System.out.print(a!=b);
System.out.print(a>=b);
}
}
A、false false true false
B、false false true true
C、false true true false
D、true false false true
68、下列关于浮点型数据的定义,哪一个不能通过编译( B )
A、double a=12.45;
B、float b=12.45;
C、double c=100;
D、float d=100;
69、阅读下面的代码片段
public static int add(int a,int b) {
return a + b;
}
下列选项中,可以在main()方法中调用add()方法的是B
A、int num = add(1.0,2.0);
B、int num = add(1,2);
C、int num = add(true,flase);
D、int num = add("1", "2");
70、请阅读下面的代码
class A{
int x;
static int y;
void fac(String s){
System.out.println(“字符串:”+s);
}
}
下列选项中描述正确的是( B )
A、x , y和s 都是成员变量
B、x 是实例变量,y是类变量,s是局部变量
C、x和y是实例变量,s是参数
D、x ,y和s都是实例变量
71、请阅读下面的代码
String s1=new String(“abc”);
String s2=s1.intern();
String s3=”abc”;
System.out.println(s1==s2);
System.out.println(s2==s3);
System.out.println(s1==s3);
下列选项中,程序的输出结果为(A)
A、false true false
B、false false false
C、false true true
D、false false true
72、下列关于构造方法定义的描述中,错误的是(C )。
A、方法名与类名相同
B、在方法名的前面没有返回值类型的声明
C、当定义了有参构造方法,系统默认的无参构造方法依然存在
D、在方法中不能使用return语句返回一个值
73、先来看一段代码
class Demo{
Demo(){
}
}
下列构造方法中,可以存在于Demo类中的是(C)
A、public Demo(){}
B、private Demo(){}
C、Demo(int age,String name)(){}
D、Demo(){}
74、下列关于this的说法中,错误的是(D )
A、只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用
B、在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次
C、this关键字可以用于区分成员变量与局部变量
D、this可以出现在任何方法中
75、下列关于静态方法的描述中,错误的是( C )。
A、静态方法指的是被static关键字修饰的方法
B、静态方法不占用对象的内存空间,而非静态方法占有对象的内容空间
C、静态方法内可以使用this关键字
D、静态方法内部只能访问被static修饰的成员
76、下列关于单例设计模式的描述中,正确的是( B )
A、将一个类设计为单例设计模式,在其他类中可以创建这个类对象
B、将一个类设计为单例设计模式,必须私有其空参数构造方法,并且还不能定义有参数的构造方法
C、将一个类设计为单例设计模式,需要定义一个静态的成员方法将本类创建的对象返回给调用者
D、以上答案都不对
77、阅读下列的程序
public class Test3 {
public static void main(String[] args) {
_________________________
_________________________
}
}
class Outer {
static class Inner {
public void method () {
System.out.println("method");
}
}
}
下列选项中,可以正确输出method()方法的是( C )A、Outer o = new Outer();
o.method();
B、Inner I = new Inner();
i.method();
C、Outer.Inner oi = new Outer.Inner();
oi.method();
D、以上答案都不对
A、Outer o = new Outer(); o.method();
B、Inner I = new Inner(); i.method();
C、Outer.Inner oi = new Outer.Inner(); oi.method();
D、以上答案都不对
78、阅读下列的代码
public class Test {
public static void main(String[] args) {
_________________________
_________________________
}
}
class Outer {
static class Inner {
public void method () {
System.out.println("method");
}
}
}
下列选项中,填写在空白处可以使程序正常运行的是(C)
A、Outer o = new Outer(); o.method();
B、Inner I = new Inner(); i.method();
C、Outer.Inner oi = new Outer.Inner(); oi.method();
D、以上答案都不对
79、下面选项中,可以提取文档注释中作者信息的是( D )
A、javadoc –d . Demo1.java
B、javadoc –d . –public Demo1.java
C、javadoc –d . –version Demo1.java
D、javadoc –d . –author Demo1.java
80、以下关于继承的描述,说法正确的是( C )
A、子类继承父类的所有属性和方法
B、子类可以继承父类的私有的属性和方法
C、子类可以继承父类的公有的属性和方法
D、创建子类对象时,父类的所有构造方法都会被执行
81、函数重写与函数重载的相同之处是?(B)
A、权限修饰符
B、函数名
C、返回值类型
D、形参列表
82、下面对于final的描述中,错误的是?(A)
A、final修饰的局部变量可以被重新赋值
B、final修饰的变量被称之为常量
C、final修饰的基本数据类型变量,不能改变其值
D、final修饰的引用数据类型变量,不能改变其地址值
83、以下抽象类的定义中,错误的是?(D)
A、abstract class Demo1{}
B、abstract class Demo2{ public abstract String fun(String a); }
C、abstract class Demo3{ public String fun(){ return "CZBK"; } }
D、abstract class Demo4{ public static final String CZBK = "传智播客"; abstract void fun(){} }
84、下列选项中,关于接口的定义正确的是?( B )
A、abstract class Demo1{ abstract void speak(); abstract void eat(); }
B、interface Demo2{ void speak(); void eat(); }
C、interface Demo3{ void speak(); void eat(){}; }
D、interface Demo4{ void speak(){ System.out.println("ITCAST"); } void eat(); }
85、下列关于接口的描述,错误的是?(B)
A、接口不是Object类的子类
B、一个接口只能继承一个接口
C、一个接口可以继承多个接口
D、接口不能被实例化
86、阅读下段代码,
class Dog
{
public String name;
Dog(String name){
https://www.doczj.com/doc/436359885.html, =name;
}
}
public class Demo1
{
public static void main(String[] args){
Dog dog1 = new Dog("xiaohuang");
Dog dog2 = new Dog("xiaohuang");
String s1 = dog1.toString();
String s2 = dog2.toString();
String s3 = "xiaohuang";
String s4 = "xiaohuang";
}
}
返回值为true的是?( C )
A、dog1.equals(dog2)
B、s1.equals(s2)
C、s3.equals(s4)
D、dog1==dog2
87、对于使用多态的应用程序,某个对象的确切类型何时能知道?( B )
A、执行时才可以知道
B、应用程序编译时能够判断
C、程序员编写程序时就已知道
D、永远不会知道
88、下列关于对象的类型转换的描述,说法错误的是( C )
A、对象的类型转换可通过自动转换或强制转换进行
B、无继承关系的两个类的对象之间试图转换会出现编译错误
C、由new语句创建的父类对象可以强制转换为子类的对象
D、子类的对象转换为父类类型后,父类对象不能调用子类的特有方法
89、下列程序运行结果是(B )
public class Demo {
public static void main(String[] args) {
Demo demo = new Demo();
demo.show(new Car() {
public void run() {
System.out.println("demo run");
}
});
}
public void show(Car c) {
c.run();
}
}
abstract class Car {
public void run() {
System.out.println("car run...");
}
}
A、car run
B、demo run
C、无结果
90、以下对于try…catch语句描述正确的是( C)
A、try…catch语句处理程序中的错误
B、try...catch语句处理程序中的bug
C、try...catch语句处理程序中的异常
D、以上说法都不正确
91、下列异常中,属于编译时异常的是(C )
A、NumberFormatException
B、ArithmeticException
C、Exception
D、RuntimeException
92、下列关于自定义异常的说法中,错误的是( D )
A、自定义异常要继承Exception类
B、自定义异常继承Exception类后,具有可抛性
C、自定义异常可以在构造方法中用super关键字传递异常信息给父类
D、自定义异常必须继承Error类
93、阅读下面的代码,编译后会生成几层包?( C )
package cn.itcast.mypack;
class PackageDemo
{
public static void main(String [] args)
{
System.out.println("Hello package!");
}
}
A、一层包(cn)
B、二层包(cn.itcast)
C、三层包(cn.itcast.mypack)
D、四层包(cn.itcast.mypack.PackageDemo)
94、下列关于protected的说法中,正确的是( C )
A、protected修饰的方法,只能给子类使用
B、protected修饰的类,类中的所有方法只能给子类使用
C、如果一个类的成员被protected修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问