java题库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单选题
1.下面选项中,哪一个不是Java中的关键字
A.sizeof
B.const
C.public
D.goto
正确答案:A
2.下列关于JDK的说法中,错误的是?
A.JDK是Java开发工具包的简称
B.JDK包括Java编译器、Java文档生成工具、Java打包工具等
C.安装JDK后,还需要单独安装JRE
D.JDK是整个Java的核心
正确答案:C
3.下列关于while语句的描述中,正确的是
A.while语句循环体中可以没有语句
B.while语句的循环条件可以是整型变量
C.while语句的循环体必须使用大括号
D.while语句的循环体至少被执行一次
正确答案:A
4.在类的继承关系中,需要遵循以下哪个继承原则?
A.多重
B.单一
C.双重
D.不能继承
正确答案:B
5.请阅读下面的程序代码
Class Person{
void say(){
System.out.println(“hello”);
}
}
class Example{
public static void main(String[] args){
Person p2 = new Person();
Person p1 = new Person();
p2.say();
p1.say();
p2=null;
p2.say();
}
}
下列关于程序运行结果的描述中,正确的是()
A.输出1个hello
B.输出2个hello后会抛出异常
C.输出3个hello后会抛出异常
D.不会输出hello,直接抛出异常
正确答案:B
6.请阅读下面的程序片段
boolean b=true;
if(b=false) {
System.out.println("a");
} else if(b) {
System.out.println(b);
} else if(!b) {
System.out.println("c");
} else {
System.out.println("d");
}
程序的执行结果是()
A.a
B.b
C.c
D.d
正确答案:C
7.下列关于case关键字的说法中,错误的是
A.case关键字后面必须是常量
B.case关键字后面的break必须存在
C.case关键字后面的break可以没有
D.case关键字后面的值必须不一样
正确答案:B
8.以下抽象类的定义中,错误的是?()
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(){} } 正确答案:D
9.已知类的继承关系如下:
class Employee;
class Manager extends Employeer;
class Director extends Employee;
则以下语句能通过编译的有哪些?
A.Employee e=new Manager();
B.Director d=new Manager();
C.Director d=new Employee();
D.Manager m=new Director();
正确答案:A
10.下列命令中,可以将文档注释提取出来生成帮助文档的是()
A.javac
B.java
C.javadoc
D.jar
正确答案:C
11.下列转义字符中,不合法的是()
A.'\n'
B.'\x'
C.'\r'
D.'\t'
正确答案:B
12.阅读下段代码,
class Dog
{
public String name;
Dog(String name){
=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的是?()
A.dog1.equals(dog2)
B.s1.equals(s2)
C.s3.equals(s4)
D.dog1==dog2
正确答案:C
13.以下关于继承的描述,说法正确的是()
A.子类继承父类的所有属性和方法
B.子类可以继承父类的私有的属性和方法
C.子类可以继承父类的公有的属性和方法
D.创建子类对象时,父类的所有构造方法都会被执行正确答案:C
14.函数重写与函数重载的相同之处是?()
A.权限修饰符
B.函数名
C.返回值类型
D.形参列表
正确答案:B
15.下列关于this关键字的说法中,错误的是()
A、this可以解决成员变量与局部变量重名问题
B、this出现在成员方法中,代表的是调用这个方法的对象
C、this可以出现在任何方法中
D、this相当于一个引用,可以通过它调用成员方法与属性
A.this可以解决成员变量与局部变量重名问题
B.this出现在成员方法中,代表的是调用这个方法的对象
C.this可以出现在任何方法中
D.this相当于一个引用,可以通过它调用成员方法与属性
正确答案:C
16.下列关于自定义异常的说法中,错误的是()
A.自定义异常要继承Exception类
B.自定义异常继承Exception类后,具有可抛性
C.自定义异常可以在构造方法中用super关键字传递异常信息给父类
D.自定义异常必须继承Error类
正确答案:D
17.请阅读下面的代码
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.false true false
B.false false false
C.false true true
D.false false true
正确答案:A
18.请阅读下面的代码
class A{
int x;
static int y;
void fac(String s){
System.out.println(“字符串:”+s);
}
}
下列选项中描述正确的是()
A.x , y和s 都是成员变量
B.x 是实例变量,y是类变量,s是局部变量
C.x和y是实例变量,s是参数
D.x ,y和s都是实例变量
正确答案:B
19.阅读下列的代码
public class Test {
public static void main(String[] args) {
_________________________
_________________________
}
}
class Outer {
static class Inner {
public void method () {
System.out.println("method");
}
}
}
下列选项中,填写在空白处可以使程序正常运行的是()
A.Outer o = new Outer(); o.method();
B.Inner I = new Inner(); i.method();
C.Outer.Inner oi = new Outer.Inner(); oi.method();
D.以上答案都不对
正确答案:C
20.下列关于Java特点的描述中,错误的是?
A.Java语言不支持指针
B.Java具有自动垃圾回收的机制
C.Java只能运行在Window和Linux平台
D.Java允许多个线程同时执行
正确答案:C
21.请阅读下面的代码片段
public static int add(int a,int b) {
return a + b;
}
下列选项中,可以在main()方法中成功调用add()方法的是
A.int num = add(1.0,2.0);
B.int num = add('a','b');
C.int num = add(true,flase);
D.int num = add("1","2");
正确答案:B
22.下了关于接口继承的说法中,正确的是?()
A.接口继承自Object类
B.一个接口只能继承一个接口
C.一个接口可以继承多个接口
D.接口不能被继承
正确答案:C
23.下列关于接口的描述,错误的是?()
A.接口不是Object类的子类
B.一个接口只能继承一个接口
C.一个接口可以继承多个接口
D.接口不能被实例化
正确答案:B
24.下面选项中,哪个关键字可以修饰局部变量?()
A.abstract
B.final
C.static
D.private
正确答案:B
25.阅读下列的程序
public class Example {
public static void main(String[] args) {
new Father () {
public void show() {
System.out.println("helloworld");
}
}.show();
}
}
class Father {
public void show() {
System.out.println("hellofather");
}
}
A.hellofather
B.helloworld
C.编译报错
D.编译通过,运行报错
正确答案:B
26.下列关于注释的使用,错误的是?()
A. int c = 10; //定义变量c
B./* int c = 5; int x =6; */
C./** 这是类的入口方法*/
D./* /*int c = 10;*/ int x=5; */
正确答案:D
27.关于方法的递归,以下说法正确的是
A.方法递归就是指在一个方法的内部调用自身的过程
B.方法递归其实就是调用其它方法
C.方法递归是指方法的返回值不同
D.以上说法都不对
正确答案:A
28.请阅读下面的程序
public class Example {
public static void main(String[] args) {
int x = 1;
do {
x++;
} while (x <= 4);
System.out.println("x = " + x);
}
}
程序的运行结果是
A.3
B.4
C.5
D.6
正确答案:C
29.若二维数组int arr[][]={{1,2,3},{4,5,6},{7,8}};,则arr[1][2]的值是()
A.2
B.5
C.6
D.0
正确答案:C
30.下列选项中,按照箭头方向,需要进行强制类型转换的是
A.int ←short
B.int ←byte
C.int ←char
D.int ←float
正确答案:D
31.下列关于构造方法的描述中,错误的是()
A.构造方法的方法名必须和类名一致
B.构造方法不能写返回值类型
C.构造方法可以重载
D.构造方法的访问权限必须和类的访问权限一致
正确答案:D
32.while语句的循环体中不能包含的语句是
A.while语句
B.方法定义语句
C.if语句
D.switch语句
正确答案:B
33.分析下面程序,哪一行代码能正确赋值?()
class Demo {
public void method() {
final int num1 = 10;
static int num2 = 20;
abstract int num3 = 30;
private int num4 = 40;
}
}
A.final int num1 = 10;
B.static int num2 = 20;
C.abstract int num3 = 30;
D.private int num4 = 40;
正确答案:A
34.以下抽象类的定义中,错误的是?()
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(){} }
正确答案:D
35.已知类的继承关系如下:
class A
class B extends A
class C extends A
则以下语句中能够通过编译的是?()
A.A a=new B();
B.C c=new B();
C.C c=new A();
D.B b=new C();
正确答案:A
36.Person p = new Person(“张三”,23);这条语句会调用下列哪个构造方法给属性进行初始化()
A.public Person(){}
B.public Person(String name,int age) { = name; this.age = age; }
C. public Person(int age,String name) { this.age = age; = name; }
D.public Person(String name) { = name; }
正确答案:B
37.阅读下面的程序
public class Test {
public static void main(String[] args) {
for(int x = 0 ; x <=3 ; x++){
continue;
System.out.print(x%2);
}
}
}
运行结果正确的是
A.跳出循环,无输出
B.0121
C.01
D.0123
正确答案:A
38.下面关于整数类型的描述中,错误的是()
A.byte是java中的整数类型,它的取值范围是-127到128。

B.java中的整数有正负之分。

C.bit是java中的整数类型,它代表的是一个字节。

D.int是java中的整数类型,它在内存中占4个字节。

正确答案:C
39.关于方法的递归,以下说法正确的是
A.方法递归就是指在一个方法的内部调用自身的过程
B.方法递归其实就是调用其它方法
C.方法递归是指方法的返回值不同
D.以上说法都不对
正确答案:A
40.请阅读下面的程序
public class Test {
public static void main(String[] args) {
int a[] = {2,0,4,1,8,3,5};
int temp;
for (int i = 0; i < a.length - 1; i++) {
for (int j = a.length - 1; j > i; j--) {
if (a[j] < a[j - 1]) {
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
}
for (Integer i : a) {
System.out.println(i);
}
}
}
下列选项中,哪一个是程序的运行结果()
A.8,5,4,3,2,1,0
B.0,1,2,3,4,5,8
C.2,0,4,1,8,3,5
D.5,3,8,1,4,0,2
正确答案:B
41.请定义一个由public修饰符修饰的int型成员变量MAX_LENGTH,并使该值保持为常数100,则定义这个变量的语句是?()
A.public int MAX_LENGTH=100
B.public const int MAX_LENGTH=100
C.final int MAX_LENGTH=100
D.public final int MAX_LENGTH=100
正确答案:D
42.下列关于JDK、JRE和JVM关系的描述中,正确的是
A.JDK中包含了JRE,JVM中包含了JRE。

B.JRE中包含了JDK,JDK中包含了JVM。

C.JRE中包含了JDK,JVM中包含了JRE。

D.JDK中包含了JRE,JRE中包含了JVM。

正确答案:D
43.以下对于try…catch语句描述正确的是()
A.try…catch语句处理程序中的错误
B.try...catch语句处理程序中的bug
C.try...catch语句处理程序中的异常
D.以上说法都不正确
正确答案:C
44.请阅读下面的程序
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);
}
}
下列选项中,哪个是程序的运行结果()
A.5
B.9
C.10
D.15
正确答案:C
45.若二维数组int arr[][]={{1,2,3},{4,5,6},{7,8}};,则arr[1][2]的值是()
A.2
B.5
C.6
D.0
正确答案:C
46.下面程序运行的结果是()
class Demo{
public static void main(String[] args){
try{
int x = div(1,2);
}catch(Exception e){
System.out.println(e);
}
System.out.println(x)
}
public static int div(int a,int b){
return a / b ;
}
}
A.输出1
B.输出0
C.输出0.5
D.编译失败
正确答案:C
47.下列关于JDK的说法中,错误的是?
A.JDK是Java开发工具包的简称
B.JDK包括Java编译器、Java文档生成工具、Java打包工具等
C.安装JDK后,还需要单独安装JRE
D.JDK是整个Java的核心
正确答案:C
48.下列关于构造方法定义的描述中,错误的是()。

A.方法名与类名相同
B.在方法名的前面没有返回值类型的声明
C.当定义了有参构造方法,系统默认的无参构造方法依然存在
D.在方法中不能使用return语句返回一个值
正确答案:C
49.先来看一段代码
class Demo{
Demo(){
}
}
下列构造方法中,可以存在于Demo类中的是()
A.public Demo(){}
B.private Demo(){}
C.Demo(int age,String name)(){}
D.Demo(){}
正确答案:C
50.题号:请先阅读下面的代码。

int x = 1;
int y = 2;
if (x % 2 == 0) {
y++;
} else {
y--;
}
System.out.println("y=" + y);
上面一段程序运行结束时,变量y的值为下列哪一项
A.1
B.2
C.3
正确答案:A
51.下列有关数组中元素位置交换的描述,错误的是()
A.位置交换的过程中需要借助一个中间变量
B.位置交换的过程至少需要三步
C.位置交换后数组的角标顺序发生了改变
D.位置交换后数组的角标顺序不会发生改变
正确答案:C
52.请阅读下面的代码
class A{
int x;
static int y;
void fac(String s){
System.out.println(“字符串:”+s);
}
}
下列选项中描述正确的是()
A.x , y和s 都是成员变量
B.x 是实例变量,y是类变量,s是局部变量
C.x和y是实例变量,s是参数
D.x ,y和s都是实例变量
正确答案:B
53.下列关于静态方法的描述中,错误的是()。

A.静态方法属于类的共享成员
B.静态方法是通过"类名.方法名"的方式来调用
C.静态方法只能被类调用,不能被对象调用
D.静态方法中可以访问静态变量
正确答案:C
54.下列关于数组最值的描述中,错误的是()
A.要想求数组的最值必须先定义一个数组
B.在求数组最值时,初始时一定要将数组中的第一个元素的值赋给变量
C.求数组最值过程中,一定要对数组进行遍历
D.在求数组最大值时,使用变量记住每次比较后较大的那个值
正确答案:B
55.关于变量类型转换的描述中,正确的是
A.只有数据类型相同的数据才能进行运算
B.byte类型和short类型的数据是不能一起运算的
C.两个byte类型数据一起运算时会把先自动提升到int类型再运算
D.两个整型在一起运算时,结果一定是int
正确答案:C
56.下列字符串常量中,哪一个是错误的()
A.“abc”
B.“12’12”
C.“12”12”
D.“”
正确答案:C
57.下列关于while语句的描述中,正确的是
A.while语句循环体中可以没有语句
B.while语句的循环条件可以是整型变量
C.while语句的循环体必须使用大括号
D.while语句的循环体至少被执行一次
正确答案:A
58.请阅读下面的程序,程序的运行结果是()。

class Person {
String name;
int age;
public Person() {}
public Person(String n, int a) {
name = n;
age = a;
}
public void show() {
System.out.print(name + "---" + age +" ");
}
}
public class Test {
public static void main(String[] args) {
Person p1 = new Person();
p1.show();
Person p2 = new Person("周星驰", 27);
p2.show();
}
}
A.null---0 周星驰---27
B. null---27 周星驰---27
C.周星驰---0 null---27
D. 周星驰---27 null ---27
正确答案:A
59.下列关于浮点型数据的定义,哪一个不能通过编译()
A.double a=12.45;
B.float b=12.45;
C.double c=100;
D.float d=100;
正确答案:B
60.阅读下面的代码片段
public static int add(int a,int b) {
return a + b;
}
下列选项中,可以在main()方法中调用add()方法的是
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");
正确答案:B
61.要产生[20,999]之间的随机整数可以使用以下哪个表达式?
A.(int)(20+Math.random()*97)
B.20+(int)(Math.random()*980)
C.(int)Math.random()*999
D.20+(int)Math.random()*980
正确答案:B
62.下列是Random类的一些常用方法,其中能获得指定范围随机数的方法是?()
A.nextInt()
B.nextLong()
C.nextBoolean()
D.nextInt(int n)
正确答案:D
63.下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是?()
A.random()
B.abs()
C.sin()
D.pow()
正确答案:A
64.下列关于包装类的描述中,错误的是?()
A.包装类的作用之一就是将基本类型包装成引用类型
B.包装类它可以完成在基本类型与String类型之间的转换
C.包装类一共有八个,对应的基本数据类型
D.可以通过继承包装类完成自定义包装类的设计
正确答案:D
65.在进行日期格式化时,代表秒的字母是?()
A.s
B.S
C.M
D.m
正确答案:A
66.下列方法中,用于返回当前日期的方法是?()
A.Date()
B. Date(int year, int month, int date)
C.Date(String s)
D.Date(long date)
正确答案:A
67.假如indexOf()方法未能找到所指定的子字符串,那么其返回值为?()
A.false
B.0
C.-1
D.以上答案都不对
正确答案:C
68.在DateFormat类中定义了四个常量值用于作为参数传递给这些方法,其中FULL常量表示?()
A.完整格式
B.长格式
C.普通格式
D.短格式
正确答案:A
69.线程调用sleep()方法后,该线程将进入以下哪种状态?
A.就绪状态
B.运行状态
C.阻塞状态
D.死亡状态
正确答案:C
70.下列关于DateFormat中parse(String source)方法的说法中错误的是?()
A.能够将一个字符串解析成Date对象
B.要求字符串必须符合日期/时间的格式要求
C.返回值是字符串类型的日期
D.执行该方法需要处理ParseException异常
正确答案:C
71.下列关于System类中getProperties()方法的描述中,正确的是?()
A、getProperties()方法用于获取当前的操作系统的属性
B、getProperties()方法用于获取当前JVM的属性
C、getProperties()方法用于获取指定键指示的操作系统属性
D、getProperties()方法用于获取指定的JVM的属性
A.getProperties()方法用于获取当前的操作系统的属性
B.getProperties()方法用于获取当前JVM的属性
C.getProperties()方法用于获取指定键指示的操作系统属性
D.getProperties()方法用于获取指定的JVM的属性
正确答案:A
72.下列方法中,用于判断字符串是否相等的是()
A.boolean contains(CharSequence cs)
B.String toLowerCase()
C.boolean equals(Object anObject)
D.boolean isEmpty()
正确答案:C
73.在以下哪种情况下,线程进入就绪状态?
A.线程调用了sleep()方法时
B.线程调用了join()方法
C.线程调用了yield()方法时
D.线程调用了notify()方法
正确答案:D
74.若double val = Math.ceil(-11.9);,则val的值是?()
A.11.9
B.-11.0
C.-11.5
D.-12.0
正确答案:B
75.String s = "abcdedcba";则s.substring(3,4)返回的字符串是以下选项中的哪个?
A.cd
B.de
C.d
D.e
正确答案:C
76.Thread类位于下列哪个包中?
A.java.io
ng
C.java.util
D.java.awt
正确答案:B
77.以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?
A.ceil()
B.floor()
C.abs()
D.random()
正确答案:C
78.下列关于Date类的描述中,错误的是?()
A.Date类获取的时间是以1970年1月1日0时0分0秒开始计时的
B.在JDK1.1之后,Date类逐渐被Calendar类取代
C.Date类中大部分构造方法都被声明为已过时
D.Date类中大部分方法依然推荐使用
正确答案:D
79.阅读下面的程序:
public class test {
public static void main(String args[]) {
int i;
float f = 2.3f;
double d = 2.7;
i = ((int)Math.ceil(f)) * ((int)Math.round(d));
System.out.println(i);
}
}
程序执行后,运行结果为以下哪个选项?
A.9
B.5
C.6
D.6.1
正确答案:A
80.下列方法中,哪个用于实现获取字符在某个字符串中第一次出现的索引?()
A.char charAt(int index)
B.int indexOf(int ch)
C.int lastIndexOf(int ch)
D.boolean endsWith(String suffix)
正确答案:B
判断题
1.成员内部类可以直接访问其所在的外部类中的成员,不用创建对象。

正确答案:对
2.构造方法重载后,在构造方法中可以使用this语句进行构造方法之间的调用,在重载的两个构造方法中可以使用this语句相互调用。

正确答案:错
3.阅读下列的代码
public class Demo{
public Demo(){}
public void Demo(int x){}
}
上述代码中,构造方法Demo重载了。

正确答案:错
4.当char c2='\101';时,System.out.println(c2);的输出结果为A
正确答案:对
5.若int[][] arr={},则arr[0][0]的结果为0
正确答案:错
6.逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔型
正确答案:对
7.Jar -cvf命令中的参数v表示创建归档的文件
正确答案:错
8.如果一个方法的形式参数定义的是父类对象,那么调用这个方法时,可以使用子类对象作为实际参数
正确答案:对
9.System.out.println(‘a’+ 0);语句的输出结果是a0
正确答案:错
10.final可以在方法中修饰基本数据类型变量,但是不可以修饰引用数据类型变量
正确答案:错
11.protected修饰的类,类中的所有方法只能给子类使用
正确答案:错
12.如果一个方法的形式参数定义的是父类对象,那么调用这个方法时,可以使用子类对象作为实际参数
正确答案:对
13.System.out.println(‘a’+ 0);语句的输出结果是a0
正确答案:错
14.当char c2='\101';时,System.out.println(c2);的输出结果为A
正确答案:对
15.当整型常量超出了int类型的取值范围时,那么一定要加“L”或“l”后缀
正确答案:对
16.在为float类型的变量赋值时,后面必须加字母f或F
正确答案:对
17.while循环条件不能是boolean类型的常量
正确答案:错
18.有如下三个类
class A
{...}
class B extends A
{...}
class C extends A
{...}
因为B类和C类不存在继承关系,因此他们之间不能进行类型转换
正确答案:对
19.Java是一种高级计算机语言,具有简单性、安全性、面向对象等特征
正确答案:对
20.0.0不是浮点类型常量
正确答案:错
填空题
1.在设计一个类时,想要对成员变量的访问作出一些限定,不允许外界随意访问。

这就需要实现类的___________。

参考答案:封装
2.类与对象的关系中,_________用于描述多个对象的共同特征,它是对象的模板。

_________用于描述现实中的个体,
它是类的实例。

参考答案:类对象
3.在安装JDK的过程中,有三个功能模块可供选择,它们分别是_________,_________和_________。

参考答案:开发工具源代码公共JRE
4.System.out.println(“5 + 5 = ”+ 5 + 5);语句的输出结果是_________
参考答案:5+5=55
5.类的封装是指在定义一个类时,将类中的属性私有化,即使用_________关键字来修饰。

参考答案:private
6.面向对象的三大特征是_________、_________和_________。

参考答案:封装继承多态
7.公共JRE是Java程序的_________。

参考答案:运行环境
8.文档注释以_________开头,以_________结束,使用_________取出来生成帮助文档。

参考答案:/** */ Javadoc
9.逻辑运算符用于对布尔型的数据进行操作,其结果是一个_________型
参考答案:布尔型
10.在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以_________开头;十六进制必须以_________或_________开头。

参考答案:0 0x 0X
11.如果想在任意目录下都能使用java命令,需要将java命令所在的bin目录添加到____中。

环境变量path中
12.Java语言中,double类型所占存储空间为_________个字节
参考答案:8
13.true ^ true的结果是_________
参考答案:flase
14.面向对象的三大特征是_________、_________和_________。

参考答案:封装继承多态
15.类的封装是指在定义一个类时,将类中的属性私有化,即使用关键字_________来修饰。

参考答案:private
16.Math类中有两个静态常量PI和E,分别代表数学常量________和________
参考答案:π e
17.线程的优先级用1~10之间的整数来表示,其中________代表优先级最高,________代表优先级最低。

参考答案:10 1
18.Java中的用于产生随机数的类是________,它位于________包中。

参考答案:Random java.util
19.在Java语言中,同步方法需要用到关键字________,对于同步方法而言无需指定同步锁,它的同步锁是方法所在的________,也就是________ (关键字)
参考答案:synchronized 对象this
20.针对字符串的操作,Java提供了两个字符串类,分别是String和________
参考答案:StringBuffer
简答题
1.请简要说明单例设计模式的实现步骤。

参考答案:
1) 使用private关键字私有化构造方法;
2) 在类的内部创建一个该类的实例对象,并使用私有的静态变量引用该对象;
3) 为了让类的外部能够获得类的实例对象,需要定义一个公有的静态方法,用于返回该类实例。

2.请按照以下要求设计一个学生类Student。

要求如下:
1)学生类有两个属性,分别是姓名(name)、性别(sex)。

2)使用封装的思想将所有属性私有化,对外界提供共有的访问getter和setter方法,并在
setter方法中对性别进行判断,默认为男。

3)在main()方法中,创建Student的实例对象,并为name和sex属性赋值。

参考答案:
class Student{
private String name; //名字
private String sex; //性别
public String getName() {
return name;
}
public void setName(String n) {
name = n;
}
public String getSex() {
return sex;
}
public void setSex(String s) {
if("男".equals(sex)||"女".equals(sex)){
sex = s;
}else{
//默认是男的
sex= "男";
}
}
}
class Demo{
public static void main(String[] args){
Student s= new Student();
s.setName("张三");
s.setSex("不是男的");
}
}
3.简述什么是变量的作用域
参考答案:
在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域
4.请简述方法重载的特点
参考答案:
方法名相同,参数个数或参数类型不同
5.请阅读下面的程序,在空白处填写正确的代码。

class Demo{
public static void main(String[] args){
try{
System.out.println(getArea(6.1,4.1));
}catch(【】e){}
}
public static double getArea (double d1,doubl d2)throws Eception{
if(d1 <0|| d2 < 0)
throw new Exception();
return d1*d2;
}
}
参考答案:
Exception
6.编写接口A,B,C,A接口中定义方法a(),B接口中定义方法b(),使接口C继承接口A 和B,完成上述代码,用以体现接口之间的多继承(6.0分)
参考答案:
interface A{
void a();
}
interface B{
void b();
}
interface C extends A,B{
}
7.请简要说明使用封装的好处。

(6.0分)
参考答案:
1)提高了数据的安全性。

2)隐藏了实现细节。

3)操作简单、方便。

8.请阅读下面的程序,写出程序的运行结果。

Class Person {
String name;
int age;
public Person() {
System.out.println(“Person()”);
}
public Person(String n, int a) {
name = n;
age = a;
}
public void show() {
System.out.println(name + “---“ + age);
}
}
public class Test {
public static void main(String[] args) {
Person p = new Person();
p.show();
Person p2 = new Person(“林青霞”, 27);
p2.show();
}
}
参考答案:
Person()
null---0
林青霞---27
9.请列举Java语言中的八种基本数据类型,并说明每种数据类型所占用的空间大小
参考答案:
Java语言的八种基本数据类型有:byte字节型,占一个字节。

short短整型,占两个字节。

int整型,占4个字节。

long长整型,占8个字节。

float单精度浮点型,占4个字节。

double 双精度浮点型,占8个字节。

char字符型,占两个字节。

boolean型,表示逻辑值,有true 和false两个值,分别占一个字节。

10.阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果,否则请说明编译失败的原因
class Demo{
public static void main(String[] args){
if(true){
int x = 0 ;
x ++ ;
}
System.out.println(x);
}
}
参考答案:
编译失败
10.按如下要求设计类:①以你自己的姓名拼音缩写为类名;②设计重载方法speak(),无参情况下在屏幕上显示“我叫XXX”,有字符串作为参数情况下,在屏幕上显示“今天我要说的是:OOO”,其中OOO为参数传入的字符串内容。

class ljz
{
void speak()
{system.out.println(“我叫LJZ”);}
void speak(String s)
{system.out.println(“今天我要说的是:”+s);}
}
11.举例说明如何在代码中生成存在于包com1.test中的类CC的实例
import
class A
{
CC c1 = new CC();
}
或没有import语句, c1 = new ();
12.举例说明重写
class A
{
public void fun()
{
A中fun函数代码}
} class B extends A
{
public void fun()
{
与A中fun函数不一样的代码}
}
13.举例说明package关键字的使用方法及编译时要注意的问题和成功编译后的生成物,要求有代码和解释说明。

package为java的一种机制,可将生成的类以包的形式进行管理
package pk.pk1;
class A
{
类中的代码
}
编译的时候要用-d制定生成包的位置,常用javac –d . 源程序名,在当前目录下生成包。

以上成功编译后在当前目录下会有pk文件夹,里面应有pk1子文件夹,pk1里有A.class文件。

14.如何运行名为“j1.jar”的jar包中存在于test.pk里面的c1.class类?
方法1:将jar包导入环境变量classpath
Set classpath=.;j1.jar;%classpath%
然后运行:java test.pk.c1
方法2:修改jar包中MANIFEST.MF文件,添加Main-Class:test.pk.c1
然后运行java –jar j1.jar。

相关文档
最新文档