Java基础学习总结(74)——Java常见笔试题及答案汇总

1. 下面哪些是合法的标识符?(ABE )--标识符

A. $persons B. TwoUsers C. *point D. this E. _endline

2. 下面程序运行的结果是( D )--运算符

class Example{

public static void main(String[] args){

int i = 45678;

int j = ~i;

System.out.println(j);

}

}

A.编译错误 B.输出45677 C.输出-45677 D.输出 -45679

3.下面程序运行的结果是( C )--循环控制语句

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

4. 哪些不是Java关键字? ( AB )—关键字

A. TRUE B. sizeof C. const D. super E. void

5. 下面程序运行的结果是( B )--类型转换

public class Example {

public static void main(String[] args){

System.out.print(“” + 2 + 3);

System.out.print(2 + 3);

System.out.print(2 + 3 +“”);

System.out.print(2 +“”+ 3);

}

}

A.编译错误 B.235523 C.55523 D.2352323

6.下面程序运行的结果是( C )--类型转换

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.println(x);

}

}

A.-11 10 B.-11 11 C.-10 10 D.-10 11

7.下面程序运行的结果是( C )--数组初始化

public class Example{

static int arr[] = new int[10];

public static void main(String a[]){

System.out.println(arr[1]);

}

}

A.编译错误 B.运行错误 C.输出0 D.输出null

8.下面哪个方法可以通知Java虚拟机调用垃圾回收器来回收已废弃对象? ( A )

A.System.gc() B.Runtime.gc() C.System.freeMemory

D.Runtime.getRuntime().growHeap()

9. 下面程序运行的结果是( B )--方法参数传递

Public class Example{

int x = 12;

public void method(int x){

x += x;

System.out.println(x);

}

public static void mian(String[] args){

Example t = new Example();

t.method(5);

}

}

A.5 B.10 C.12 D.17 E.24

10. 下面程序运行的结果是( D )--方法重写

class Base{

private void amethod(int iBase){

System.out.println(“Base.amethod”);

}

}

class Example extends Base{

public static void main(String[] args){

Exmple o = new Example();

int iBase = 0;

o.amethod(iBase);

}

public void amethod(int iover){

System.out.println(“Example.amethod”);

}

}

A.编译错误 B.运行错误 C.输出Base.amethod D.输出Example.amethod

11. 下面程序运行的结果是( C )--构造器调用

Class Example1{

public Example1(){

System.out.print(1);

}

}

class Example2 extends Example1{

public Example2(){

System.out.print(2);

}

}

class Example3 extends Example2{

public Example3(){

System.out.print(3);

}

}

public class Example{

public static void main(String[] args){

new Example3();

}

}

A.1 B.3 C.123 D.321

12. 下面程序运行的结果是( A )--内部类

public class Example{

class Inner{

void test(){

sample();

}

}

private Boolean flag = false;

public void sample(){

System.out.println(“Sample”);

}

public Example() {

(new Inner()).test();

}

public static void main(String[] args){

new Example();

}

}

A.输出Sample B.输出null C.编译错误 D.运行错误

13.下面哪一个方法是属于Math类的?( B )--常用基础包

A.absolute() B.log() C.cosine() D.sine()

14. 下面的哪些程序片断可能导致错误? ( BD )—常用基础包

A. String s = "Gone with the wind";

String t = " good ";

String k = s + t;

B. String s = "Gone with the wind";

String t;

t = s[3] + "one";

C. String s = "Gone with the wind";

String standard = s.toUpperCase();

D. String s = "home directory";

String t = s - "directory";

15. 下面程序运行的结果是( B )--自动装箱和拆箱

Public class Example{

public static void main(String[] args) {

Integer ten = new Integer(10);

Long nine = new Long(9);

System.out.println(ten + nine);

int i =1;

System.out.println(I + ten);

}

}

A.19 20 B.19 11 C.运行错误 D.11 1

16.面向对象的特征有哪些方面?并简述每一个特征。

1.抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4. 多态性:

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

17.Java的基本数据类型有哪些?并写出他们的取值范围。

boolean

char

byte

short

int

long

float

double

18.举例简述方法重写和方法覆盖。

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

例子略

19.什么是GC?为什么要有GC?Java是如何实现GC的?

GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

你可能感兴趣的:(Java基础学习总结(74)——Java常见笔试题及答案汇总)