java习题
- 格式:doc
- 大小:55.00 KB
- 文档页数:5
JAVA习题锦集(含答案)一、判断题1.(×)接口和类一样也可以有继承关系,而且都只能支持单继承2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数3.(×)A subclass inherits all methods ( including the constructor ) from the superclass4.(×)Java中所有的类都是ng的子类5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址6.(×)abstract方法不一定要声明在abstract类中7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目10.(×)最终方法只能存在于最终类中二、单选题1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B(A)安全性(B)多线性(C)跨平台(D)可移植2、下列选项中不是JAVA语言特点的是()D(A)面向对象(B)平台无关(C)安全性高(D)单线程3、异常包含下列那些内容?()D(A)程序中的语法错误(B)程序的编译错误(C)程序执行过程中遇到的事先没有预料到的情况(D)程序事先定义好的可能出现的意外情况4、JAVA语言中的语句是以()为结尾的。
B(A)句号(B)分号(C)双引号(D)逗号5、下列选项中,哪一个是打印语句的正确表达式:()A(A)System.out.println(); (B)System.out.Println();(C)System.Out.print(); (D)System.Out.println();6、下列哪一个是合法的JAVA语句标示符()C(A)#xyz (B)10Year (C)_Hello (D)@yahoo7、下列哪一个是JAVA语言的关键字()B(A)hello (B)void (C)num_01 (D)abc8、关于数据类型转换下面描述错误的是()D(A)当两个数据的类型不统一时,必须先进行数据类型的转换,再运算或赋值(B)byte类型数据可以转换为short,int,long类型数据(C)long类型数据有可能转换为byte,short,int类型数据(D)在语句int i=(int) 78.67;中,变量i的值为799、下列定义String变量s的语句中,错误的是()A(A)String s=new “Yes!”;(B)String s=new String(“yes!”) ;(C)String s; (D)String s=”Yes!”;10、下列关于注释语句的描述错误的是()DA、多行注释语句的内容,从/*开始,到*/结束B、多行注释语句也可以是单行语句C、文档注释语句的内容,从/**开始,到*/结束D、单行注释语句的内容,从//开始,以分号为结尾句11、定义一个长整型变量a的语句是()DA、int a ;B、a long ;C、float a ;D、long a;12、下列哪个是反斜杠字符的正确表示()AA、\\;B、*\\;C、\;D、\’\’;13.Main()方法的返回类型是()BA、intB、voidC、booleanD、static14. 编译运行以下程序后,关于输出结果的说明正确的是()Bpublic class Con{public static void main(String args[ ]){int x=2;System.out.println(“value is “+ ((x<1) ?22:2));}}A、输出结果为:value is 22.2B、输出结果为:value is 2C、输出结果为:value is 2.0D、编译错误15.给出下面代码:public class test{static int a[] = new a[10];public static void main(String args[]) {System.out.println(arr[10]);}}那个选项是正确的?()AA、编译时将产生错误;B、编译时正确,运行时将产生错误;C、输出零;D、输出空。
选择题:能将程序补充完整的选项是()。
Class Person{Private int a;Public intchange(int m){return m;}}Public class Teacher extends Person{publicint b;public static void main (String[]args)//主函数{person p=new person();Teacher t=new Teacherinti;;}}A.i=mB.i=bC.i=p.aD.i=p.change(50)简答题类中的实例变量在什么时候会被分配内存空间?答:当用new关键字创建对象时就给类中的实例变量分配了内存空间,然后执行构造方法中的语句。
如果成员变量在声明时没有指定初值,所使用的构造方法也没有对成员变量进行初始化操作,那么对于整型的成员变量,默认值是0;对于浮点型变量,默认值是0.0;对于布尔型变量,默认值是false;对于引用型变量,默认值是null。
编程题设计一个teacher类,包含有三个私有字段name、teacherID、address,以及供外部访问这三个私有字段的对应方法getName、setname、getTeacherID、getAdress、setAdress。
同时Teacher 类还有一个能按查询条件字符串(qryString)查询老师授课课程的方法queryCourse,queryCourse返回字符串类型的课程名称。
请编写出Teacher类的定义代码。
解:public class Teacher{private String name ;privateintteacherID;private String address;public Teacher(){}public String getName(){return name;}public void setName (String nam ){name=nam;}publicintgetTeacherID(){returnteacherID;}public void setTeacherID( int id){teacherID=id;}public String getAddress(){return address;}publicvoid setAddress(String add){address=add}public String query Course(String qryString){return “”}}选择题1.若一个域能被这个类的所有代码访问,能被与这个类在同一个包中的所有类访问,能被任何一个包中的所有类访问,则这个类域属于()。
上机练习题练习1(4)1.取两个小于1000的正随机数,若两个数均小于10,先将它们都放大50倍,否则不改变这两个数最后,求这两个数的和并将结果输出。
要求这些输出结果仅保留小数点后4位(不需四捨五入)。
import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void init( ){Label out1=new Label(" ");Label out2=new Label(" ");double x,y;add(out1);add(out2);x=Math.random( )*1000;y=Math.random( )*1000;if(x<10&y<10) { x*=50; y*=50; }out1.setText(""+x+"+"+y+" 约等于");out2.setText(""+(int)((x+y)*10000)/10000.0);}}2.取一个小于10000的正随机整数,并输出该数的平方根。
要求这些输出结果在四捨五入后保留小数点后4位。
import java.awt.*;import java.applet.*;public class Applet1 extends Applet{public void paint(Graphics g){int k;k=(int)(Math.random( )*1000);g.drawString(""+k+" 的平方根约等于"+(int)((Math.sqrt(k)+0.00005)*10000)/10000.0,20,20);}}3.取一个50~200之间的正随机整数,如果该数为奇数则求它的平方根并转换成float型数后再输出;如果该数为偶数则求它的平方并输出。
Java练习题库(含答案)一、Java语法基础(1-18)1、在Java中,负责对字节码解释执行的是()。
答案:BA、垃圾回收器B、虚拟机C、编译器D、多线程机制2、下列描述中,正确的是()答案:AA、Java程序的main方法必须写在类里面。
B、Java程序中可以有多个main方法。
C、Java程序中类名必须与文件名一样。
(public修饰的才有这要求)D、Java程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来。
3、下列描述中,正确的是()答案:AA、Java中的标识符是区分大小写的B、源文件名与public类名可以不相同C、Java源文件扩展名为.jarD、Java源文件中public类的数目不限4、下列关于Java中变量命名规范的描述中,正确的是( ) 答案:BA、变量由字母、下划线、数字、$符号随意组成。
(数字不能开头)B、变量不能以数字开头。
C、A和a在java中是同一个变量。
D、不同类型的变量,可以起相同的名字。
5、以下选项中,不是Java合法标识符的是( ) 答案:CA、 VOIDB、 x3xC、 finalD、 abc$def6、在Java中定义一个类时,所使用的关键字是()。
答案:AA、classB、publicC、structD、class 或struct7、下列关于运算符优先级别排序正确的是()答案:AA、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;8、表达式(15+3*8)/4%3的值是( )答案:AA、 0B、 1C、 2D、 399、已知字符A对应的ASCII码值是65,那么表达式"A" + 1的值是()答案:CA.、66 B、B C、A1 D、非法表达式,编译出错10、下列关于boolean类型的叙述中,正确的是()答案:DA、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将boolean类型的数值转换为char类型的数值D、不能将boolean类型的数值转换为其他基本数据类型11、下面关于for循环的描述正确的是( ) 答案:AA、 for循环体语句中,可以包含多条语句,但要用大括号括起来。
java基础练习题# Java基础练习题一、选择题1. Java是一种:A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案: B2. Java程序的执行流程是:A. 编译 -> 运行B. 编译 -> 链接 -> 运行C. 编译 -> 翻译 -> 执行D. 编译 -> 执行答案: C3. 下列哪个是Java的关键字:A. `int`B. `float`C. `double`D. `string`答案: A4. Java中,哪个关键字用于定义类:A. `public`B. `class`C. `interface`D. `void`答案: B5. Java中,哪个不是合法的标识符:A. `myClass`B. `class`C. `2variable`D. `Variable`答案: C二、填空题1. Java语言的跨平台特性是通过______实现的。
答案: Java虚拟机(JVM)2. Java的基本数据类型包括:byte, short, int, long, float, double, char, ______。
答案: boolean3. 在Java中,使用______关键字可以定义一个方法。
答案: void 或者其他返回类型4. Java中,一个类可以有多个构造方法,只要它们的______列表不同。
答案:参数5. Java中,`System.out.println()`用于______。
答案:输出信息到控制台三、简答题1. 简述Java的垃圾回收机制。
答案: Java的垃圾回收机制是一种自动内存管理功能,它负责回收不再使用的对象所占用的内存。
垃圾回收器定期检查内存中的对象,识别那些不再被任何引用指向的对象,并将它们从内存中清除,释放内存资源。
2. 描述Java中的继承和多态的概念。
答案:继承是Java中一个类(子类)可以继承另一个类(父类)的属性和方法。
一、选择题1.如下哪个字符串是Java中的合法标识符?( A )A、fieldnameB、superC、3numberD、#numberJava用标识符(identifier) 表示变量名、类名和方法名。
标识符可以由字母、数字和下划线(_)、美元符号($)组合而成,标识符必须以字母、下划线或美元符号开头,不能以数字开头2.下面哪个语句正确地声明一个整型的二维数组? ( D )A、 int a[][] = new int[][];B、 int a[100][100] = new int[][];C、 int []a[] = new int[100][100];D、 int a[][] = new int[100][100];3.为AB类的一个无形式参数且无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它(即可以通过类名调用方法method),该方法头的形式为( D )。
A、abstract void method( )B、final void method( )C、public void method( )D、static void method( )4.已知代码:String greeting = “Hello”;String s = greeting.substring(0,3); System.out.println(s);运行结果是_____A_____.A)Hel B) ell C)Hell D)ello5.已知代码:String greeting =“Hello!”;Char a = greeting.charAt(4);System.out.println(a);运行结果是______B____.A)l B)o C)空格D)!6.给出如下代码:class Test{private int m;public static void fun() {// some code...}}如何使成员变量m 被函数fun()直接访问? ( )A、将private int m 改为protected int mB、将private int m 改为public int mC、将private int m 改为 static int mD、将private int m 改为 int m7.下列说法不正确的是____A_____。
第一章JAV A语言概论一、选择题1.下列不属于java语言特点的是:BA.java能检查程序在变异和运行时的错误B.java能运行虚拟机实现跨平台C.java自己操纵内存减少了内存出错的可能性D.java还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是:CA.全编译型B.全解释型C.半编译和半解释型D.同脚本语言的解释模式3.下列关于虚拟机说法错误的是:BA.虚拟机可以用软件实现B.虚拟机部可以用硬件实现C.字节码是虚拟机的机器码D.虚拟机把代码程序与各操作系统和硬件分开4.java语言是1995年由()公司发布的AA.SunB.MicrosoftC.BorlandD.Fox Software5.下列不是虚拟机执行过程特点的是AA.双线程B.多线程C.动态链接D.异常处理6.java以JVM为基础,最下层是移植接口,由适配器和()组成BA.网卡B.Java osC.Java基本类D.Java应用程序和applet小程序7.java程序的执行过程中用到一套JDK工具,其中javac.exe指AA.java语言编译器B.java字节码解释器C.java文档生成器D.java类分解器8.java的API结构中,不属于类库主要包括的核心包的是CA.java包B.javaxC.javadoc包扩展包9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的AA.一个B.两个C.四个D.任意多个10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件AA.javaB.classC.docD.exe二、填空题1.1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个__oak__软件,它是java的前身。
2.java是一个网络编程语言,简单易学,利用了面向对象___的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。
第1章Java入门一、选择题1.下列选项中,不属于Java语言特点的一项是(C )。
(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程序采用解释执行的方法。
在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。
2.在Java语言中,( C )是最基本的元素?(A)方法(B)包(C)对象(D)接口【解析】构成Java程序的基本元素类(抽象的对象)。
3.编译一个定义了3个类和10个方法的Java源文件后,会产生(D )个字节码文件?扩展名是(D )?(A)13个字节码文件,扩展名为.class(B)1个字节码文件,扩展名为.class(C)3个字节码文件,扩展名为.java(D)3个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。
4.在创建Applet应用程序时,需要用户考虑问题是(B )。
(A)窗口如何创建(B)绘制的图形在窗口中的位置(C)程序的框架(D)事件处理【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。
5.Java语言属于(B )种语言?(A)面向机器的语言(B)面向对象的语言(C)面向过程的语言(D)面向操作系统的语言【解析】Java语言是一种纯面向对象的语言。
6.下列关于Application和Applet程序的说法中不正确的一项是(B )。
(A)Application使用解释器java.exe(B)Application不使用独立的解释器(C)Applet在浏览器中运行(D)Applet必须继承Java的Applet类【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
一、填空题(1) 关键字____class_引入类的定义。
(2) 一个_____构造方法____是一个特殊的方法,用于初始化一个类的对象。
(3) 一个声明为static的方法不能访问______实例____成员。
(4) 对于带参数的成员方法来说,实参的个数、顺序以及它们的数据类型必须要与_形参_______的个数、顺序以及它们的数据类型保持一致。
(5) 实参变量对形参变量的数据传递是___值传递_______。
(6) 在方法体内可以定义本方法所使用的变量,这种变量是_局部变量_____,它的生存期与作用域是在__本方法___内。
(7) 方法体内定义变量时,变量前不能加__修饰符_____。
(8) 局部变量在使用前必须_______,否则编译时会出错。
(9) 构造方法的方法名与______相同。
(10) 类的修饰符是public,说明这个类可供________包使用。
(11) 如果类pa继承自类fb,则类pa被称为______类,类fb被称为_____类。
(12) 继承使_______成为可能,它节省了开发时间,鼓励使用先前证明过的高质量的软件构件。
(13) 如果一个类包含一个或多个的abstract方法,它就是一个______类。
(14) 一个super类一般代表的对象数量要______其子类代表的对象数量。
(15) 一个子类一般比其super类封装的功能性要______。
(16) 标记成________的类的成员只能由该类的方法访问。
(17) Java用________关键字指明继承关系。
(18) this代表了_______的引用。
(19) super表示的是当前对象的_________对象。
(20) 抽象类的修饰符是________。
(21) 接口中定义的数据成员是________。
(22) 接口中没有什么________方法,所有的成员方法都是_____方法。
(23)设有如下的程序代码,for(int i=1; i<3; i++)for(int j=1;j<5;j++){if (j==3) continue;System.out.println("j="+j+" i="+i);}程序的运行结果是:。
(24)Java源文件中最多只能有一个【24】类,其它类的个数不限。
(25)在Java中所实现的多维数组,实际上是由一维数组构成的【25】。
(26)StringBuffer类提供【26】字符串对象的表示。
(27)每个Applet程序必须有一个类是【27】类的子类。
(28)线程在生命期中要经历5种状态,分别是新建状态、可运行状态、运行状态、【28】状态和终止状态。
(29)break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch 语句后面的【29】开始执行。
(30)当使用Thread t=new Thread(r)创建一个线程时,表达式:r instanceof Thread的值为【30】。
(31)在面向对象方法中,类的实例称为【31】。
(32)诊断和改正程序中错误的工作通常称为【32】。
(33)面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和【33】的集合体。
(34在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的【34】()方法。
(35)在Java语言中,用【35】修饰符定义的类为抽象类。
(36)在Java中,字符是以16位的【36】码表示。
(37)代码System.out.println(066)的输出结果是【37】。
(38)Swing中用来表示工具栏的类是javax.swing. 【38】。
(39)表达式(10*49.3)的类型是【39】型。
(40)抛出异常的语句是【40】语句。
41.下面程序段执行后,a的值为?()public class test1{ public static void main(String args[]){ int x=(int)7.2f;Float y=x;System.out.println(x+" "+y);}}2. 读程序写出执行结果为。
public class test2{public static void main(String args[]){int sum=0;for(int i=0;i<10;i++){if(i%2==0) sum+=i;else continue; }System.out.println(sum);}}二、选择题(1)在Java中,负责对字节代码解释执行的是( B )。
A.垃圾回收器B.虚拟机C.编译器D.多线程机制(2)下列叙述中,正确的是( A )A.Java语言的标识符是区分大小写的B.源文件名与public类名可以不相同C.源文件扩展名为.jar D.源文件中public类的数目不限(3)下列属于合法的Java标识符是(A )A._cat B.5books C.+static D.-3.14159(4)在Java中,表示换行符的转义字符是(A )A.\n B.\f C."n" D.\dd(5)在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是(D )A.java.applet B.java.awt C.java.util D.ng(6)在Java中,所有类的根类是(A )A.ng.Object B.ng.ClassC.java.applet.Applet D.java.awt.Frame(7)在Java中,用Package语句说明一个包时,该包的层次结构必须是(B )A.与文件的结构相同B.与文件目录的层次相同C.与文件类型相同D.与文件大小相同(8)下面程序段执行后,i和j的值为?( D )public class bk8{ public static void main(String args[]){ int x=1,y=2;System.out.println("x+y="+(x+y));}}A.3B. x+y=12C. x+y=12D. x+y=3(9)下列构造方法的调用方式中,正确的是(C )A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(10)类Panel默认的布局管理器是(C )A.GridLayout B.BorderLayout C.FlowLayout D.CardLayout(11)在Java中,能实现多重继承效果的方式是(C )A.内部类B.适配器C.接口D.同步(12)char类型的取值范围是(B )A.-27 ~27 -1 B.0~216-1 C.-215 ~215 -1 D.0~28-1(13)能够支持javadoc命令的注释语句是(D )A./**...// B./*...*/ C.// D./**...*/Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。
也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。
(14)十进制数16的16进制表示格式是(A )A.0x10 B.0x16 C.0xA D.16(15)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100(16)Java编程语言有八个原始数据类型,下列不是原始数据类型的是(C )A、整型B、字符型C、数组D、布尔型(17)下列方法中可以用来创建一个新线程的是( C )A.实现ng.Runnable接口并重写start()方法B.实现ng.Runnable接口并重写run()方法C.实现ng.Thread类并重写run()方法D.实现ng.Thread类并重写start()方法(18)下列关于Java Application与Applet的说法中,正确的是( C )A.都包含main()方法B.都通过“appletviewer”命令执行C.都通过“javac”命令编译D.都嵌入在HTML文件中执行(19)当启动Applet程序时,首先调用的方法是( B )A.stop() B.init() C.start( ) D.destroy()(20)下列关于线程优先级的说法中,正确的是( C )A.线程的优先级是不能改变的B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时候都可以设置D.B和C(21)按照Java的标识符命名规范,下列表示一个类的标识符正确的是( B ) A.Helloworld B.HelloWorld C.helloworld D.helloWorld(22)若有定义int a=2,则执行完语句a-=a*a;后,a的值是 B 。
A.2 B.-2 C.4 D.-4(23)用于设置组件大小的方法是(B )A)paint( ) B)setSize( ) C)getSize( ) D)repaint( )(24)点击窗口内的按钮时,产生的事件是(C )A)MouseEvent B)WindowEvent C)ActionEvent D)KeyEvent(25)AWT中用来表示对话框的类是(D )A)Font B)Color C)Panel D)Dialog(26)下列运算符中,优先级最高的是(D )A)+= B)= = C)&& D)++(27)下列运算结果为1的是(B )A)8>>1 B)4>>>2 C)8<<1 D)4<<<2(28)下列语句中,可以作为无限循环语句的是(A )A)for(;;) {} B)for(int i=0; i<10000;i++) {}C)while(false) {} D)do {} while(false)(29)下列表达式中,类型可以作为int型的是(C )A)“abc”+”efg”B)“abc”+’efg’C)‘a’+’b’D)3+”4”(30)下列程序段执行后,t3的结果是 B 。
int t1=2,t2=3,t3;t3=t1<t2?t1:t2+t1A)-2 B)2 C)-4 D)4(31)如果线程正处于运行状态,则它可能到达的下一个状态是(C )A)只有终止状态B)只有阻塞状态和终止状态C)可运行状态,阻塞状态,终止状态D)其他所有状态(32)下列对Java的继承机制描述正确的是(A )A、继承父类时使用extends子句B、Java只支持单重继承,所以接口没用C、继承时子类可以访问父类的private成员D、子类不能覆盖父类成员方法(33)下列选项为字符的是(D )A、”a”B、[a]C、”student”D、’a’(34)在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是(B )A)stop( ) B)destroy( ) C)paint( ) D)start( )(35)下列变量名的定义中,符合Java命名约定的是( A )A)fieldname B)super C)int D)#number(36)自定义异常类的父类可以是( C )A)Error B)VirtuaMachineError C)Exception D)Thread(37)下列语句序列执行后,j的值是 B 。