java内部类练习题

合集下载

java试卷2

java试卷2

一、主观题(10分)1.float型常量和double型常量在表示上有什么区别?2.类中的实例方法可以用类名直接调用吗?3.什么类中可以有abstract方法?4. 接口中能定义非抽象方法吗?5.接口中的常量可以不指定初值吗?6. 内部类的类体中可以声明类变量和类方法吗?7. 执行Integer.parseInt("12.9");会发生异常吗?8. 一个容器对象是否可以使用add方法添加一个JFrame窗口?9. 如果准备按字节读取一个文件的内容,应当使用FileInputStream流还是FileReader流?10. 一个线程执行完run方法后,进入了什么状态?该线程还能再调用start方法吗?二、判断题(10分)1.“char型字符在Unicode表中的位置范围是0至32767。

”正确吗?2. protected class A 是正确的类声明吗?3. “abstract类的子类必须是非abstract类。

”正确吗?4.“成员变量的名字不可以和局部变量的相同”正确吗?5. “Java应用程序由若干个类所构成,这些类必须在一个源文件中.”正确吗?6.“子类和父类不在同一个包中,子类也能继承父类的友好成员”正确吗?7. “父类的final方法不可以被子类重写”正确吗?8. "\hello"是正确的字符串常量吗?9. “一个应用程序中最多只能有一个窗口。

”正确吗?10.“一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法。

”正确吗?三、选择题(20分)1.下列哪个是JDK提供的编译器?A) java.exeB) javac.exeC) javap.exeD) javaw.exe2.对于int a[] = new int[3];下列哪个叙述是错误的?A. a.length的值是3。

B. a[1]的值是1。

C. a[0]的值是0。

D. a[a.length-1]的值等于a[2]的值。

javase练习题

javase练习题

javase练习题一、基础知识篇1. Java基本数据类型有哪些?分别写出它们的默认值。

2. 什么是封装?简述封装的优点。

3. 请写出Java中的四种访问修饰符,并说明它们的访问权限。

4. 什么是构造方法?它与普通方法的区别是什么?5. 在Java中,如何实现方法的重载和重写?二、面向对象篇2. 如何实现一个简单的Java类,包含两个属性和一个方法?3. 简述Java中的继承机制及其作用。

4. 什么是接口?与抽象类有什么区别?5. 请举例说明Java中的多态性。

三、集合框架篇1. Java集合框架中常用的集合类有哪些?2. 请简述ArrayList和LinkedList的区别。

3. 什么是HashMap?它的工作原理是什么?4. 请解释HashSet和TreeSet的区别。

5. 如何遍历一个List集合?四、异常处理篇1. 什么是异常?Java中的异常分为哪几类?2. 请举例说明trycatchfinally语句的使用方法。

3. 什么是自定义异常?如何创建和使用自定义异常?4. 请简述Java异常处理机制的作用。

int a = 10;int b = 0;int result = a / b;五、IO流篇1. 请简述Java IO流的分类。

2. 如何实现文件复制功能?3. 请解释字节流和字符流的区别。

4. 什么是序列化和反序列化?如何实现?5. 请举例说明Java中的文件操作。

六、多线程篇1. 什么是线程?线程和进程有什么区别?2. 请简述线程的生命周期。

3. 如何创建一个线程?有哪几种方式?4. 什么是线程同步?为什么需要线程同步?5. 请解释线程池的概念及其作用。

七、网络编程篇1. 请简述TCP和UDP协议的区别。

2. 如何实现一个简单的Socket通信?3. 什么是URL?如何解析一个URL?4. 请简述HTTP协议的工作原理。

5. 如何实现一个简单的HTTP服务器?八、Java新特性篇1. 请列举Java 8中的几个新特性。

java试题库及答案

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笔试题及答案

经典java笔试题及答案1、anonymous inner class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名的内部类是没有名字的内部类。

不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现2、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一package 子孙类其他packagepublic √√√√protected √√√×friendly √√××private √×××不写时默认为friendly3、static nested class 和 inner class的不同答:nested class (一般是c++的说法),inner class (一般是java的说法)。

java内部类与c++嵌套类最大的不同就在于是否有指向外部的引用上。

注:静态内部类(inner class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象4、&和&&的区别答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)5、collection 和 collections的区别答:collection是集合类的上级接口,继承与他的接口主要有set 和list.collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作6、什么时候用assert答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。

在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。

JAVA习题题目及答案

JAVA习题题目及答案

第1章问答题及作业题第1章问答题1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?3、Java程序的主类必须含有怎样的方法?4、“Java应用程序必须含有一个类是public类”,这句话正确吗?5、“Java Applet程序的主类必须是public类”,这句话正确吗?6、请叙述Java源文件的命名规则。

7、源文件生成的字节码在运行时都加载到内存中吗?8、怎样编写加载运行Java Applet的简单网页?9、编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?第1章作业题1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。

2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。

第2章问答题及作业题第2章问答题1、什么是标识符?标识符的规则是什么?2、什么是关键字?请说出5个关键字。

3、Java的基本数据类型是什么?4、下列哪些语句是错误的?int x=120;byte b=120;b=x;5、下列哪些语句是错误的?float x=12.0;float y=12;double d=12;y=d;6、下列两条语句的作用是等价的吗?char x=97;char x=’a’;7、下列语句输出的结果是什么?int a=97;byte b1=(byte)128;byte b2=(byte)-129;System.out.printf(“%c,%d,%d”,a,b1,b2);8、数组是基本数据类型吗?怎样获取一维数组的长度?9、假设有两个int类型数组:int[] a=new int[10];int[] b=new int[8];b=a;a[0]=100;b[0]的值一定是100吗?10、下列两条语句的作用等价吗?int[] a={1,2,3,4,5,6,7,8};int[] a=new int[8];}第2章作业题1.参照例2-1编写一个Java应用程序,输出俄文字母表。

二级java语言试题及答案

二级java语言试题及答案

二级java语言试题及答案1. 选择题- 1.1 以下哪个选项是Java语言的特点之一?- A. 面向对象- B. 编译型语言- C. 动态类型- D. 以上都不是- 答案: A- 1.2 Java语言中,以下哪个关键字用于定义类?- A. class- B. public- C. static- D. void- 答案: A2. 填空题- 2.1 Java语言中的主函数入口是`____`。

- 答案: main- 2.2 在Java中,`____`关键字用于声明一个方法。

- 答案: void3. 简答题- 3.1 简述Java语言的垃圾回收机制。

- 答案: Java语言的垃圾回收机制是指系统自动回收不再被引用的对象所占用的内存空间。

Java虚拟机(JVM)负责管理内存,当对象不再被任何变量引用时,垃圾回收器会将其标记为可回收,并在适当的时候释放这些内存资源。

4. 编程题- 4.1 编写一个Java程序,实现计算两个整数的和。

- 答案:```javapublic class SumCalculator {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = addNumbers(num1, num2);System.out.println("The sum is: " + sum);}public static int addNumbers(int a, int b) {return a + b;}}```5. 阅读题- 5.1 阅读以下Java代码片段,并回答问题:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```- 5.1.1 这段代码的作用是什么?- 答案: 这段代码的作用是输出字符串"Hello, World!"到控制台。

java基础入门考试题目及答案

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考试试题

java考试试题Java考试试题一、选择题(每题2分,共20分)1. 在Java中,哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum2. 下列哪个是Java的合法标识符?A. 2variableB. variable2C. variable!2D. variable$23. Java中,哪个关键字用于实现多态?A. abstractB. finalC. overrideD. implements4. 在Java中,哪个方法用于获取当前对象的引用?A. this()B. super()C. self()D. me()5. 下列哪个是Java的访问控制修饰符?A. publicB. staticC. synchronizedD. volatile6. Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. enumD. package7. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. finallyD. all of the above8. 下列哪个是Java集合框架中的接口?A. ArrayListB. LinkedListC. ListD. HashMap9. Java中,哪个关键字用于定义一个枚举类型?A. enumB. classC. interfaceD. struct10. 在Java中,哪个方法用于结束当前线程的执行?A. stop()B. exit()C. interrupt()D. destroy()二、简答题(每题5分,共30分)1. 简述Java的垃圾回收机制。

2. 解释Java中的封装、继承和多态性。

3. 描述Java中的异常处理机制。

4. 什么是Java的泛型,它有什么作用?5. 什么是Java的注解(Annotation)?6. 简述Java中集合框架的用途和主要接口。

java考试题目

java考试题目

java考试题目一、选择题1. 下列哪种数据类型在Java中是不可更改的?A. intB. floatC. doubleD. String2. Java中的关键字“final”可以修饰下列哪些内容?A. 变量B. 方法C. 类D. 以上都是3. 在Java中,下列哪种循环结构可以不确定循环次数?A. for循环B. while循环C. do-while循环D. switch-case循环4. 下列哪个关键字用于终止循环?A. endB. nextC. breakD. finish5. Java中的“this”关键字用于什么目的?A. 表示当前类的实例B. 表示当前方法的返回值C. 表示父类的实例D. 表示子类的实例二、填空题1. Java中的包机制是为了解决()问题。

2. 在Java中,如果希望变量在多个线程之间共享,应该使用()关键字修饰。

3. Java中的异常处理机制包括try、catch和()。

4. 在Java中,使用()关键字来调用父类的构造方法。

5. Java中的集合框架包括List、Set和()。

三、简答题1. 什么是Java中的多态性?如何实现多态性?2. 请简要介绍Java中的封装性是什么意思,以及如何实现封装性?3. 什么是Java中的继承性?如何使用继承性创建子类?4. Java中的接口是什么?接口和抽象类有什么区别?5. Java中的异常处理机制是如何工作的?请举例说明异常处理的过程。

四、编程题请编写一个Java程序,实现以下功能:- 创建一个名为Student的类,包含学生的姓名、年龄和学号属性;- 实现一个方法用于输出学生的信息;- 创建多个Student对象,并输出他们的信息。

以上就是Java考试题目的所有内容,希望你能准确回答并顺利通过考试!。

java考试题及答案

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练习题1-4章

Java练习题1-4章

第1章Java开发入门一、填空题1、Java程序的运行环境简称之为______。

2、编译Java程序需要使用______命令。

3、和两个可执行程序存放在JDK安装目录的______目录下。

4、______环境变量用来存储Java的编译和运行工具所在的路径。

二、选择题1、Java属于以下哪种语言A、机器语言B、汇编语言C、高级语言D、以上都不对2、下面哪种类型的文件可以在Java虚拟机中运行A、.javaB、.jreC、.exeD、.class3、安装好JDK后,在其bin目录下有许多exe可执行文件,其中命令的作用是以下哪一种A、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器4、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项A.d:\jdk;B.d:\jdk\bin;C.d:\jre\bin;D.d:\jre;第2章基本数据类型与数组一、填空题1、Java中的程序代码都必须在一个类中定义,类使用______关键字来定义。

2、布尔常量即布尔类型的两个值,分别是______和______。

3、Java中的注释可分为三种类型,分别是______、______、______。

4、Java中的变量可分为两种数据类型,分别是______和______。

5、在Java中,byte类型数据占______个字节,short类型数据占______个字节,int类型数据占______个字节,long类型数据占______个字节。

6、在逻辑运算符中,运算符______和______用于表示逻辑与,______和______表示逻辑或。

7、若x = 2,则表达式( x + + )/3 的值是______。

8、若int a =2; a+=3;执行后,变量a的值为______。

9、若int []a={12,45,34,46,23}; ,则a[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) { }

java基础测试题

java基础测试题

java基础测试题一、选择题1. Java中用于创建新对象的关键字是()。

A. newB. classC. thisD. super2. 下列哪个选项是Java语言中的保留字?()。

A. runB. importC. helloD. method3. 在Java中,如果需要导入ng包中的类,需要使用()语句。

A. import ng.*B. import static ng.*C. Both A and BD. None of the above4. 假设有一个名为“Employee”的类,它有一个名为“name”的字符串变量,那么在该类的构造函数中初始化“name”变量的语句是()。

A. String name;B. name = null;C. = "default";D. name = "default";5. 在Java中,用于创建数组的语法是()。

A. type[] arrayName = new type[arraySize];B. type arrayName[] = new type[];C. Both A and B are correctD. None of the above二、填空题1. 在Java中,所有的类都是继承自__________类的。

2. 如果需要在Java程序中使用面向对象编程的特性,需要导入的包是__________。

3. 在Java中,用__________关键字可以定义一个类。

4. 一个Java类中可以有多个方法,但是必须有一个特殊的方法被称为__________,它是程序执行的起点。

5. 当一个对象不再被使用时,垃圾回收器会自动回收其占用的内存,这个机制称为__________。

三、判断题1. Java中所有的类都必须继承自一个父类。

()2. Java语言支持多重继承。

()3. 一个Java类可以有多个构造函数,它们通过参数的不同来区分。

Java练习题附答案

Java练习题附答案

练习题:一、读程序,写出和程序输出格式一致的输出结果。

1、class J_SuperClass {void mb_method() {System.out.println("J_SuperClass::mb_method");}static void mb_methodStatic() {System.out.println("J_SuperClass::mb_methodStatic"); } }public class J_Test extends J_SuperClass {void mb_method() {System.out.println("J_Test::mb_method");}static void mb_methodStatic() {System.out.println("J_Test::mb_methodStatic");}public static void main(String[] args) {J_SuperClass a = new J_Test();a.mb_method();a.mb_methodStatic();J_Test b = new J_Test();b.mb_method();b.mb_methodStatic();}}输出结果:32342、class ValHold {public int i = 10;}public class ObParm {public static void main(String[] args) {ObParm o = new ObParm();o.amethod();}public void amethod() {int i = 99;ValHold v = new ValHold();v.i = 30;another(v, i);System.out.println(v.i + " " + i);}public void another(ValHold v, int i) {i = 0;v.i = 20;ValHold vh = new ValHold();v = vh;System.out.println(v.i + " " + i);}}输出结果:10 020 993、class J_SuperClass {int m_data;J_SuperClass() {mb_add(1);}public void mb_add(int i) {m_data += i;}public void mb_print() { System.out.println(m_data);}}class J_SubClass extends J_SuperClass { J_SubClass() {mb_add(2);}public void mb_add(int i) {m_data += i * 2;}}public class J_Test {public static void mb_method(J_SuperClass a) { a.mb_add(6);a.mb_print();}public static void main(String[] args) {mb_method(new J_SubClass());}}输出结果:184、public class Two {public static void main(String[] args) {One one = new One("Hello");one.getString("Xiao ming!");}}class One {private String myStr;public One(String str) {myStr = str;}public void getString(String str) { System.out.println(myStr + " " + str);}}输出结果:Hello Xiao ming!5、public class J_Test {String m_kobe = "1";String[] m_king = {"2"};public static void main(String[] args) {J_Test app = new J_Test();app.mb_operate(app.m_kobe, app.m_king); System.out.println(app.m_kobe+app.m_king[0]); } static void mb_operate(String kobe, String[] king) { kobe = new String("3");king[0] = new String("4");}}输出结果:141.某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。

java 内部类和lambda 选择题

java 内部类和lambda 选择题

Java内部类和lambda选择题近年来,Java内部类和lambda表达式成为了Java开发中的热门话题。

它们的使用在一定程度上可以提高代码的简洁度和可读性。

然而,对于初学者来说,这两个特性的深入理解可能略显困难。

在这里,我们来总结一些关于Java内部类和lambda表达式的选择题,帮助大家更好地掌握这两个特性。

1. 下列关于内部类的说法中,正确的是:A. 内部类可以访问外部类的静态成员和非静态成员B. 内部类中可以定义静态成员和静态方法C. 内部类可以被声明为staticD. 内部类可以是public、protected、默认访问和private四种访问权限答案:A解析:内部类可以自由访问外部类的成员,包括静态成员和非静态成员;内部类中不允许定义静态成员和静态方法;内部类可以被声明为static,这种内部类称为静态内部类;内部类可以是public、protected、默认访问和private四种访问权限。

2. 下列代码中使用了匿名内部类的是:A.```javapublic class Test {public static void m本人n(String[] args) {new Thread(new Runnable(){public void run() {System.out.println("Hello, World!");}}).start();}}```B.```javapublic class Test {public static void m本人n(String[] args) {Runnable r = () -> System.out.println("Hello, World!"); new Thread(r).start();}}```C.```javapublic class Test {public static void m本人n(String[] args) {new Thread(() -> System.out.println("Hello, World!")).start(); }}```D.```javapublic class Test {public static void m本人n(String[] args) {class MyRunnable implements Runnable {public void run() {System.out.println("Hello, World!");}}new Thread(new MyRunnable()).start();}}```答案:A解析:A中使用了匿名内部类实现了Runnable接口的run方法;B中使用了lambda表达式;C中同样使用了lambda表达式;D中使用了局部内部类来实现Runnable接口的run方法。

JAVA练习题(第1、2章)

JAVA练习题(第1、2章)
for (i=1;i<10;i++){ for (i=1;i<10;i++){
System.out.print(i+”*”+j+”=”+i*j+””); } System.out.println();
} } }
四、编程题
有一函数:
x
(x<1)
y = 3x-2 (1≤x<10)
4x
(x≥10)
编写一程序,给定x值,输出y值。
$$$ $
public class Test_17_1 { public static void main(String[] args) { int i, j; for (i = 1; i <= 4; i++) { for (j = 1; j <= i; j++) { System.out.print("#" + " "); } System.out.println(); } }
}
public class Test_17_2 { public static void main(String[] args) { int i, j, k; for (i = 0; i < 4; i++) { for (k = 0; k < i; k++) { System.out.print(" "); } for (j = 0; j <= 6 - 2 * i; j++) System.out.print("*"); System.out.println(); } }

JAVA 练习题第5章对象和类

JAVA 练习题第5章对象和类



)。 (A)内部类不能有自己的成员方法和成员变量 (B)内部类可用private或protected修饰符修饰 (C)内部类可以作为其他类的成员,而且可访问 它所在的类的成员 (D)除static内部类外,不能在类内声明static成 员
【解析】内部类也可以有自己的成员方法和变量。
答案为 A
函数。
super
2.类与对象的关系是( )。
答案为 A
(A)类是对象的抽象 (B)对象是类的抽象 (C)对象是类的子类 (D)类是对象的具体实例
3.下面哪一个是Java中不合法的标识符( )。
(A)$persons (C)_myVar
(B)twoNum (D)*pointFra bibliotek答案为 D
答案为 D
4.区分类中重载方法的依据是( A.形参列表的类型和顺序 B.不同的形参名称 C.返回值的类型不同 D.访问权限不同
)。
【解析】形参表的类型和顺序不同时区分重载方法的
唯一标志。
答案为 A
5.子类对象能否直接向其父类赋值?父类对象能否向其子类赋值?



( ) A.能,能 B.能,不能 C.不能,能 D.不能,不能 值给子类对象。
据成员。
答案为 C
4.有一个类B,下面为其构造方法的声明,正确 【解析】构造方法没有类型,且方法名与类名相同。
的是( )。 (A)void B(int x) (B)B(int x) {} (C)b(int x) {} (D)void b(int x) {}
{}
答案为 B

答案为 B
在创建对象时必须( )
A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能 使用对象 C、先声明对象,为对象分配内存空间,对对象初 始化,然后才能使用对象 D、上述说法都对

java考试试题及答案

java考试试题及答案

java考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个是Java的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. Java中的main方法是程序的入口点,它属于哪个类?A. ng.ObjectB. ng.SystemC. ng.RuntimeD. java.applet.Applet答案:A3. 下列哪个关键字用于定义类?A. classB. publicC. staticD. void答案:A4. Java中的哪个关键字用于实现接口?A. implementsB. extendsC. classD. interface答案:A5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. LinkedListD. HashMap答案:B6. 下列哪个不是Java的控制流语句?A. ifB. forC. switchD. while答案:C7. Java中的哪个类提供了日期和时间的处理功能?A. java.util.DateB. java.util.CalendarC. java.time.LocalDateD. java.time.LocalDateTime答案:B8. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个不是Java的访问修饰符?A. publicB. privateC. protectedD. global答案:D10. 下列哪个不是Java的注释方式?A. // 单行注释B. /* 多行注释 */C. / 文档注释 */D. # 预处理指令答案:D二、填空题(每空2分,共20分)1. Java语言是________面向对象的编程语言。

答案:完全2. Java程序的执行流程是:编写源代码,编译成字节码,通过________加载并执行。

java 试题练习题(第7套)

java 试题练习题(第7套)

—— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1、165/2的值是___。

A )0 B )82 C )3 D )83 (难度系数 C )答案:B 知识点:表达式 2、在HTML 中,用________标签来强制显示Applet 。

A ) name,height,width B )codebase, height,width C ) code ,name D ) code, height,width (难度系数B )答案:D 知识点:小应用程序 3、 在Java Applet 程序用户自定义的Applet 子类中,一般需要重载父类的_____方法来完成主类实例的初始化工作。

A )start( ) B ) stop( ) C )init( ) D )paint( ) (难度系数C )答案:C 知识点:小应用程序 4、创建一个标识有“关闭”按钮的语句是___。

A ) TextField b = new TextField(“关闭”);B ) Label b = new Label(“关闭”);C ) Checkbox b = new Checkbox(“关闭”);D ) Button b = new Button(“关闭”);(难度系数C )答案:D 知识点:GUI 编程5、在编写异常处理的Java 程序中,每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。

班级:姓名: 学号:试题共页加白纸张密封线A)if – else B)switch C)try D)throw(难度系数B)答案:C知识点:异常6、Character流与Byte流的区别是_____。

A) 每次读入的字节数不同B) 前者带有缓冲,后者没有C) 前者是块读写,后者是字节读写D) 二者没有区别,可以互换使用(难度系数B)答案:C;知识点:文件IO。

JAVA练习题

JAVA练习题

JAVA练习题一、判断题1、Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。

()2、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。

( )3、方法中的形参可以和方法所属类的属性同名。

( )4、接口无构造器,不能有实例,也不能定义常量。

( )5、利用File对象可以判断一个文件或目录是否存在。

( )6、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。

( )7、BorderLayout是面板的缺省布局管理器。

( )8、BorderLayout最多可以使用5个组件。

( )9、一个面板(JPanel)不能被加入另一个面板(JPanel)中。

( )10、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。

( )11、线程可以用yield使同优先级的线程运行。

( )12、System.in是标准输入流,能用read方法读取键盘的输入。

( )13、数据流就是数据通信通道,指在计算机的输入输出之间运动的数据序列。

( )二、填空题1、设x,y,z的值分别为ture、false和false,试计算下列逻辑表达式的值:(1) x &&y||!z&&ture (2) !x||!y&&!z(3) (!x&&!y)||(!y&&!z) (4) x&&y||true&&!z2、求下面表达式的值:(1) 已知x=2、y=6、z=5.0,求x+(int)y/2*z%4(2) 已知x=123,求x/100+x%100/10+x%10(3) 已知x=160、y=2.8、z=5,求(byte)x +(int)y+(float)z;(4) 设int x=17,y=5; 执行语句x%=x++/--y 后x的值为。

(5) 设int a=7,b=6,c=5;,表达式(a+b)>(c*c)&&b==c||c>b 的值为。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内部类练习题
一、按要求填空
1.请在以下代码的基础上完成下面几个小题
(1)在①和②的位置标注出内部类和外部类
(2)在③的位置定义一个count变量用来存放Circle实例的个数,并在④的位置编写语句用来统计Circle实例的个数。

(3)在⑤和⑥处根据注释语句填写代码
(4)在main()⑦的位置上编写语句调用Draw类中的drawSahpe()。

(5)将修改后的完整代码拷贝在下方:
class Circle { //①
private double radius = 0;

public Circle(double radius) {
this.radius = radius;

}
class Draw { //②
public void drawSahpe() {
⑤ //输出radius变量的值
⑥ //输出count变量的值
}
}
}
public class OuterInnerClass {
public static void main(String[] args) {
⑦ //编写语句调用Draw类中的drawSahpe()
}
}
答案:
class Circle { //①外部类
private double radius = 0;
static int count=0;
public Circle(double radius) {
this.radius = radius;
count++;
}
class Draw { //②内部类
public void drawSahpe() {
System.out.println(radius);
System.out.println(count);
}
}
}
public class OuterInnerClass {
public static void main(String[] args) {
Circle objCircle=new Circle(10);
Circle.Draw objDraw=objCircle.new Draw();
objDraw.drawSahpe();
}
}
2.程序填空,使程序运行结果为 30 20 10
public class Demo{
public static void main (String[] args) {
Outer.Inner obj=new Outer().new Inner();
obj.show();
}
}
class Outer{
public int number=10;
class Inner{
public int number=20;
public void show() {
int number=30;
System.out.print( );
System.out.print( );
System.out.print( );
}
}
}
答案:
public class Demo{
public static void main (String[] args) {
Outer.Inner obj=new Outer().new Inner();
obj.show();
}
}
class Outer{
public int number=10;
class Inner{
public int number=20;
public void show() {
int number=30;
System.out.print( number +" " );
System.out.print( this.number +" " );
System.out.print( new Outer().number +" " );
}
}
}
(3)按照要求,补齐代码
interface Inter { void show(); }
class Outer {
//请在此处补齐代码
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
要求在控制台输出”HelloWorld”
答案
interface Inter { void show(); }
class Outer {
//补齐代码
public static Inter method(){
return new Inter(){
void show(){
System.out.println("HelloWorld");
}
};
}
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
解析:这个题目考的是一个局部匿名内部类。

通过看主方法中的调用Outer.method()能直接用类名调用方法,那么肯定该方法就是一个static方法,然后又直接调用了show()方法,说明这个method方法有一个返回值,其返回值类型就是实现该接口类的类型,因为只有接口中有show()这个方法。

所以在method中就是一个匿名内部类。

二、编程题:
定义一个名为Father的外部类,类中定义一个私有的String类型的属性name,name的值为“张三”。

Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。

定义一个测试类Test,在Test类的main()方法中,创建Child 对象,并调用introFather ()方法。

答案:
三、代码分析题
(1)分析下面的代码有没有错误,如果有错误请指出原因,如果没有错误则写出运行结果public class Test {
public static void main (String[] args) {
A.Inner inner = new A().new Inner();
inner.show();
}
}
class A{
int y = 6;
class Inner {
static int y = 3;
void show() {
System.out.print(y);
}
}
}
答案:
/**
* 运行结果:
* 运行出错:
* 成员内部类中不能拥有静态变量,但可以访问外部静态域 */
(2)分析下面“成员内部类”程序的运行结果:
分析:
第14行的number指的是内部类中show( )方法中的(第13行定义的)局部变量;第15行的this. number指的是内部类中的(第9行定义的)成员变量;
第11行的new Outer( ). number指的是外部类中的(第9行定义的)成员变量;第12行的Outer.this. number指的也是外部类中的(第9行定义的)成员变量。

因此运行结果应该是:
30
20
10
10。

相关文档
最新文档