java编程题库和答案和解析,java高级编程题库和答案

http://www.itjxue.com  2023-01-14 01:35  来源:未知  点击次数: 

全国信息技术应用大赛 前五届的JAVA预赛 试题(单选题与多选题)及答案! 复赛与决赛 题的答案。 谢谢了!

第五届全国ITAT教育工程就业技能大赛预赛试题Java程序设计

一、单选题(共计60题)

下列有关事件监听器的描述正确的是()。C

 A、一个监听器只能接受一个组件产生的事件

 B、只有一个监听器可以被附加到一个组件上

 C、多个监听器可以被附加到一个组件

 D、以上描述都不对

当下列程序执行时,其输出结果是()。D

 A、2k

 B、7k

 C、-7k

 D、-3k

下列关于修饰符混用的说法错误的是()。B

 A、abstract不能与final并列修饰同一个类

 B、staic方法中能处理非static的属性

 C、abstract方法必须在abstract类中

 D、abstract类中不可以有private的成员

下列容器是从java.awt.Window继承的是()。D

 A、Applet

 B、Panel

 C、Container

 D、Frame

关于构造方法,下列叙述错误的是()。B

 A、构造方法是类的一种特殊方法,它的方法名必须与类名相同

 B、构造方法的返回类型只能是void型,且书写格式是在方法名前加void前缀

 C、构造方法的主要作用是完成对类的对象的初始化工作

 D、一般在创建新对象时,系统会自动调用构造方法

下面2个文件位于相同目录下,编译运行后会出现的情况是()。B

//File P1.java

package MyPackage;

class P1{

void afancymethod(){

System.out.println("What a fancy method");

}

}

//File P2.java

public class P2 extends P1{

public static void main(String argv[]){

P2 p2 = new P2();

p2.afancymethod();

}

}

 A、2个文件都可以编译,P2运行输出“What a fancy method”

 B、2个文件P1编译成功,P2编译时报错误

 C、2个文件都可以编译,P2运行时报错误

 D、2个文件都不能编译

关于以下组件接口的描述正确的是()。C

 A、TextArea组件可实现的接口是ActionListener

 B、Choice组件可实现的接口是ActionListener

 C、List组件可实现的接口,除了ItemListener,还可以是ActionListener

 D、以上都不对

下面代码执行后的结果是()。C

public class Test3 {

private int court;

public static void main(String argv[]) {

Test3 s = new Test3(99);

System.out.println(s.court - 5);

}

Test3(int ballcount) {

court = ballcount + 10;

}

}

 A、由于court是私有变量,因此产生一个编译失败错误

 B、99

 C、104

 D、109

Java虚拟机指的是()。D

 A、由Java语言操作的家用设备(通常是一个漂亮的小烤箱)

 B、运行Java程序所需的硬件设备

 C、Java源代码的编译器

 D、Java字节代码的解释程序

java.util.HashTable可以实现的接口是()。C

 A、Java.util.Hashable.

 B、Java.util.List.

 C、Java.util.Map.

 D、Java.util.Collection.

下列说法正确的是()。B

 A、字节流中的数据以16位字节为单位进行读写

 B、字符流中的数据以16位字符为单位进行读写

 C、InputStream和OutputStream是字符流的两个顶层父类

 D、Reader和Writer是字节流的两个顶层抽象父类

下列关于线程调度的叙述中,错误的是()。D

 A、调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会

 B、调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会

 C、当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行

 D、具有相同优先级的多个线程的调度一定是分时的

下列有关整型的最终属性 i 的定义正确的是()。C

 A、static int i;

 B、final i;

 C、static final int i=50;

 D、final float i=1.2f;

对于方法重载,下列说法不正确的是()。D

 A、允许在一个类的定义中多个方法使用相同的方法名

 B、实现了java的编译时多态

 C、方法的参数表必须不同,包括参数的类型和个数

 D、方法的返回类型修饰符必须相同

下列Java常见事件类中,属于窗体事件类的是()。B

 A、InputEvent

 B、WindowEvent

 C、MouseEvent

 D、KeyEvent

分析下面的HTML部分代码 :

APPLET code=file_name

width=60

height=60

/APPLET

下列选项可以替代文件名以正确装载运行Hello类小程序的是()。C

 A、"Hello.bytecode"

 B、"Hello.applet "

 C、"Hello.class "

 D、"Hello.java"

Java JDK中,用于反编译的命令是()。D

 A、javac

 B、java

 C、jdb

 D、javap

下列程序段的输出结果是()。B

void complicatedExpression(){

int x=20, y=30;

boolean b;

b=x50y60||x50y-60||x-50y60||x-50y-60;

System.out.println(b);

}

 A、true

 B、false

 C、1

 D、0

Java语言的许多特点中,()是C++语言所不具备的。B

 A、高性能

 B、跨平台

 C、面向对象

 D、有类库

下面代码行中编译的时候不会报警告或错误的是()。D

 A、float f=1.3;

 B、char c="a";

 C、byte b=257;

 D、boolean b=false;

下列有关构造函数描述正确的是()。D

 A、所有类都必须定义一个构造函数

 B、构造函数必须有返回值

 C、构造函数必须访问类的非静态成员

 D、构造函数可以初始化类的成员变量

编译和运行下面代码时显示的结果是()。A

public class ThisConstructorCall {

public ThisConstructorCall(String s) {

System.out.println("s = " + s);

}

public ThisConstructorCall(int i) {

this("i = " + i);

}

public static void main(String args[]) {

new ThisConstructorCall("String call");

new ThisConstructorCall(47);

}

}

 A、s = String call

s = i = 47

 B、String call

s = i

 C、s = String call

i = 47

 D、String call

s = i = 47

分析下面的代码,其输出结果是()。B

public class Test3 {

public static void main(String[] args) {

String foo = "blue";

String bar = foo;

foo = "green";

System.out.println(bar);

}

}

 A、一个异常抛出

 B、blue

 C、null

 D、green

Frame类对象的默认布局是()。B

 A、FlowLayout布局

 B、BorderLayout布局

 C、CardLayout布局

 D、GridLayout布局

下面关于类的说法错误的是()。D

 A、类是Java语言中的一种复合数据类型

 B、类中包含数据变量和方法

 C、类是对所有具有一定共性的对象的抽象

 D、Java语言的类支持单继承和多继承

运行以下代码,并在命令行输入:java MyProg good morning,则输出结果是()。B

public class MyProg {

public static void main(String argv[])

{

System.out.println(argv[0]);

}

}

 A、myprog

 B、good

 C、morning

 D、Exception raised: "java.lang.ArrayIndexOutOfBoundsException: 2"

字符输出流类都是()抽象类的子类。C

 A、FilterWriter

 B、FileWrite

 C、Writer

 D、OutputStreamWrite

下面关于Java应用程序中main方法的写法,合法的是()。B

 A、public static void main()

 B、public static void main(String args[])

 C、public static int main(String [] arg)

 D、public void main(String arg[])

对象是Java中很重要的概念,下列说法中能准确地描述对象的是()。A

 A、对象可以理解为一种数据结构,具有操作数据的方法

 B、对象是抽象的,类可以通过对象来生成

 C、对象是通过import语句引入到程序中的所有包

 D、对象是一组具有共同的结构和行为的类

分析下面程序,其正确的输出结果是()。B

class A {

public static void main(String args[]) {

String s1, s2;

s1 = new String("we are students");

s2 = new String("we are students");

System.out.println(s1.equals(s2));

System.out.println(s1 == s2);

}

}

 A、true,true

 B、true,false

 C、false,true

 D、false,false

下列常见的系统定义的异常中,属于主机网络故障异常的是()。D

 A、ClassNotFoundException

 B、IOException

 C、FileNotFoundException

 D、UnknownHostException

下面代码执行后,正确的输出结果是()。A

String s1="You are hired!";

System.out.println(s1.replace(’h’,’f’)); //用f把字串中的h替换了

System.out.println(s1);

 A、You are fired!

You are hired!

 B、You are fired!

You are fired!

 C、You are hired!

You are hired!

 D、You are hired!

You are fired!

假定有变量定义: int k=7,x=12; 则下列选项中值为4的表达式是()。C

 A、x%=(k%=5)

 B、x%=(k-k%5)

 C、(x%=k)-(k%=5)

 D、x%=k-k%5

在Java中,创建日期类Date对象,需要在程序中用import导入的包是()。C

 A、java.applet

 B、java.awt

 C、java.util

 D、java.lang

下列叙述错误的是()。D

 A、接口与类的层次无关

 B、通过接口说明类所实现的方法

 C、通过接口可了解对象的交互界面

 D、接口与存储空间有关

当下列程序执行时,其输出结果是()。C

int i = 9;

switch (i) {

default:

System.out.println("default");

case 0:

System.out.println("zero");

break;

case 1:

System.out.println("one");

case 2:

System.out.println("two");

}

 A、default

 B、zero

 C、default, zero

 D、没有输出结果

下列程序段的输出结果是()。D

public class OperatorsandExpressions{

public static void main(String args[]){

int a=5,b=4,c=3;

System.out.println("abc"+a+b+c+3);

}

}

 A、abc15

 B、abcabc3

 C、abc3

 D、abc5433

在Java中,所有类的根类是()。D

 A、java.awt.Frame

 B、java.lang.Class

 C、java.applet.Applet

 D、java.lang.Object

下列选项中关于程序运行结果的描述正确的是()。A

public class Ex4_7{

public static void main(String args[]){

int a[]=new int[5];

boolean b[]=new boolean[5];

System.out.print(a[1]);

System.out.println(b[2]);

}

}

 A、程序运行结果为0false

 B、程序运行结果为1true

 C、程序无法通过编译

 D、程序可以通过编译但结果不确定

setLayout ( )方法使用的参数类型是()。C

 A、Graphics

 B、Graphics2D

 C、LayoutManager

 D、Layout

有以下程序段:

class MyThread extends Thread {

public static void main(String args[]) {

MyThread t = new MyThread();

MyThread s = new MyThread();

t.start();

System.out.print("one.");

s.start();

System.out.print("two.");

} public void run() {

System.out.print("Thread");

}

}

则下列选项说法正确的是()。C

 A、程序编译失败

 B、程序运行结果为:one.Threadtwo.Thread

 C、程序运行结果不确定

 D、程序运行结果是:one.two.ThreadThread

不能通过add方法添加到Container容器中的是()。D

 A、a Button

 B、a Component

 C、a Container

 D、a MenuComponent

下面变量var的作用域范围是()。B

1) int x;

2) switch(x){

3) case 0:

4) {

5) int var;

6) //process

7) }

8) break;

9) case 1:

10) {

11) int var1;

12) //process

13) }

14) break;

15) }

 A、1和15行之间

 B、5和7行之间

 C、3和7行之间

 D、5和13行之间

在Java语言中,属于编译器自动导入的包是()。D

 A、java.applet

 B、java.awt

 C、java.io

 D、java.lang

下列常见的系统定义的异常中,编译时无法找到类的异常是()。A

 A、ClassNotFoundException

 B、IOException

 C、FileNotFoundException

 D、UnknownHostException

下面是一个Java程序片段:

public void paint (Graphics g)

{

int x = 20;

int y = 10;

paintPicture( g, x, y);

}

public void paintPicture(Graphics g, int a, int b)

{

g.setColor(Color.red);

}

当执行这段代码时,paintPicture方法中参数"a"的值将是()。C

 A、10

 B、0

 C、20

 D、这段代码不能够编译。这是一个错误,因为从来没有声明参数"a"和给它赋值

一个可以独立运行的Java应用程序,包含的main方法()。B

 A、可以为一个或多个

 B、只能有一个

 C、可以为一个或零个

 D、最多两个

下面语句段处理后,ch的值是()。D

char ch = ’A’;

ch = (char) (ch ^ 7);

 A、A

 B、C

 C、D

 D、F

当输入一个字节流时,需要()。A

 A、实现DataInput接口

 B、实现ObjectInput接口

 C、Serializable接口

 D、继承Reader抽象类

编译和运行下面代码时的显示结果是()。A

public class Test3 {

public static void main(String argv[]) {

Test3 c = new Test3();

String s = new String("ello");

c.amethod(s);

}

public void amethod(String s) {

String c = "H";

c += s;

System.out.println(c);

}

}

 A、Hello

 B、ello

 C、elloH

 D、编译错误

如下代码的执行结果是()。B

boolean m = true;

if ( m == false )

System.out.println("False");

else

System.out.println("True");

 A、False

 B、True

 C、None

 D、An error will occur when running

下面语句正确的是()。D

 A、char=’abc’;

 B、long l=oxfff;

 C、float f=0.23;

 D、double d=0.7E-3;

下列方法中可以用来创建一个新线程的是()。B

 A、实现java.lang.Runnable接口并重写start()方法

 B、实现java.lang.Runnable接口并重写run()方法

 C、继承java.lang.Thread类并重写run()方法

 D、实现java.lang.Thread类并实现start()方法

Applet可以完成的操作是()。C

 A、读取客户端文件

 B、在客户端创建新文件

 C、读取Applet所在服务器的文件

 D、在客户端调用其他程序

有整型数组:int[] x={2,33,88,5,10};,则调用方法 Arrays.sort(x) 后,数组x中的元素值依次是( )。C

 A、88 33 10 5 2

 B、2 5 33 88 10

 C、2 5 10 33 88

 D、2 5 33 10 88

自定义的异常类可从下列()类继承。D

 A、Error

 B、aWTError

 C、VirtualMachineError

 D、Exception及其子集

在Java图形用户界面编程中,若显示一些需要添加或修改的单行文本信息,一般是使用( )类的对象来实现。D

 A、Label

 B、Button

 C、Textarea

 D、TestField

监听器接口的方法返回值是()。C

 A、int

 B、String

 C、void

 D、Object

 E、AWTEvent

在 Java 中,能实现多继承效果的方式是()。C

 A、内部类

 B、适配器

 C、接口

 D、同步

为AB类的一个无形式参数且无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。A

 A、static void method( )

 B、public void method( )

 C、final void method( )

 D、abstract void method( )

有两道java编程题,因为我是学数据库的,很多java没接触过,求答案

public class Circle {

protected double r;

public Circle(double r){

this.r=r;

}

public Circle(){

this.r=10;

}

public double area(){

double area=0;

double r=this.r;

area=3.14*r*r;

return area;

}

public double perimeter(){

double per=0;

double r=this.r;

per=3.14*2*r;

return per;

}

}

public class PlainCircle extends Circle

{

double cX,cY;

public PlainCircle(double cX,double cY,double r) {

this.r=r;

this.cX=cX;

this.cY=cY;

}

public PlainCircle() {

this.cX=0;

this.cY=0;

this.r=10;

}

public boolean isInside(double x,double y){

if((x-cX)*(x-cX)+(y-cY)*(y-cY)=r*r ){

return true;

}

else

return false;

}

}

一些java面试的题,希望前辈们解答

1.zk是ajax框架,是js实现的,前端的框架优点都是方便快速构建用户页面。 struts是服务端框架,java实现,压根不是一个方面的。(区别)

2.去下个j2ee API,看一下,servlet包中随便说几个就OK,像HttpRequest ,HttpResponse 等

3.不同数据库语言写法不一样的,简单思路是oracle: select * from (select * from table where rownum200) where rownum100 (还有一种高性能的写法,忘掉了。。。有兴趣可单独联系)

4.用 setTimeout(window.location="url",100)

5.jsp和servlet异同,看下他们的生命周期就知道了,网上很多。 jsp其实是servlet的一种扩展,写起html语言来更简单明了。执行时还是转换为servlet的

6.网上一堆。。。随便搜下就能看到了

7.这个也很笼统。 自己看吧,不一定很全

几道JAVA选择题 想知道正确答案 请大家帮下

1. B

2. A

3. C

4. C

5. D

6. B

7. B

8. C

9. B

10.A

以上回答未验证,如果有错误,请指出!

java编程题

1.package test;

import java.util.Iterator;

import java.util.Map;

import java.util.TreeMap;

public class Test {

public static void main(String[] args) {

String str = "afdjasdg$$jfsjdfjdjjdjdjdjdjdj";

int max=0;

Object chars=null;

Map tree = new TreeMap();

for (int i = 0; i str.length(); i++) {

char ch = str.charAt(i);

if ((ch = 1 ch = 255) ) {

if (!tree.containsKey(ch)) {

tree.put(ch, new Integer(1));

} else {

Integer in = (Integer) tree.get(ch) + 1;

tree.put(ch, in);

}

}

}

Iterator tit = tree.keySet().iterator();

while (tit.hasNext()) {

Object temp = tit.next();

if(max=Integer.parseInt(tree.get(temp)+""))

{

max=Integer.parseInt(tree.get(temp)+"");

chars=temp;

}

}

System.out.print(chars.toString() + "出现" + max + "次");

}

}

只要用assic码做范围就可以了.任何字符都可以过滤.

2.方法很多,hashmap或是arraylist,数组都可以的.就是对应关系而已.

package test;

public class ListTest {

static String[] to_19 = { "zero", "one", "two", "three", "four", "five",

"six", "seven", "eight", "nine", "ten", "eleven", "twelve",

"thirteen", "fourteen", "fifteen", "sixteen", "seventeen",

"eighteen", "nineteen" };

static String[] tens = { "twenty", "thirty", "forty", "fifty", "sixty",

"seventy", "eighty", "ninety" };

static String[] denom = { "", "thousand ", "million", "billion",

"trillion", "quadrillion", "quintillion", "sextillion",

"septillion", "octillion", "nonillion", "decillion", "undecillion",

"duodecillion", "tredecillion", "quattuordecillion",

"sexdecillion", "septendecillion", "octodecillion",

"novemdecillion", "vigintillion" };

public static void main(String[] argv) throws Exception {

long tstValue = 12345;

ListTest itoe = new ListTest();

System.out.println(itoe.english_number(tstValue));

}

private String convert_nn(int val) {

if (val 20) return to_19[val];

int flag = val / 10 - 2; if (val % 10 != 0)

return tens[flag] + "-" + to_19[val % 10];

else return tens[flag];

}

private String convert_nnn(int val) {

String word = "";

int rem = val / 100;

int mod = val % 100;

if (rem 0) {word = to_19[rem] + " hundred ";}

if (mod 0) {word = word + convert_nn(mod);}

return word;

}

public String english_number(long val) {

if (val 100) {System.out.println((int) val);return convert_nn((int) val);}

if (val 1000) {return convert_nnn((int) val); }

for (int v = 0; v denom.length; v++) {

int didx = v - 1;

long dval = new Double(Math.pow(1000, v)).longValue();

if (dval val) {

long mod = new Double(Math.pow(1000, didx)).longValue();

int l = (int) (val / mod);

long r = (long) (val - (l * mod));

String ret = convert_nnn(l) + " " + denom[didx];

if (r 0) {ret = ret + ", " + english_number(r);}

return ret;

}

}

return null;

}

}

JAVA的几道选择题 没找到正确的答案 自己做完了也没地方对 请高手给个正确得答案!很重要~一定要正确的~~

先来个我的答案吧:

bbbbc bcccd ddbda 16c 17b 18ab 19c 20d 21b 22b

与楼上几位比较:

5题C:DEBUG一下就知道。

6题B:例如窗口的【最大化/还原】事件,如果不指定监视器,点击了【最大化/还原】按钮,窗口本身的变大变小事件肯定是要执行的。

7题C:大家都这样写,习惯而已。

13题B:类可以没有方法。class A{public int a;}就可以了。

14题D:试试就知道。

15题A:Panel继承于Container继承于Component继承于Object,然而Object不在awt包里。

17题B:试试就知道

18题AB:ActionListener接收按下回车键时间,FocusListener接收用任何方式获得焦点和失去焦点事件,MousMotionListener写错了但是存在MouseMotionListener,WindowsListener写错了但是存在WindowListener

19题C:A可以有。B没有就不是Application而只是Library。C可以不“自己去”定义,已经默认定义了。D可以没有。相比之下只有C靠谱一点。

21题B:A必须要真的是同一个才能用==来比较,只是值相同是不能够的。C前者不改变String自己,后者改变StringBuffer自己

嘿嘿,希望我是全部正确的~

(责任编辑:IT教学网)

更多

推荐网络媒体文章