day04
1.下列与队列结构有关联的是()
A 函数的递归调用
B 数组元素的引用
C 多重循环的执行
D 先到先服务的作业调度
正确答案: D
队列的修改是依先进先出的原则进行的
2.类所实现的接口以及修饰不可以是()。
A void
B public
C abstract
D final
正确答案: D
3.下列关于栈叙述正确的是(
)。
A 算法就是程序
B 设计算法时只需要考虑数据结构的设计
C 设计算法时只需要考虑结果的可靠性
D 以上三种说法都不对
正确答案: D
算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A 错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
4.下面关于abstract关键字描述错误的是()
A abstract关键字可以修饰类或方法
B final类的方法都不能是abstract,因为final类不能有子类
C abstract类不能实例化
D abstract类的子类必须实现其超类的所有abstract方法
正确答案: D
5.结构化程序的三种基本结构是( )
A 递归、迭代和回溯
B 过程、函数和子程序
C 顺序、选择和循环
D 调用、返回和选择
正确答案: C
6.对于abstract声明的类,下面说法正确的是
A 可以实例化
B 不可以被继承
C 子类为abstract
D 只能被继承
E 可以被抽象类继承
正确答案: E
7.1GB 的准确值是( )。
A 1024×1024 Bytes
B 1024 KB
C 1024 MB
D 1000×1000 KB
正确答案: C
1GB=1024MB=1024 × 1024KB=1024 × 1024 × 1024B 。
8.(多选)下面选项中,哪些是interface中合法方法定义?()
A public void main(String [] args);
B private int getSum();
C boolean setFlag(Boolean [] test);
D public float get(int x);
正确答案: A C D
9.(多选)下面哪些类实现或继承了 Collection 接口?
A HashMap
B ArrayList
C Vector
D Iterator
正确答案: B C
10.(多选)以下为 java 语法保留不能作为类名和方法名使用的是
A default
B int
C implements
D throws
正确答案: A B C D
day05
1.下面的程序 编译运行后,在屏幕上显示的结果是()
public class Test {
public static void main(String args[]) {
int x, y;
x = 5 >> 2;
y = x >>> 2;
System.out.println(y);
}
}
A 0
B 2
C 5
D 80
正确答案: A
5 >> 2 相当于 5除于2两次,等于1 ,>>> 表示无符号右移,高位用0 填充,0001右移两位 0000,所以选A
2.以下代码结果是什么?
public class foo {
public static void main(String sgf[]) {
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
operate(a,b);
System.out.println(a+"."+b);
}
static void operate(StringBuffer x,StringBuffer y) {
x.append(y);
y=x;
}
}
A 代码可以编译运行,输出“
AB.AB”。
B 代码可以编译运行,输出“
A.A”。
C 代码可以编译运行,输出“
AB.B”。
D 代码可以编译运行,输出“
A.B”。
正确答案: C
作对这道题的关键是要理解Java的值传递,关于值传递和引用传递的解释如下: 值传递:是指在调用函数时将实际参数传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。 引用传递:是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。 这道题中a、b(是引用的副本,Java中没有引用传递)传入operate()函数中,但最后a指向的对象的值发生了变化,而b指向的对象的值没有发生变化,这是因 为x.append(y);改变了a指向的对象的值,而y=x;并没有改变b指向对象的值,指向将y指向了x所指向的对象(之前y和b指向同一个对象)。
3.在JAVA中,假设A有构造方法A(int a),则在类A的其他构造方法中调用该构造方法和语句格式应该为()
A this.A(x)
B this(x)
C super(x)
D A(x)
正确答案: B
4.下面代码的运行结果是()
public static void main(String[] args){
String s;
System.out.println("s="+s);
}
A 代码编程成功,并输出”s=”
B 代码编译成功,并输出”s=null”
C 由于String s没有初始化,代码不能编译通过。
D 代码编译成功,但捕获到NullPointException异常
正确答案: C
5.在java7中,下列不能做switch()的参数类型是?
A int型
B 枚举类型
C 字符串
D 浮点型
正确答案: D
6.一个以”.java”为后缀的源文件
A 只能包含一个类,类名必须与文件名相同
B 只能包含与文件名相同的类以及其中的内部类
C 只能有一个与文件名相同的public类,可以包含其他类
D 可以包含任意类
正确答案: C
7.
public boolean returnTest()
{
try
{
return true;
}
catch (Exception e)
{
}
finally
{
return false;
}
}
以上代码返回值是什么?
A true
B false
正确答案: B
8.以下()不是合法的标识符?
A STRING
B x3x
C void
D deSf
正确答案: C
9.指出以下程序运行的结果是
public class Example{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
//引用类型变量,传递的是地址,属于引用传递。
str="test ok";
ch[0]='g';
}
}
A good and abc
B good and gbc
C test ok and abc
D test ok and gbc
正确答案: B
10.(多选)下列有关JAVA异常处理的叙述中正确的是()
A finally是为确保一段代码不管是否捕获异常都会被执行的一段代码
B throws是用来声明一个成员方法可能抛出的各种非运行异常情况
C final用于可以声明属性和方法,分别表示属性的不可变及方法的不可继承
D throw是用来明确地抛出一个异常情况
正确答案: A B D
day06
1.关于抽象类与最终类,下列说法错误的是?
A 抽象类能被继承,最终类只能被实例化。
B 抽象类和最终类都可以被声明使用
C 抽象类中可以没有抽象方法,最终类中可以没有最终方法
D 抽象类和最终类被继承时,方法可以被子类覆盖
正确答案: D
final修饰的类不能被继承
2.已知表达式int m[]={0,1,2,3,4,5,6};下面哪个表达式的值与数组下标量最大值相等?
A m. length()
B m. length-1
C m. length()+1
D m. length+1
正确答案: B
3.下列哪个对访问修饰符作用范围由大到小排列是正确的?
A private>default>protected>public
B public>default>protected>private
C private>protected>default>public
D public>protected>default>private
正确答案: D
4.有六个元素6,5,4,3,2,1顺序入栈,问下列哪一个不是合法的出栈序列?()
A 5 4 3 6 2 1
B 4 5 3 1 2 6
C 3 4 6 5 2 1
D 2 3 4 1 5 6
正确答案: C
5.阅读下列程序,选择哪一个是正确的输出结果
class HelloA{
public HelloA()
{
System.out.println("I’m A class ");
}
static
{
System.out.println("static A");
}
}
public class HelloB extends HelloA{
public HelloB()
{
System.out.println("I’m B class");
}
static{
System.out.println("static B");
}
public static void main (String[] args){
new HelloB();
}
}
A static A I’m A class static B I’m B class
B I’m A class I’m B class static A static B
C static A static B I’m A class I’m B class
D I’m A class static A I’m B class static B
正确答案: C
6.执行下列代码的输出结果是( )
public class Demo{
public static void main(String args[]){
int num = 10;
System.out.println(test(num));
}
public static int test(int b){
try
{
b += 10;
return b;
}
catch(RuntimeException e)
{
}
catch(Exception e2)
{
}
fifinally
{
b += 10;
return b;
}
}
}
A 10
B 20
C 30
D 40
正确答案: C
如果finally块中有return语句的话,它将覆盖掉函数中其他return语句,所以返回30。
7.下列代码的输出结果是_
boolean b=true?false:true==true?false:true;
System.out.println(b);
A true
B false
C null
D 空字符串
正确答案: B
8.(多选)在Java中下面Class的声明哪些是错误的?
A public abstract final class Test { abstract void method(); }
B public abstract class Test { abstract final void method(); }
C public abstract class Test { abstract void method() { } }
D public class Test { final void method() { } }
正确答案: A B C
9.(多选)下列关于构造方法的叙述中,错误的是()
A java语言规定构造方法名与类名必须相同
B java语言规定构造方法没有返回值,但不同void声明
C java语言规定构造方法不可以重载
D java语言规定构造方法只能通过new自动调用
正确答案: C D
10.(多选)下面哪些赋值语句是正确的()
A long test=012
B float f=-412
C int other =(int)true
D double d=0x12345678
E byte b=128
正确答案: A B D