1.使用______布局管理器是,当Frame的大小被改变时Frame中的按钮的位置可能会改变?
A、BorderLayout B、FlowLayout C、CardLayout D、GridLayout
2.下面______是短整型short的取值范围:
A、-2^7至2^7-1
B、0至2^15
C、-2^15至2^15-1
D、-2^31至2^31-1
Char是0-2的16次方-1
15. 关键字______可以对对象加互斥锁?
A、transient B、synchronized C、serialize D、static
16. print()方法使用______类型的参数?
A、Graphics B、Graphics2D C、String D、Color
17. 下列内部类的正确用途是______。
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
String s=input.getText();
output.setText("Hello"+s+",Welcome You!");
}
})
A、用于访问外部类的数据
B、用于进行事件处理
C、隐藏起来不被同一包中的其他类所见
D、生成事件适配器 空实现
18. JPanel组件的默认布局管理器是______。
A、GridLayout B、GardLayout C、BorderLayout D、FlowLayout
Jframe默认是boderlayout
20. 在Java中,要处理Button类对象的事件,以下各项中,______是可以处理这个事件的接口。
A、FocusListener B、ComponentListener C、WindowListener D、ActionListener
34. 在Java中,不可以用来修饰类的控制符有( )
A、public B、private C、final D、abstract
Private与project不能修饰类,但可修饰内部类实现变量隐藏
35. 以下关键字( )用于显示产生(抛出)一个异常对象,并且要求必须对该异常进行处理
A、try B、catch C、throw D、throws
36. System.out.println(1+3+"5"+"!");的输出结果应该是( )
A、135! B、45! C、5! D、9!
39. 以下Java组件中,( )可以实现文本框
A、JLabel B、JButton C、JText D、JTextField
Sestext设置显示的文字
41. 算法设计中常用的思维方法包含( )
A、枚举法和迭代法
B、递归法和分治法
C、迭代法和递归法
D、试错法和查找法
42. 类装载的功能是为执行程序( )
A、准备字节码
B、进行字节码校验
C、寻找和装载所需要的类
D、初始化Java虚拟机
Java运行:源代码,编译,类装载,字节码效验,解释,运行
Java虚拟机是编译器生成的字节码实现可移植性,特点:多线程,动态连接,异常处理
Java虚拟机的核心的类和接口的包是Java。Lang
44. 关于break语句说法正确的是( )
A、可以强迫程序终止循环
B、可以强迫程序退出条件语句
C、位于循环内包含的switch语句时也可以终止外层循环
D、当出现在嵌套循环中的内层循环时也可以终止外层循环
45. 关于Java对象释放说法正确的是( )
A、主动地用delete语句释放
B、垃圾回收器GC周期性地释放无用对象
C、程序控制垃圾回收器释放对象
D、用close语句释放
46. 下列关于关键字this说法错误的是( )
A、可以出现在类的构造方法中
B、可以出现在非static修饰的成员方法中
C、可以用来引用父类的成员变量
D、代表实例对象自身
This:每个实例对象指向自身的引用。出现在实例方法(非static修饰的成员方法)和构造方法中,不能出现在由static修饰的类方法(静态方法)中。还可做return语句参数,返回对象本身的引用
49. Java语言中关于多态的说法错误的是( )
A、通过方法重载可以实现多态
B、通过方法覆盖可以实现多态
C、父类引用指向子类对象可以实现多态
D、Java语言不支持运行时多态
50. Java语言中,与static修饰符无关的是( )
A、类变量和类方法
B、System类的in和out对象
C、实例变量和实例方法 不用static修饰
D、Java程序的入口main()方法
51. Java语言中,关符串说法错误的是( )
A、使用String类封装字符串
B、使用StringBuffer类封装字符串
C、字符串中的一个中文字符占2个字节
D、字符串中一个英文字符占1个字节
53. 有关Swing技术,说法不正确的是( )
A、相关类在javax.swing包下
B、JPanel是常用的顶层容器
C、使用JFrame创建的窗体可以独立显示
D、布局和事件相关的类在java.awt下
顶层由jframe,japplet,jdialog,jwindow中间有jpanel
54. 关于输入\输出中流概念不正确的是( )
A、一个流既可以是一个输入流也可以是一个输出流
B、字节流是面向字节的流,字符流是面向字符的流
C、字节流的一端连接节点,节点可能是键盘、显示器、已连接的网络、磁盘文件等
D、处理流又称过滤流,是对已存在的节点流或其他处理流的进一步处理
58. 如下代码,()可以使成员变量m被函数fun()直接访问
class Test{
private int m;
public static void fun(){}}
A、将private int m改为protected int m
B、将private int m改为public int m
C、将private int m改为private static int m
D、将private int m改为 int m
静态只能访问静态,非静态可访问静态和非静态
61. 当容器改变大小时,放在其中的按钮大小不变,该容器使用的布局方式是()
A、FlowLayout
B、CardLayout
C、BorderLayout
D、GirdLayout
改变大小按钮变的话是borderlayout
62. 下列流中,()是文件字符输出流
A、FileWriter
B、FileReader
C、FileInputStream
D、FileOutputStream
63. 在switch(expression)语句中,expression的数据类型不能是()
A、double B、int C、char D、byte
Switch表达式是char int short byte 整短符节
66. 下列类定义中,()不能编译生成
public class B{
class A{ }}
class C{ }
A、A.class B里面只能定义内部类了,不能再定义类了
B、B.class
C、C.class
D、均可产生
68. Java中,()接口可以处理ActionEvent事件
A、FocusListener B、ComponentListener C、WindowListener D、ActionListener
69. System.out.println("5"+1+2);的输出结果应该是()
A、53 B、512 C、7 D、不确定
70. 下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的?()
A、public B、private C、static D、final
71. 下列说法中,正确描述为()
A、所有类都必须定义一个构造函数
B、构造函数必须有返回值
C、构造函数不可以访问类的静态变量
D、构造函数可以初始化类的非静态变量
72. 关于super的说法正确的是()
A、指向当前对象
B、指向当前对象的父类对象
C、指向当前对象的父类
D、可以用在main()方法中
74. 下面关于变量及其作用范围的陈述中,()是错误的?
A、实例变量是类的成员变量
B、实例变量是用关键字static声明
C、在方法中定义的局部变量在该方法被执行时创建
D、局部变量在使用前必须被初始化
75. ()不能被abstract关键字修饰
A、类
B、类的成员方法
C、类的成员变量 包含抽象方法的类一定是抽象类
不能用new实例化
如果一个类继承抽象类,该类必须实现抽象类中定义的所有抽象方法
1 控制线程有运行状态转换为阻塞状态的方法有多种,其中join方法用于合并线程,可以实现线程沉睡若干时间的方法是sleep,yeild()方法可以让出线程
3 Java定义接口的关键字是interface,接口内只包含抽象方法和常量,实现接口的关键字是implements
4 配置Java开发环境时,需要设置环境变量path和classpath,设置path的作用是在任何路径均可以访问JDK中的命令设置classpath的作用是设置类库路径
5 当用户在JTextField组件内回车时,会触发ActionEvent事件。处理该事件的监听器需要实现接口ActionEvent ,通过actionPerformed()方法完成事件处理、最后需要在产生该事件的事件源上通过addActionListenser()方法注册监听器。
8 Java语言类继承的关键字是extends,实现接口的关键字是implements
9 Java中引入包的关键字为import
10 Java语言中Scanner扫描器类中,可以实现读取一行字符串的方法是nextLine()
11 Java语言中,可以通过继承Thread方法和实现Runnable接口方法来实现多线程技术
12 Java语言常用的布局管理器中,JFrame窗体默认的布局管理器是BorderLayout,其中JPanel的默认布局管理器是FlowLayout
14 在多线程编程中,Java语言提供了关键字synchronized来实现线程同步
15 Java语言中定义的数据类型包括基本数据类型和引用数据类型,其中引用数据类型包含类,接口和数组
16 Java定义接口的关键字是interface,接口内只包含常量和抽象方法。实现接口的关键字是implements。
17 Java语言常用的布局管理器包括FlowLayout、BorderLayout、GridLayout和CardLayout布局管理器,其中JFrame的默认布局管理器是BorderLayout。
18 当用户按下Button组件时,会触发ActionEvent事件,此时触发的组件把ActionEvent类传递给向它注册的监听器ActionListener,由它的actionPerformed方法负责事件处理。
19 Java通常线程的生命周期包括新建、就绪、运行、阻塞、死亡等5个状态。
20 Java引入包的关键字为import,创建自定义包的package语句要写在程序的第1行。
21 Java语言中,以下三种情况需要使用关键字super来实现对父类的成员和方法的访问:调用父类构造方法、调用父类被覆盖的方法和访问父类中被隐藏的成员变量。
22 配置Java开发环境时,需要设置环境变量path和classpath,设置path的作用是设置路径,使java命令可以在任意位置被访问,设置classpath的作用是设置类路径
1 类方法与实例方法有什么区别?类方法能调用实例方法吗?
类方法是被static修饰的成员方法
没有被static修饰的成员方法是实例方法
类方法可以不需要重建实例对象,直接通过类名调用
类方法不能调用实例方法
2简述Java如何实现多态性(包括静态多态与动态多态)。
静态多态通过方法重载实现
动态多态通过方法覆盖和上转型实现
3 线程有哪些基本状态?请描述他们的相互转化过程。
4 简述编写GUI编程中容器与布局的概念及其常用的组件。
容器:是用来组织或容纳其他组件和容器的特殊组件,是用容器类(Container类)创建的对象。
布局:负责管理组件在容器中的排放顺序。
常用的组件:按钮(JButton)、单选按钮(JRadioButton)、复选按钮(JCheckBox)、标签(JLabel文本域(JTextField)、列表(JList)、组合框(JComboBox)、菜单(JMenu)等。
5 简述线程5种状态及其含义。新建状态(New):线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。
就绪状态(Runnable):也被称为“可执行状态”。线程对象被创建后,其他线程调用了该对象的start()方法,从而来启动该线程,例如,threa.start()。处于就绪状态下的线程,随时可能被CPU调度执行。
运行状态(Running):线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态
阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态
死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。
6 分别说明final关键字可以修饰的成分有哪些?这些成分被该关键字修饰后都分别具有哪些特性?final可以修饰类,此类不能派生子类final可以修饰变量,常量,只能初始赋值;
final可以修饰方法,此方法不能被重写
7 解释类变量,类方法与实例变量和方法的区别
类变量,类方法被static修饰,普通变量和方法没有;
类变量,类方法可以被类名和实例对象直接调用,普通变量和方法只能被实例对象调用;
类变量,类方法属于整个类,只有一个空间内存,储存数据,普通变量和方法每个变量都有
属于自己的空间内存
类方法内只能使用类变量,普通方法可以使用类变量和普通变量
类方法内不能使用this,普通方法可以使用this
8 画出线程生命周期图,并注明每种状态之间的转换条件
①调用start()方法
②运行yield()方法
③获得CPU
④资源缺少,sleep()方法,wait()方法等
⑤获得资源,睡眠时间到,notify()方法
⑥线程结束,stop()方法,destory()方法
9 Java多态性包括静态多态与动态多态,简述这两种多态的实现机制。
多态性包括静态多态和动态多态两种。
静态多态性主要通过方法重载实现它们根据参数表(类型以及个数)区别语义和执行的功能
动态多态性是指定义在一个类层次的不同类中的重写函数,他们具有相同的函数原型,需要根据指针指向的对象所在类来区别语义。其实现需要具备两个条件:(1)子类继承父类,并重写父类方法;(2)父类引用指向子类对象
10 类方法与实例方法有什么区别?类方法能调用实例方法吗?
被static修饰的成员方法称为类方法,没有被static修饰的方法为实例方法。
类方法与类变量都依赖类而非对象,可以不创建对象直接通过类来调用访问,类方法不能调用实例方法
11 Java提供实现Runnable接口或继承Thread类两种方法实现线程,请简述如何通过继承Thread类来实现多线称。
(1)创建一个类继承(extend)Thread类,定义线程的构造方法;
(2)用需在此线程中执行的代码覆盖Thread类的run()方法;
(3)用关键字new创建所定义的线程类的一个实例化对象;
(4)调用该对象的start()方法启动线程。
12 简述this关键字的使用场合。
关键字this代表实例对象自身,有以下几种使用情况:
(1)在类的成员方法中,通过this来访问实例对象的成员变量或调用成员方法;
(2)在类的成员方法中,区分成员变量和局部变量;
(3)在类的成员方法中,使用this返回实例对象本身的引用;
(4)在类的构造方法中,使用this调用该类的其他构造方法。
13 Java提供实现Runnable接口或继承Thread类两种方法实现线程,请简述如何通过实现Runnable接口来实现多线程。
可按下列步骤完成应用Runnable接口实现线程的创建和启动
(1)创建一个类实现(implements)Runnable接口;
(2)用需在此线程中执行的代码覆盖Thread类的run()方法;
(3)在类中定义一个Thread类对象;
(4)应用Thread类的构造函数Thread(Runnable target)实例化(2)所定义的对象;
(5)调用该对象的start()方法启动线程
当两个以上的线程同时访问一个变量不会引起死锁问题。
缓冲流是一种I/O操作的增强技术,缓冲区满或调用flash()方法后才完成对输出设备或文件的实际输出。
对于GUI编程来说,事件源通常是各个组件,事件是用户对界面的操作。
使用赋值语句(即“=”)复制数组,两个数组变量引用同一个内存空间。
Java变量或方法的全限定名字旨在使用“包名.类名.域名”的形式访问类成员。
被final修饰的类、成员变量、成员方法均不允许继承或覆盖。
泛型类列表不可以使用基本数据类型
Java中final关键字可以修饰类、成员函数和成员变量,其中修饰成员变量时表示__________,修饰成员方法时表示______该成员变量表示常量,不允许修改
该成员方法不允许被当前类的子类重写
窗体底端
子类在继承父类时,可能会出现变量隐藏、方法覆盖等现象。变量隐藏是指______________________________,方法覆盖是指子类方法与父类方法的__________、__________、__________均相同,只是方法的实现功能不同。
子类成员变量与父类成员变量同名
返回值类型
方法名
形参列表
简述Java的事件处理机制。
用户点击特定组件时,会触发特定事件,用户必须实现处理该事件的监听器接口,并通过实现监听器接口中的方法完成时事件处理,最后需要调用事件源中的addXxxListener方法来注册监听器
简述抽象类和接口的定义?抽象类和接口在具体使用过程中与具体类有哪些区别?
抽象类需要使用关键字abstract修饰,抽象类中可能包含抽象方法,也可能不包含抽象方法;
接口通过inerface修饰,接口中的成员变量默认为public static final(常量),接口中的成员方法都是抽象方法;
抽象类和接口不能直接实例化,必须新建一个具体类来继承抽象类并实现抽象类中所有的抽象方法,或者实现接口并实现接口中的所有抽象方法,然后才能新建对象,进而调用其中的成员函数和成员变量。
.Arrays.sort(int[] a, int fromIndex, int toIndex)
对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序
设计一个多线程程序,一个线程完成打印1到1000之间的所有偶数之和;另一个线程完成打印100到1000之间的三位水仙花数。三位水仙花数的定义如下:假设一个数A的个位、十位与百位分别是X、Y、Z如果A=X*X*X+Y*Y*Y+Z*Z*Z,则称A是水仙花数。
public class ThreadExam{
public static void main(String[]args){
Thread th1=new Thread(new Runnable(){
public void run(){
int sum=0;
for(int i=0;i<1000;i+=2)
sum+=i;
System.out.println("sum"+sum);
});
Thread th2=new Thread(new Runnable(){
public void run(){
for(int i=100;i<1000;i++){
String tempStr=Integer.toString(i);
int x=Integer.parseInt(tempStr.substring(0,1));
int y=Integer.parseInt(tempStr.substring(1,2));
int z=Integer.parseInt(tempStr.substring(2,3));
if(i==x*x*x+y*y*y+z*z*z)
System.out.println("The flower number:"+i);
}} });
th1.start();
th2.start();}}
1.上程序是否需要进行异常处理?如果需要,说明如何进行异常处理才能使程序正常运行?
需要异常处理。要么在main函数后面增加throwsIOException进行异常声明,要么在main函数中利try-catch-finally语句进行异常处理。
面向对象,一个请求另一个发消息(即方法)
窗体底端
Char和int使用流时可互换
优先级:算数,位移,关系,位逻辑,布尔,条件,赋值
八进制以o开始,十六进制以ox开始
Java特点:多线程,跨平台,动态性
抽象类是不能实例化的类
继承;使代码重用,降低程序复杂性
String和stringbuffer都是final类,不能被继承
Inputstreanmreader是字节流向字符流
要安全的终止一个线程,可使用标志flag,stop是强制停止,抛出treaddead异常 sleep一定会改变当前状态
Component中用来刷新组件是updated()paint()用来绘制构建
算法时间复杂度指在执行过程中所需要的基本运算次数
软件测试目的是为了发现错误及漏洞而执行程序的过程 不是为了发现错误并改正错误
不能添加进frame主窗口的是dialog 继承自window window类型获子类对象不能包含在其他容器中
父类函数不能访问子类新增的成员变量
Main方法只能访问同类的静态变量,即main访问的变量前必须要有static
Final不能修饰接口中的方法
数据类型自动转换:byte short int long float double
Args【0】控制台从键盘读入的内容 代码实现将从键盘输入的内容通过屏幕显示
Int变量默认值是0
一个Java文件可以有多个类,只有一个public,且public类名和文件名相一致
Runnable是接口,实现接口要用implements不能用extends
窗体底端
窗体底端