Java练习题(试卷)
JAVA精彩试题及问题详解

JAVA精彩试题及问题详解Java程序设计复习题一、单项选择题1、一个Java程序运行从上到下的环境次序是( C )A.操作系统、Java程序、JRE/JVM、硬件B.JRE/JVM、Java程序、硬件、操作系统C.Java程序、JRE/JVM、操作系统、硬件D.Java程序、操作系统、JRE/JVM、硬件2、下面哪些是合法的标识符。
( A )A、personsB、12345C、 *pointD、this3、下说确的是:( C )A.一个可直接运行的Java源文件中可以有多个public类,其中必须有一个和文件同名B.一个可直接运行的Java源文件中可以没有public类C一个可直接运行的Java源文件中只能有一个且和文件同名的public类。
D. 一个可直接运行的Java源文件中可以有多个public类,且可以没有和文件同名的类。
4、在java中定义常量的正确语法为:( C )A . int value=20; B. const int VALUE=20;C. final int VALUE=20;D. int VALUE=20;5、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么( D )A、13个字节码文件,扩展名是.classB、1个字节码文件,扩展名是.classC、3个字节码文件,扩展名是.javaD、3个字节码文件,扩展名是.class6、下列属于Java语言的特点的一项是( D )。
A、运算符重载B、类间多重继承C、指针操作D、垃圾回收7、在创建Applet应用程序时,需要用户考虑的问题是( B )。
A、窗口如何创建B、绘制的图形在窗口中的位置C、程序的框架D、事件处理8、于Java语言的存回收机制,下列选项中最正确的一项是( C )。
A、Java程序要求用户必须手工创建一个线程来释放存B、Java程序允许用户使用指针来释放存C、存回收线程负责释放无用存D、存回收线程不能释放存对象9、有如下的程序代码,在执行完后x和y的值是多少( D )int x= 8, y=2, z;x=++x*y;z=x/y++;A)x=16, y=2 B)x=16, y=4 C)x=18, y=2 D)x=18, y=310、正确定义一个初始值为20的float类型的变量的语句是:( C )A float #value=20f;B float value#=20;C float _value=20f;D float value=20;11、下语句不能通过编译的是( D )。
java试题库及答案

java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。
垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。
10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。
Java试卷(简单)

《Java试卷(简单)》试卷得分单选题(每题2分,共计40分)1.下面IP地址格式中,错误的是()A、1.1.1.1B、127.0.0.1C、192.168.1.360D、123.125.114.1442.对于使用多态的应用程序,某个对象的确切类型何时能知道()A、执行时才可以知道B、应用程序编译时能够判断C、程序员编写程序时就已知道D、永远不会知道3.下列关于Socket类的描述中,错误的是()A、Socket类中定义的getInputStream()方法用于返回Socket的输入流对象。
B、Socket类中定义的getOutputStream()方法用于返回Socket的输出流对象。
C、Socket类中定义的getLocalAddress()方法用于获取Socket对象绑定的本地IP地址。
D、Socket类中定义的close()方法用于关闭输入\\输出流对象。
4.下列选项中,属于浮点数常量的是()A、198B、2e3fC、trueD、null5.下列选项中,不属于Java中关键字的是()A、constB、falseC、FinalD、try总分题型单选题判断题填空题简答题题分得分6.下列关键字中,用于创建类的实例对象的是()A、classB、newC、privateD、void7.下面关于ArrayList的描述中,错误的是()A、ArrayList是List接口的一个实现类。
B、ArrayList内部的数据存储结构是数组C、ArrayList不太适合做大量的增删操作D、使用ArrayList集合遍历和查找元素很高效8.以下关于foreach的说法中,哪一个是错误的()A、使用foreach遍历集合时,可以对元素进行修改。
B、foreach可以对数组进行遍历。
C、foreach可以对集合进行遍历。
D、foreach循环是一种更加简洁的for循环,也称增强for循环。
9.KeyEvent类位于下列哪个包中()A、java.awtB、java.awt.eventC、java.awt.dndD、java.awt.im10.下面关于静态同步方法说法错误的是()A、静态方法必须使用class对象来同步。
java基础入门考试题目及答案

java基础入门考试题目及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. object答案:A2. 下列哪个是Java中的保留字?A. appleB. publicC. javaD. dog答案:B3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. object答案:B6. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. public答案:A7. Java中,哪个关键字用于实现多重继承?A. extendsB. implementsC. extends and implementsD. None of the above答案:B8. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A9. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. var答案:A10. 在Java中,哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. try答案:B二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
答案:main3. 在Java中,所有的类都是_________类的子类。
答案:Object4. Java中,用于声明一个私有方法的关键字是_________。
java基础测试题-含答案

Java基础试题姓名一、选择题(每题2分,共30分)1.请写出标识符的命名规则描述正确的是[多选](ABCD )A、由英文字母、数字、_和$组成,长度不限。
B、标识符的第一个字符不能是数字C、标识符区分大小写。
D、标识符不能包含空格。
2. 下列属于正确标识符的选项有[多选](BDGH)A. intB. $_CountC. 3MD. HelloE. b-7F. ms#dG. boolH. D96583、下列哪一个不属于java的基本类型( B )A、intB、StringC、floatD、byte4、下列那条语句能编译通过( A )A、String String=”String”;B、float float=””;C、int int = 11;D、int i= 1.1;5、下列代码的执行结果是: ( D )public class Test1{public static void main(String args[]){float t=9.0f;int q=5;System.out.println((t++)*(--q));}}A、40 C、366、int长度描述正确的是(A )A、-2^31到2^31 - 1B、-2^32到2^32 - 1C、-2^7到2^7 - 1D、-2^8到2^8 - 17、关于==和equals方法描述不正确的是( D )A、==是运算符、equals是方法B、==只比较对象,equals会先比较对象,如果不是一个对象,会对对象的值进行比较。
C、String a= "1"; String b= "1"; System.out.println(a==b); 输出结果为:trueD、String a=new String("1");String b=new String("1");System.out.println(a==b);输出结果为:true8、下列关于哪个不属于java的特性( D )A、封装B、继承C、多态D、重载9、某一个子类要继承一个父类,要使用关键字(B )A、importB、extendsC、implementsD、java10、某一个子类要实现一个父接口,要使用关键字(C )A、importB、extendsC、implementsD、java11、以下关于接口和类的说法正确的是( C )A、接口和类都可以实现多重继承B、子类可以继承多个父类C、子类可以实现多个接口D、一个子类不能同时继承某一个父类和实现某一个接口12、一个非抽象子类,如果要实现某个接口,则(A )A、必须实现该接口中的所有抽象方法B、可以实现部分抽象方法C、可以不实现任何抽象方法D、无所谓13、下列关于Java线程的说法那些是正确的( D )A、每一个Java、线程可以看成由代码.一个真实的CPU以及数据三部份组成。
java试卷

一,单项选择题1.下列声明和赋值语句错误的是(C)A.float x=5.23fB.boolean b =falseC.char c= ’aaa’D.int three=32.下列关于简单数据类型和输出基本型数据的说法中,不正确的是(D)A.byte型变量的取值范围是-27~27-1B. boolean类型变量的值只能是真或者假C.System.out.println()表示输出数据后换行D.控制符号%s表示输出int类型数据值3.下列属于JA V A关键字的是(B)A.StringB.instanceofC.TrueD.Switch4.有关位运算符中说法正确的是(B)A.对于一个整型数进行移位,其右操作数应该小于64B.位运算要求操作数为整数C.位运算符返回的是boolean类型值D.运算符的运算顺序是从右至左,赋值顺序是从右至左5.下列关于Java程序中数组的使用说法不正确的是(C)A.声明数组和创建数组可以一起完成B.可以使用int型变量的值指定数组元素的个数C.同一个数组中的元素类型必须不同D.数组在使用前必须先定义6.下列程序输出的k的值是(D)Int x=3,y=11,k=5switch(x%y){case 0:k=x*y;case 2:k=x+y;case 4:k=x-y;default:k=x*y-x;}A. 33B. 14C. -7D. 307.switch语句中“表达式”的值不可以是(A)A. long型B. short型C. char型D. byte型8,下列关于对象的哪一种说法是正确的?(D )A.对象是指向属性的引用B.对象是可以对其进行实例化从而得到类的东西C.对象是一种蓝本,据此可以创建抽象的具体实现D.对象是类的实例9.下面关于变量及其范围的陈述哪一项是错误的?(A)A.实例变量用关键字static声明B.局部变量在使用前必须被初始化C.实例变量是类的成员变量D.在方法中定义的局部变量在该方法被执行时创建10.分析下面的代码,哪一项叙述是正确的?(A)public class Person {int arr[] = new int[10];public static void main(String a[]) {System.out.println(arr[1]);}}A.编译时出错B.编译时正确而运行时出错C.输出0 D.输出null11.下列说法正确的一项是( A )A java.1ang.Integer是接口B java.1ang.Runnable是类C Doulble对象在iava.1ang包中D Double对象在java.1ang.Object包中12.下面是有关子类继承父类构造函数的描述,其中正确的是(B )A创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
java考试题及答案

java考试题及答案一、选择题1. Java中用于创建新对象的关键字是()。
A. classB. newC. thisD. super答案:B2. 下列哪个选项是Java语言的特点?()A. 支持多继承B. 所有代码必须位于类中C. 支持自动垃圾回收D. 所有选项都是答案:C3. 在Java中,如果需要实现多线程,应该继承哪个类?()A. ObjectB. ThreadC. RunnableD. System答案:B4. 下列关于Java异常处理的描述,哪项是错误的?()A. try块可以单独使用B. catch块必须跟随在try块之后C. finally块用于执行清理操作,无论是否发生异常都会执行D. throw关键字用于手动抛出异常答案:A5. 在Java中,下列哪个是正确的数组初始化方式?()A. int[] arr = {1, 2, 3} {4, 5, 6};B. int[] arr = new int[3];C. int[] arr = new int[] {1, 2, 3};D. int[] arr = {1, 2, 3, 4, 5};答案:C二、填空题1. 在Java中,每一个类都是从______类隐式继承而来的,因此所有的类都具有该类的属性和方法。
答案:Object2. Java中的______关键字用于定义一个类为另一个类的子类,实现代码的复用。
答案:extends3. 当需要在Java程序中捕获多种类型的异常时,可以使用______关键字来指定多个捕获类型。
答案:catch4. 在Java中,______关键字用于定义一个方法或构造器的参数类型和顺序。
答案:paramter5. 如果需要在Java中定义一个接口,应该使用______关键字。
答案:interface三、判断题1. Java中的所有异常都是ng包的Throwable类的子类或孙子类。
()答案:正确2. 在Java中,所有的类都必须显式地指定一个父类。
Java练习题(试卷)

【程序代码】
class Base {
public Base(int i) {
System.out.println("Call Constructor of Base Class, " + i);
}
}
class Test extends Base {
private int b;
public Test(int a, int b) {
如下 java 源程序文件中,定义了 Bicycle 类及其子类 MountainBike 类,Bicycle 类的成员变量 model 只能被类自身的方法所访问。该文件中“/*$1*/”和“/*$2*/”行是需要补充的语句,请仔细阅读程序, 补充相应的语句,使整个程序能够正常运行。(注意: 不改动程序的结构,不得增行或删行)
J_SubClass a = new J_SubClass();
}
}
A、不能通过编译,因为类 J_Test 没有定义无参数的构造方法
B、不能通过编译,因为类 J_SubClass 没有定义无参数的构造方法
C、不能通过编译,因为没有实现 J_SubClass(int i)的构造方法
D、可以成功通过编译
import java.awt.*;
class MyClass { }
public class MyClass { }
Java 练习题 1(第 2 页 共 14 页)
13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用( B )类。
A、java.io.RandomAccessFile
B、java.io.PrintWriter
C、float fun(float a) { }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A、5个字节码文件,以“.java”为扩展名B、2个字节码文件,以“.java”为扩展名
C、5个字节码文件,以“.class”为扩展名D、2个字节码文件,以“.class”为扩展名
4.有关类的说法,正确的是(B)。
【运行结果】
China-GIANT ATX-660
【程序代码】
class Bicycle{
protectedStringmake;//生产厂家
/*$1*/Stringmodel;//型号private
public Bicycle(String make, String model) { this.make = make;
二、填空题
1.Class类是由Java编译器自动生成的,它伴随每个类。
2.任何一个Java程序都默认引入一个包,这个包的名字是ng。
3.在Java语言中,有一个类是所有类或接口的父类,这个类的名称是ng.Object。4.在Java中所实现的二维数组,实际上是由一维数组构成的数组。
9.Applet是能够嵌入到HTML格式中的文件,并能够在浏览器中运行的Java类。
三、判断题
1、Java程序一般应当含有main方法,因为它是所有Java程序执行的入口。(×)
2、Java语言的标识符是不区分大小写的。(×)
3、Java语言为所有的Java程序自动导入包“ng”,因此Java程序可以直接用“ng”中的类和接口。位于类继承关系层次结构树的根部的类Object就是在包“ng”中的类。
importjava.awt.*;importjava.awt.*;
class MyClass{}public class MyClass {}
13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用(B)类。
A、java.io.RandomAccessFileB、java.io.PrintWriter
A、importjava.awt.*;B、package mypackage; packagemypackage;importjava.awt.*;
class MyClass{}public class myClass {}
C、intm;D、/*This isacomment*/ packagemypackage;packagemypackage;
【程序代码】
class Base {
public Base(int i) {
System.out.println("Call Constructor of Base Class, " + i);
}
}
class Test extends Base { private int b;
public Test(int a, int b) {
}
}
2、请完善程序,使它得到正确的结果。
【操作说明】
如下java源程序文件中,程序的功能是输入x,按下列公式求分段函数g(x)的值。
0.75xg(x)
x6
x0
0
x20
该文件中“/*$1*/”、“/*$2*/”和“/*$3*/”行是需要补充的语句,请仔细阅读程序,补充不改动程序的结构,不得增行或删行)
Base(a);/*$1*/super(a); System.out.println("Call Constructor of Derived Class, " +b);
}
public static void main(String[] args) { Test obj = new Test(1, 2);
5.在Java中,字符串是作为对象出现的。
6.接口可以看作是仅容纳抽象方法、常量,而又不能直接生成对象的特殊抽象类。
7.FileInputStream是字节流,BufferedWriter是字符流,ObjectOutputStream是对象流。
8.在Java中,组件不能独立地显示出来,必须将组件放在一定的容器中才能显示。
C、不能通过编译,因为没有实现J_SubClass(int i)的构造方法
D、可以成功通过编译11.关于下面程序片段,(B)的结论是正确的。
String a ="Java";
String b ="Java";
String x ="Ja";
String y ="va";
String c = x + y;
this.model = model;
}
public String toString() { return(make + " " + model);
}
}
class MountainBike extends Bicycle { publicbooleanhasSuspension;//悬挂
public MountainBike(String make, String model, boolean hasSuspension) {
}
}
五、程序填空题
1、请完善程序,使它得到正确的结果。
【操作说明】
如下java源程序文件中,定义了Bicycle类及其子类MountainBike类,Bicycle类的成员变量model只能被类自身的方法所访问。该文件中“/*$1*/”和“/*$2*/”行是需要补充的语句,请仔细阅读程序,补充相应的语句,使整个程序能够正常运行。(注意: 不改动程序的结构,不得增行或删行)
C、floatfun(float a){ }D、floatfun1(inta,floatb) {} float fun(float a, float b){}float fun2(int a, float b) {}
8.下面关于继承的说法,正确的是(D)。
A、超类的对象就是子类的对象B、一个类可以有几个超类
C、一个类只能有一个子类D、一个类只能有一个超类
9.下面关于多态性的说法,正确的是(C)。
A、一个类中不能有同名的方法
B、子类中不能有和父类中同名的方法
C、子类中可以有和父类中同名且参数相同的方法
D、多态性就是方法的名字可以一样,但返回的类型必须不一样
10.关于下面程序,(A)的结论是正确的。class J_SubClass extends J_Test { } public class J_Test{
A、a的值是2,b的值是3B、a的值是1,b的值是3
C、a的值是1,b的值是2D、c的值是false
6.将类的成员的访问权限设置为默认的,则该成员能被(A)。
A、同一包中的类访问B、其他包中的类访问
C、所有的类访问D、所有的类的子类访问
7.下面的方法重载,正确的是(C)。
A、intfun(int a,float b){ }B、floatfun(int a, floatb) {} float fun(int a, float b){}float fun(int x, float y) {}
(√)
4、有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。(×)
5、Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句。(√)
6、Java语言对内存的释放是采用垃圾回收机制。Java虚拟机自动判断并收集“垃圾”,但一般不会立即释放它们的存储空间。(×)7、在编译Java源程序时,计算机根本不会去识别各个变量名的具体含义,因此命名规范对编写Java程序而言不是必要的,而且有可能会降低编写Java源程序的效率。(×)
【运行结果】请输入x的值: 9↙
g(9.0)=3.0
【程序代码】
import java.util.Scanner; public class Test {
public static void main(String[] args) {
/*$1*/Scanner scanner = new Scanner(System.in); double x,y;
C、java.io.PrintStreamD、java.io.PrintOutputStream
14.关于事件监听,正确的是(C)。
A、一个事件监听器只能监听一个组件B、一个事件监听器只能监听处理一种事件
C、一个组件可以注册多个事件监听器,一个事件监听器也可以注册到多个组件上
D、一个组件只能引发一种事件
{
value = n;
}
public int getMax(int x, int y) { if(x >= y && x >= value)
returnx;
else if(y >= value) returny;
else
return value;
}
public static void main(String[] args) { Test obj = new Test(10); System.out.println(obj.getMax(20, 30));
/*$2*/super(make,model); this.hasSuspension =hasSuspension;
}
}
public class Test {
public static void main(String[] args) {
MountainBike giant = new MountainBike("China-GIANT","ATX-660",true); System.out.println(giant);