您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Java程序设计课堂练习题
《Java程序设计》练习题1《Java程序设计》练习题第一章Java编程基础一、选择题1、可以使用【】实用程序编译Java程序。A.javaB.javacC.javadocD.cmd2、可以使用【】实用程序运行java应用程序。A.javaB.javacC.javadocD.cmd3、可以使用【】实用程序从Java源文件代码中抽取Java文档注释,生成相应的HTML帮助文档。A.javaB.javacC.javadocD.cmd4、Java编译单元(源程序文件)的扩展名为【】A..javaB..classC..docD..exe5、编译Java源程序文件产生的字节码文件的扩展名为【】A..javaB..classC..htmlD..exe6、以下Java应用程序执行入口main方法的声明中,正确的是【】A、publicstaticvoidmain()B、publicstaticvoidmain(String[]args)C、publicstaticintmain(String[]args)D、publicvoidmain(String[]args)7、Java属于以下哪种语言?【】A.机器语言B.汇编语言C.高级语言D.以上都不对8、下面哪种类型的文件可以在Java虚拟机中运行?【】A..javaB..jreC..exeD..classs9、Java程序中声明包的关键字是【】A、javaB、packageC、javadocD、cmd10、如果JDK的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?【】A、d:\jdk;B、d:\jdk\bin;C、d:\jre\bin;D、d:\jre;11、下列说法中,不正确的是【】。A、一个Java源文件编译通过后,得到的结果文件数也只有一个B、一个Java源文件经过编译后,得到的文件的扩展名一定是.classC、一个Java源文件只能有一个public类定义,其类名与源文件名相同D、一个Java源文件可以包含多个类《Java程序设计》练习题212、安装好JDK后,在其bin目录下有许多exe可执行文件,其中“java.exe”命令的作用是以下哪一种?【】。A、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器13、以下关于变量的说法错误的是【】A.变量名必须是一个有效的标识符B.变量在定义时可以没有初始值C.变量一旦被定义,在程序中的任何位置都可以被访问D.在程序中,可以将一个byte类型的值赋给一个int型类型的变量,不需要特殊声明14、假设intx=2,三元表达式x0?x+1:5的运行结果是以下哪一个?【】A.0B.2C.3D.515、下面的运算符中,用于执行除法运算的是哪个?【】A./B.\C.%D.*16、下面哪种写法可以实现访问数组arr的首个元素?【】A.arr[0]B.arr(0)C.arr[1]D.arr(1)17、以下哪个选项可以正确创建一个长度为3的二维数组?【】A.newint[2][3]B.newint[3][]C.newint[][3]D.以上答案都不对18、关于变量的作用域,下列说法错误的是【】A.类成员变量的作用域为类定义体B.方法参数的作用域为方法体C.对于for语句中定义的变量,当for语句执行完时,该变量就消亡了D.在方法voidf(inti)的for语句块中,可以声明变量“inti;”19、Java字符类型采用的是Unicode编码方案,每个Unicode码占用的位数是【】。A.8B.16C.32D.6420、下列赋值语句中,不合法的是【】。A.floatf=1.2B.floatf2=1.2fC.doubled=1.2D.doubled2=1.2f二、填空题1、Java的三个技术平台分别是_javase___、__javaee__、__javame__。2、Java程序的运行环境简称之为_jre___。3、编译Java程序需要使用__javac__命令。《Java程序设计》练习题34、_____path____环境变量用来存储Java的编译和运行工具所在路径,而___classpath__环境变量则用来保存Java虚拟机要运行的“.class”文件路径。5、在Java语言中,main()方法的参数是表示命令行参数的String数组,其中,__args[0]__表示第一个参数。6、Java应用程序的入口方法是_____main()__,用于控制程序的开始和结束。7、Java系统运行时,通过__自顶垃圾收集___机制周期性地释放无用对象所使用的内存,完成对象的清除。8、Java中的程序代码都必须在一个类中定义,类使用_class__关键字来定义。9、布尔常量即布尔类型的两个值,分别是__true__和__false___。10、Java中的注释可分为三种类型,分别是__单行___、___多行____、____文档___。三、判断题1、Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。2、Java语言的语法与C或C++类似,也支持面向过程的程序设计技术。3、Java提供了自动垃圾收集机制进行内存管理,减小了内存出错的可能性。4、Java语言的平台无关性使得Java程序可以跨平台运行。5、Java虚拟机是实现Java语言平台无关性的基础。四、简答题1、简述JRE与JDK的区别。JRE,它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。它包含编译工具、解释工具、文档制作工具、打包工具等多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。2、什么是方法重载?方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。第二章面向对象思想一、选择题1、类的定义必须包含在以下哪种符号之间?【】A.方括号[]B.花括号{}C.双引号“”D.圆括号()《Java程序设计》练习题42、在以下什么情况下,构造方法会被调用?【】A.类定义时B.创建对象时C.调用对象方法时D.使用对象的变量时3、在类的继承关系中,需要遵循以下哪个继承原则?【】A.多重B.单一C.双重D.不能继承4、在Java语言中,以下哪个关键字用于在方法上声明抛出异常【】A、tryB、catchC、throwsD、throw5、关于super关键字以下说法哪些是不正确的【】。A.super关键字可以调用父类的构造方法B.super关键字可以调用父类的普通方法C.super与this不能同时存在于同一个构造方法中D.super与this可以同时存在于同一个构造方法中6、类中的一个成员方法被下面哪个修饰符修饰时,该方法只能在本类被访问?【】。A.publicB.protectedC.privateD.default7、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?【】A、inheritsB、implementsC、extendsD、modifies8、System类位于以下哪个包中?【】。A、java.ioB、java.utilC、java.awtD、java.lang9、以下关于继承的说法,正确的是【】。A.继承可以避免代码复制和相关的代码维护等问题B.Java语言中一个子类可以继承多个基类(多重继承)C.Java语言不允许实现多个接口D.子类可以继承父类的方法,但不能重新改写父类的方法10、下列修饰符中,不能用来修饰类的是【】。A.publicB.abstractC.finalD.static二、填空题1、面向对象的三大特征是__封装___、___继承___和____多态___。2、在Java中,可以使用关键字__new___来创建类的实例对象。3、定义在类中的变量被称为__成员变量_____,定义在方法中的变量被称为__局部变量___。4、在非静态成员方法中,可以使用关键字_this_访问类的其他非静态成员。5、被static关键字修饰的成员变量被称为__静态变量____,它可以被该类所有的实例对象共享。《Java程序设计》练习题56、在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为__内部类___。7、在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术称为___继承__。8、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_,否则该类就必须定义成____抽象类__。9、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_import_关键字。10、一个类可以从其他的类派生出来,派生出来的类称为__子类__,用于派生的类称为__父类__或者_基类__。三、判断题1、在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。2、Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。3、声明构造方法时,不能使用private关键字修饰。4、类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。5、方法内部类中不能访问外部类的成员变量。四、简答题1、构造方法和普通的成员方法有什么区别?2、抽象类和接口的区别是什么?3、什么叫多态?1.构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。2.在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。接口可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。由于接口的特殊性,在定义时需要使用interface关键字。3.多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。《Java程序设计》练习题6第三章多线程一、选择题1、Thread类位于下列哪个包中?【】A.java.ioB.java.langC.java.utilD.java.awt2、线程调用sleep()方法后,该线程将进入以下哪种状态?【】A.就绪状态B.运行状态C.阻塞状态D.死亡状态3、在以下哪种情况下,线程进入就绪状态?【】。A.线程调用了sleep()方法时B.线程调用了join()方法C.线程调用了yield()方法时D.线程调用了notify()方法4、对于通过实现Runnable接口创建线程,下面说法不正确的是【】。A、适合多个相同程序代码的线程去处理同一个资源的情况B、把线程同程序代码、数据有效的分离,很好地体现了面向对象的设计思想C、可以避免由于Java的单继承带来的局限性D、编写简单,可以不通过Thread类直接创建线程5、对于死锁的描述,下面四种说法不正确的是【】。A.当两个线程互相等待对方释放同步锁时会发生死锁B.Java虚拟机没有检测和处理死锁的措施C.一旦出现死锁,程序会发生异常D.处于死锁状态的线程处于阻塞状态,无法继续运行6、下面四个选项中,不是线程进入阻塞状态的原因是【】。A.线程试图获取某个对象的同步锁,而该锁被其他线程持有B.线程调用了另一个线程的join()方法C.线程调用了一个阻塞式的IO方法D.线程调用了setDaemon(booleanb)方法7、要创建一个线程类,可通过
本文标题:Java程序设计课堂练习题
链接地址:https://www.777doc.com/doc-6711720 .html