Java 二级复习整理

二级考试模拟卷1
1、栈按先进后出的原则,所以入栈最早的最后出栈;数据的插入删除都是在栈顶进行操作。
所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。
队列是先进先出的线性表,循环队列是线性结构的线性表。
2、循环队列有队尾队头两个指针,但是循环队列仍是线性结构的,在循环队列中只需要队头队尾两个指针共同反映队列中元素的动态变化情况(即队头队尾指针的动态变化决定队列的长度)
3、当有序线性表为顺序储存时才能使用二分法查找,可以证明是对长度为n的有序线性表,
在最坏情况下,二分法查找只需要比较log2n次,而顺序表需要比较n次
4、链式储存结构既可以针对线性结构也可以针对非线性结构,链式储存结构中每个节点都由数据域与针域两部分组成,增加了储存空间(并且头指针和尾指针或栈顶指针无法决定链表长度)
5、数据流图中带箭头的线段表示的是数据流,即是沿着箭头方向传送数据的通道,一般在旁边标注数据流名。
6、在软件开发中,需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,且数据字典(DD)所定义的对象都包含于数据流图(DFD图),在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典,判定树与判定表。
7、在面对对象方法中,不属于“对象”基本特点的是一致性,属于的是分类性、多态性、标识唯一性。
8、在数据管理技术发展的三个阶段中,数据共享最好的是数据库阶段,因为它阶段结构简单,使用方便逻辑性强物理性少,
在各方面的表现都最好,一直占据数据库领域的主导地位。而其他两个人工管理阶段,文件系统阶段也是两个发展阶段。
9、自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中重复的属性列去掉
10、java语言突出的特点是解释型,简单、面向对象与平台无关
11、java命名约定 ● 名称不得包含任何空格。● 该名称不应以&(和号),$(美元),(下划线)等特殊字符开头。
方法的命名遵循驼峰式命名法及第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。

12、-- * = ,优先级最高的是--
13、java语言的四大特性包括继承,抽象,封装,多态;
14、重载了void getSort(int x)的方法是 double getSort(int x,int y)
15、判断两个字符串str1和str2是否完全相等应该使用的表达式是 str1.equals(str2)
16、执行ArithmeticException会产生异常
17、HashMap使用<关键字,值>的形式保存数据,允许将null用作关键字,作值,
与之对应的是Hashtable,(注意大小写:不是HashTable),Hashtable不能将键和值设为null,否则运行时会报空指针异常错误;
HashMap线程不安全,Hashtable线程安全 ,HashMap不能保证元素的顺序。
18、FilterOutputStream是OutputStream的子类,FilterInputStream是InputStream的子类
FilterOutputStream,FilterInputStream不能直接产生实例,过滤流对数据的过滤不只是对其进行筛选
19、PipedInputStream实现线程之间通信的类
20、OutputStream类中flush()方法的功能是“将缓冲的全部字节写入输出流”;
21、事件类所在的包是java.awt.event 、处理鼠标进入窗口时所产生鼠标事件的方法是mouseEntered(MouseEvent)、
JOptionPane不能实现的对话框是通用对话框,可以实现消息、输入、确认对话框;
22、java的线程构成包括代码、虚拟的cpu、代码所操作的数据;stop()是Applet方法中不能由浏览器直接调用的;
但可以重写Applet类的init()方法、start()和init()可以直接调用;
Applet和Application都支持时间响应
Applet的主类需要从Applet类或JApplet类派生;
包含main()方法可以通过编译。
23、对象锁:当synchronized(){}语句块中出现异常时/执行完毕后,对象锁将自动释放;线程A在synchronized块中调用x.wait(),则A将释放对象x的锁;
二级考试模拟卷2
1、结构程序化设计的思想包括:自顶向下,逐步求精,模块化、限制使用goto语句
2、软件设计中模块划分应遵循的准则是高内聚低耦合(模块独立性)、抽象、逐步求精和模块化、信息隐蔽和局部化。模块大小规模适当、模块的依赖关系适当;
3、需求规格说明书是后续工作如设计、编码等需要的重要参考文档;
4、算法的有穷性是指算法程序运行的时间是有限的;除了堆排序算法的比较次数是O(nlog2^n),其他都是n(n-1)/2。
5、将E-R图转换成关系数据模型的过程属于逻辑设计阶段;
6、java大小写敏感;java通过接口支持多重继承;
7、java标识符规定
①可以由字母,数字,下划线,美元符组成,但不能包含@,%,空格等其他特殊字符,不能以数字开头。
②不能保留字和java关键字
③是区分大小写的
变量名:
1/单个单词:全部小写
2/多个单词,首单词小写,其后的单词首字母大写
方法名:
首字符小写,其余的首字母大写,含大小写,尽量少用下划线
与变量规则相同
类、接口:
所有单词首字母均大写,含有大小写
常量名:基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔;对象常量可大小混写
包:
小写字母组成
8、switch:case字句中的值必须是常量; switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,
比如byte、short、int、char、还有枚举;需要强调的是:long和String类型是不能作用在switch语句上的。
(1).标准型(case后面都有break语句,case后的值都是整数)
(2).常量型(case后面都有break语句,case后的值都是常量)
(3).表达式型(case后面都有break语句,case后的值都是表达式)
9、类中实现方法重载的方式是采用不同的形式参数;
String floatStr = JOptionPane.showInputDialog("Input a float:");
float fl = Float.parseFloat(floatStr); parseFloat方法的作用是将字符串转换为浮点数;
10、ArithmeticException 属于RuntimeException的子类;finally作为java异常处理中被执行代码块的关键字;
11、RandomAccessFile类同时实现了DataInput和DataOutput接口;
charArrayReader是返回字符数组的字符输入流类;
InputStream类中available()方法的功能是从输入流中可读字节数;
12、Container类是派生出大多数Swing组件;
JCheckBox用于选择文件的Swing组件;
13、java机制多线程支持多用户并发操作的程序;
关键字syncharonized作为对共享对象加锁以实现并发控制;
Applet生命周期方法是start(),destory();
二级考试模拟卷3
1、栈支持子程序调用,栈是一种只能在一端进行插入或删除的线性表,栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作。
2、在主程序调用子函数时首先要保存主程序当前的状态,然后转去执行子程序,
最终把子程序的执行结果返回到主程序中调用子程序的位置,进行向下执行,这种符合栈的特点。
3、二叉树:基本性质3:在任意一颗二叉树中,度为0的叶子节点总是比度为2的节点多一个。
4、冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2^n。
5、应用软件、系统软件、支撑软件。编译软件、操作系统、汇编语言(程序)、网络软件、数据库管理系统都属于系统软件,教务管理系统才是应用软件。
6、软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,
7、程序调试的基本步骤有:错误定位、修改设计和代码、以排除错误,进行回归测试,防止引进新的错误,程序调试通常称为Debug。
8、软件测试的基本原则有:所有测试都应该追溯到需求,严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、
9、程序员应该避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
10、模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
11、一般较优秀的软件设计应尽量做到高内聚,低耦合,保持模块相对独立性,并以此为原则优化初始的软件结构,软件结构的深度、宽度、扇入、扇出应适当,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,
一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度。
12、数据库应用系统中的核心问题是数据库的设计。数据库设计过程包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。
13、从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。
14、bit (位):位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为“0”或“1”。
byte (字节):字节是计算机存储容量的基本单位,一个字节由8位二进制数组成。
在计算机内部,一个字节可以表示一个数据或者一个英文字母,但是一个汉字需要两个字节表示。
1B=8bit
1Byte=8bit
1KB=1024Byte(字节)=8x1024bit
1MB=1024KB
1GB=1024MB
1TB=1024GB
第一类、整数类型
byte:8 位,用于表示最小数据单位,如文件中数据,-128~127
short:16 位,很少用,-32768 ~ 32767
int:32 位、最常用,-231-1~231 (21 亿)
long:64 位、次常用
注意事项:int i = 8;这里的8叫做直接量或者字面量,就是直接写出来的常数。整数字面量默认都是int类型,
所以在定义的long类型后面要加上L或l。小于32位的变量都是按照int结果去计算的。特别提醒的是强转符比数学运算符优先级要高。
第二类、浮点数类型float:单精度类型,32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。
double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾数。
java浮点型默认为double型,所以要声明一个变量为float型时,需要在数字后面加F或者f:例如:double d = 88888.8; float f = 88888.8f; //不加f的话会报错
第三类、字符类型
char:16位,java字符使用Unicode编码,
第四类、布尔类型
boolean:true 真 和 false 假
类型转换:java中几种常用的数据类型之间的转换方法在另外一篇博客里看到的记忆方式:
8位:Byte(字节型)
16位:short(短整型)、char(字符型)
32位:int(整型)、float(单精度型/浮点型)
64位:long(长整型)、double(双精度型)
最后一个:boolean(布尔类型)
布尔类型:
(1).布尔表达式:
特性:只有两种情况 -- 真 / 假
True False
type(True)----- <class 'bool>
(2).布尔结果:
它的结果是bool类型
关系运算 3>1 关系的等价 == 一个等号是 赋值 !=不等价
字符串的比较:
1- 是比较长度吗?---- 不成立
2- 比较的是字符串对应的ASCII值 A--65 a--97
布尔表达式: 1- 关系运算 > 、 < 、 >= 、 <= 、== 、 !=
2- in / not in
(3)- in not in 布尔结果
1- in 在里面
2- not in 不在里面
3- str tuple list 都可以进行操作
4- (1,3) in (1,3,5)---False
(4).条件组合:
1-且--and
2- 或-- or
3- 不-- not 1- 取反 True--- False
4- 优先级
条件判断
(1)-条件判断
1- if --如果 1- if 条件==True: 执行if里面的语句 2- if xxx: .... else: 如果--否则 1- 只有2种情况,肯定会执行其中一个
(2)- 对立面的情况下使用
(3)- 多种分支 if.... elif..... else 1- 最后的else 选配 2- 只要满足其中一个分支,就退出if的语句结构
(4)-if的嵌套 1- 要执行内部的if 一定要外部的if 满足才可以 2- 相当于and
(5)-switch语句---没有这个语法
(6)-多条件可以分行写
(7)-注释/取消注释 ctrl + /
(8)-扩展; 1- if如果后面跟是 非0的数值、非空字符串 、非空元组、非空列表,该if 的条件结果就为True
(9)-input()--函数--接收字符--返回的是字符串!:if语句只要满足其中一个就结束整个if代码块! else --- 选配
15、条件运算符:?:比较运算符:!
16、switch不属于跳转语句,break、continue、return属于跳转语句;
17、实例方法与类方法的区别
类方法必须既可以用类名直接调用,也可以用对象来调用;对象方法只能用对象来调用。
实例方法是建立实例才有的方法
类方法是直接可以使用类引用,不需要实例化就可以使用的方法,一般在项目中类方法都是设置为工具类使用的
实例方法是必须创建了一个类的实例之后才能调用的方法 属于一个特定的实例 调用方法为 实例名.方法名();
而类方法是属于一个类的 是类的静态方法。可以一用类字节调用 ;调用方法是 类名.方法名();
类方法主要用于工具类的方法。
18、java继承
继承类型
需要注意的是 Java 不支持多继承,但支持多重继承。
继承的特性
子类拥有父类非 private 的属性、方法。
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
子类可以用自己的方式实现父类的方法。
Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,但一个父类可以拥有多个子类
多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。
继承关键字
继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于 java.lang.Object,
当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以不需要 import)祖先类。
异常发生时,输出堆栈使用的跟踪的方法是printStackTrance();
addElement是Vector在集合的最后增加一个元素的方法;
19、java IO学习总结
以Stream结尾的为字节流,以Writer或者Reader结尾的为字符流。
所有的输入流都是抽象类IuputStream(字节输入流)或者抽象类Reader(字符输入流)的子类,
所有的输出流都是抽象类OutputStream(字节输出流)或者抽象类Writer(字符输出流)的子类。
字符流能实现的功能字节流都能实现,反之不一定。字符流实现了字符数据的读写,字节流实现了字节数据的读写。如:图片,视频等二进制文件,只能使用字节流读写。
1、字符流FileReader和FileWriter
FileReader类
构造方法摘要
FileReader(File file)
在给定从中读取数据的 File 的情况下创建一个新 FileReader。
FileReader(FileDescriptor fd)
在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。
FileReader(String fileName)
在给定从中读取数据的文件名的情况下创建一个新 FileReader。
FileWriter类
构造方法摘要
FileWriter(File file)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(File file, boolean append)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(FileDescriptor fd)
构造与某个文件描述符相关联的 FileWriter 对象。
FileWriter(String fileName)
根据给定的文件名构造一个 FileWriter 对象。
FileWriter(String fileName, boolean append)
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
使用FileReader和FileWriter类完成文本文件复制:
CopyFile
2、字符缓冲流BufferedReader和BufferedWriter
字符缓冲流具备文本特有的表现形式,行操作
public class BufferedReader extends Reader
将内存缓冲区内容转换成字符串的方法是toString(String charseName)
20、javax.swing.text包提供的功能是支持文档的显示和编辑;
不属于键盘事件处理方法的是keyDown(keyEvent);
java语言:线程是java程序中的单个执行流;wait()和notify()可以使线程之间同步
在浏览器中执行一个Applet程序,调用的是start()和stop()方法;
java二级模拟考卷4
1、二叉树是简单的非线性结构
循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。
因为是循环利用的队列结构,所以队头指针有时候可能大于或小于尾针,队列的顺序储存结构一般采用循环队列的形式。
2、算法的空间复杂度是指算法在执行过程中所需要的内存空间。
3、数据库管理系统是在操作系统支持下的系统软件;
4、E-R图中矩形表示实体,椭圆表示属性,菱形表示联系;
5、重载属于Java多态机制;!属于一元运算符;this、super、new属于Java关键字而delte不属于
(1).public
使用对象:类、接口、成员
介绍:无论它所处在的包定义在哪,该类(接口、成员)都是可访问的
(2).private
使用对象:成员
介绍:成员只可以在定义它的类中被访问
(4).static
使用对象:类、方法、字段、初始化函数
介绍:成名为static的内部类是一个顶级类,它和包含类的成员是不相关的。静态方法
是类方法,
是被指向到所属的类而不是类的实例。静态字段是类字段,无论该字段所在的类创建了
多少实例,该字
段只存在一个实例被指向到所属的类而不是类的实例。初始化函数是在装载类时执行
的,而不是在创建
实例时执行的。
(5).final
使用对象:类、方法、字段、变量
介绍:被定义成final的类不允许出现子类,不能被覆盖(不应用于动态查询),字段值
不允许被
修改。
(6).abstract
使用对象:类、接口、方法
介绍:类中包括没有实现的方法,不能被实例化。如果是一个abstract方法,则方法体
为空,该方
法的实现在子类中被定义,并且包含一个abstract方法的类必须是一个abstract类
(7).protected
使用对象:成员
介绍:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类
必须是该成员所属类的子类。
6、try语句允许我们定义在执行时进行错误测试的代码块。
7、catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
8、finally 语句在 try 和 catch 之后无论有无异常都会执行。
注意: catch 和 finally 语句都是可选的,但你在使用 try 语句时必须至少使用一个。
9、Collection接口中,能够把集合中全部元素以Object数组形式返回的方法是toArray();toObject()返回object,contains()返回Boolean值,remove()返回Boolean值。
10、DeflaterOutputStream类的作用是对输出的文件进行压缩和过滤;
11、管道可以将多个线程互连,并且提供了安全的线程通信方法,
管道流可分为字节管道流和字符管道流;组件得到或失去焦点时所产生的事件是FocusEvent;
12、java线程基本知识:
线程的主要状态包括新建、可运行、运行、阻塞和终止。
如何去定义一个线程?(三种方式)
1.Thread:继承这个类,然后重写run方法;将业务逻辑或任务写到run方法中,然后调用start来启动线程;(一个线程是java.lang.Thread类的一个实例)
2.Runnable: 实现这个接口,然后重写run方法,创建Thread对象将Runnable实现类对象作为参数传递,最后调用start启动线程;
3.Callable<T>:实现这个接口,然后重写Call方法;
---扩展---
面试问题:Runnable和Callable有什么不同?
包;
泛型;
方法;
启动方式;
执行完成之后Runnable结束,Callable没有结束;
多线程并发问题:由于线程之间是有相互抢占资源导致程序出现不符合常理的问题
锁:通过synchonized来锁定一段代码,需要一个对象,锁对象要求是所有的线程都得认识:共享资源、类的字节码
Start()用来启动线程。Stop()线程的中断
wait()---让当前执行的线程等待,直到被唤醒才会继续执行
notify()---唤醒在等待的线程
join()方法使调用该方法的线程在此之前执行完毕,也就是等待该方法的线程执行完毕后再往下继续进行
线程同步时,调用stop()方法容易造成数据的不一致
通过wait/notify/notifyAll方法来调节线程之间的运行顺序---线程间的相互通信---等待唤醒机制
当调用wait方法的时候,线程会去线程池中等待。而线程池本质上是一个存储线程的队列
---扩展---
面试题总结:wait和sleep有什么区别?
sleep方法需要指定一个沉睡时间,到点自然醒,释放执行权,不释放锁,是一个静态方法,被设计在了Thread类上
wait方法可以指定时间也可以不指定,需要通过notify来唤醒。释放执行权,释放了锁,是一个普通的方法,被设计在了Object类上
5,死亡状态
线程调用stop()方法时或run()方法执行结束后,即处于死亡状态。处于死亡状态的线程不具有继续运
行的能力。
一个线程的数据可以被其他多个线程共享;调用sleep()和join()方法将使线程进入阻塞状态
Applet是从java.applet.Applet类继承而来的类,它不需要包含标准的main方法。Applet是由Web浏览器提供的JVM来运行的,这对保证安全性很重要。
扩展Applet类的程序没有构造函数,它一般包含4个重要的方法:init()、start()、stop()和destory()。浏览器在装载Applet程序之后,将自动调用这4个方法的行为构成了Applet的生命周期,即Applet的生命周期由初始化、开始运行、停止运行和撤销清理等4个过程构成的。
一般来说,覆盖Applet的4个方法,就可以处理Applet生命周期中的重要事件。浏览器在进入包含某个Applet程序的页面之后,开始装载这个Applet.
@ 当Applet程序被加载时,init()方法仅被调用一次。它与构造方法类似,继承java.applet.Applet的类可以重载它,以提供不同的初始化代码。
@ Applet被访问或被再次访问时,start()方法被调用。重载start()方法可以产生更好的效果。
@ 当包含Applet的Web页面被其他页面替换的时候,stop()方法被调用。用户离开一个Web页面时,stop()方法都会产生相应的动作。
@ Applet继承了Panel,而不是Frame或Window。因此,Applet不可能有菜单或标题栏。由于Panel默认的布局是FlowLayout,所以,Applet默认的也是FlowLayout。
二级考试模拟卷5
1、线性链式储存结构中每个节点都由数据库与指针域两部分组成,增加了储存空间,所以一般要多于顺序储存结构;
2、软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能,不是为了评估软件或改正错误;
3、需求分析阶段的工作可以概括为:需求分析、需求获取、编写需求规格说明书、需求评审;
4、软件生命周期是指软件产品从提出、实现、使用维护到停止使用退役的过程;
面对对象方法中,继承是指类之间共享属性和操作的机制;
5、层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示即每个二维表称为一个关系(关系数据库),属性刻画了实体,所以三种数据库是数据之间的联系方式;
6、数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述。是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,内模式又称物理模式,他给出了数据库物理储存与物理存取方法;
7、JDK中,编译和运行java程序的工具所在的目录是JDK的bin目录;
8、不属于扩展赋值运算符是==
9、Java程序中所有类的根类是Object
10、程序执行期间帮助加载新类的类是Class
11、Java程序中输出流的目的地不可能是键盘,而应该是文件,网络,压缩包;
12、RandomAcesseFile类中改变文件指针位置的方法是seek;
13、JTextArea、JLabel、JCheckBox分别是Swing中的文本区域、标签、复选框组件;
14、鼠标在窗体中移动时,捕获该事件的接口是MouseMotionListener;
15、线程是Java程序中的单个执行流;
16、在线程的生命周期中,只能被调用一次的方法是destory();
17、Applet的主类需要定义为Applet类或JApplet类的子类,Applet中可以包含main()方法
Applet是能够在浏览器中运行都java类;
二级考试模拟卷6
1、算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法。
设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构
2、线性结构应该满足:有且只有一个根结点最多有一个前件,也最多一个后件,
所以有一个以上根结点的数据结构一定是非线性结构;
循环链表和双向链表都是线性结构的数据结构;
3、根据二叉树的性质3:在任意一颗二叉树中,度为0的叶子节点总是比度为2的结点多一个;
4、程序调试的任务是诊断和改正程序中的错误;
5、数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的;
6、数据库系统的三级模式是概念模式、外模式和内模式;
7、java语言特点是支持分布式计算和跨平台、支持多线程、动态性、安全高效,不包括编译速度快;
8、在接口中,除了抽象方法还可以含有常量;
9、RandomAcessFile类域其他I/O流类的区别是对文件的访问既可以读又可以写;
10、public JFrame(String title)构造方法创建了一个初始不可见,但有标题的新窗体;
JFrame窗体是一个容器,它是Swing查询中各个组件的载体;
继承JFrame类创建的窗体拥有最大化、最小化和关闭按钮;
二级考试模拟卷7
1、一般来说,在线性表的链式储存结构中,各数据结点的储存序号是不连续的,
并且各结点在储存空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点指针域即可
2、实体完整性约束要求关系的主键中属性不能为空值所以一个关系中应该有一个或多个候选关键字;
3、软件危机主要表现在:软件需求增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护成本非常低;软件的成本不断提高;软件开发生产率低提高赶不上硬件的发展和应用需求的增长。
4、需求分析阶段的1工作有:需求获取;需求分析;编写需求规格说明书;需求评审。
5、黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。
6、软件设计中需要使用的工具有系统结构图、PAD图、程序设计图。
7、?:属于三元运算符;> && %= 属于二元运算符。
8、为了使某类不能派生出子类,则在定义该类时使用关键字final。
9、Error是异常类LinkageError的父类。
10、为了读取一个文件指定位置的数据,需要使用的类是RnadomAccessFile。
11、当I/O流操作完成时,可以将缓冲区中的数据写入到目的地的方法是close().
12、反映Java并行程序设计优势的特点是多线程。
二级考试模拟卷8
1、1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式的程序设计方法。
2、详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据解构,用某种选定的表达工具表示算法和数据结构的细节。
3、数据定义语言:负责数据的模式定义与数据的物理存取构建;
数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;
数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
4、定义无符号整数类为UInt,作为类UInit实例化值等是369,因为369可以用无符号整数来表示和存储。-369有负号,0.369是小数都不能用无符号整数类存储,而整数集合{1,2,3,4,5}是一个整数集合得用数组来存储。
5、Java程序中缺省引入的包是lang。'ab'不属于字符常量。
6、Java关系表达式的值可能是true或false;逻辑表达式的结果是true或false。
7、Worker是Person的子类,Worker的构造方法中出现的super()会调用的是Person的构造方法。
8、类RandomAccessFile是为了修改一个文件指定位置的数据。
9、在程序中构造一个输入流对象时,可能产生的异常是FileNotFoundException。
10、Jlabel可以显示一行文本或图标。JTextField属于ActionListener接口监听的事件源。
11、在用户定义的Applet主类中,为了完成特定的初始化操作,一般需要重载的父类方法是init()。
Java模拟卷9
1、二叉链表的逻辑结构属于非线性结构,而循环链表、双向链表、带链的表属于线性结构;
2、设循环队列的储存空间为Q(1:35),初始化状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为0或35;
在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。
只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时向前追赶尾指针,故队空和队满时,头尾指针均相等。
3、软件需求规格说明书的作用包括软件验收的依据、用户与开发人员对软件要做什么的共同理解、软件设计的依据。不包括软件可行性研究的依据。
4、从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计;
而制定软件确认测试计划属于软件测试阶段的任务。
5、使用关键字interface声明一个接口时,用于修饰接口的修饰符只能是public
6、类Throwable的直接父类是Object。
7、正确地创建一个FileInputStream对象的语句是new FileInputStream(new File("test.dat"));
8、JDialog组件不能添加到JFrame主窗口中。
9、为某个组件注册事件监听器的方法是addxxxListener。
Java模拟卷10
1、程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
2、队列的修改是依先进先出的原则进行的。
3、前序遍历描述为:若二叉树为空,则执行空操作。否则:p1访问根结点;p2前序遍历左子树;p3前序遍历右子树。
4、对象之间进行通信的构造叫做消息;多态性是指同一个操作可以是不同对象的行为;对象不一定必须有继承性;封装性是指从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作。
5、数据库系统的特点为高共享、低冗余、独立性高、具有完整性等。
6、java平台有三种:Java SE、Java ME和Java EE。
7、类Throwable实现了接口Serializable。
8、JPanel能为其直接设置布局管理器的组件。
Java模拟卷11
1、算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计量工作量,两者之间并没有直接关系。
2、循环队列中的元素个数随队头指针与队尾指针的变化而动态变化。
3、构成计算机软件的是程序、数据及相关文档;软件指的是计算机系统中与硬件相互依赖的另一部分。
4、软件生命周期可分为定义阶段、开发阶段和维护阶段;定义阶段任务是确定软件开发工作必须完成的目标;确定工程的可行性;开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计三个阶段,又称为系统设计,实施则包括编码和测试两个阶段。又称为系统实现;软件维护阶段的任务是使软件在运行中持久地满足用户的需要。
5、JPanel和JApplet的默认布局管理器是FlowLayout。
Java模拟卷12
1、算法的时间复杂度是指执行算法所需要到计算工作量,与运行算法时特定的输入有关、且算法的效率与问题的规模和数据的存储结构都有关,由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,算法的时间复杂度和空间复杂度没有直接的联系。
2、线性表的顺序存储结构具备如下两个基本特征:
(1)线性表中的所有元素所占的存储空间是连续的;
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上。
3、快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较n(n-1)/2次。
4、在二叉树中,度为0的节点数等于度为2的节点数加1。
5、在结构化程序设计的原则强调自顶而下、逐步求精、模块化、要注意避免(限制)goto语句的使用。
6、软件测试的实施步骤主要包括单元、集成、验收、系统测试。
7、需求分析阶段的工作可概括为4个方面:1、需求获取 2、需求分析 3、编写需求规格说明书 4、需求评审
8、自然连接是一种特殊的等值连接,它满足下面的条件:1、两关系间有公共域;2、通过公共域的等值进行连接。
9、关于Java虚拟机(JVM),JVM主要完成代码加载、校验和执行三项任务。
10、对象序列化时对象所属的类需要实现的接口是Serializable。
11、运行一个Applet程序时,init()方法只能被浏览器调用一次。
Java模拟卷13
1、如果一个非空的数据结构满足有且只有一个根结点,并且每一个结点最多有一个前件,也最多有一个后件,则该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构。
2、在循环队列中,当front=rear时,不能确定队列满还是队列空,在实际使用循环队列时,为了能区分队列满还是队列空,通常还需要增加一个标志s、当s=0时表示队列空,当s=1且front=rear时表示队列满。
若二叉树没有叶子节点,则为空二叉树;
带链栈的栈底指针是随栈的操作而动态变化的。
3、模块独立性的概念是抽象、模块化、信息隐蔽和局部化的直接结果。模块的独立性是指软件模块的编写和修改应使其具有独立功能,且与其他模块的关联尽可能少。
4、数据模型按照不同的应用层次分为概念数据模型、逻辑数据模型、物理数据模型;
概念数据模型有实体联系模型(E-R模型)、面对对象模型及谓词模型、逻辑数据模型有层次、网状、关系和面对对象模型。
5、关系模型中可以有3类完整性约束:实体完整性约束、参照完整性约束和用户定义的完整性约束。实体完整性约束是指若属性M是关系的主键,则属性M中的属性值不能为空值。
6、Java程序中使用import语句导入一个包中的类。在一个java源程序中可以有0条或多条import语句,但必须在所有类定义之前引入标准类。
7、在java类变量用static修饰会成为静态变量,可以直接通过类名去调用,不需要new对象。
8、当程序中需要抛出异常时,应该使用throw字句,try catch语句是捕获并处理异常,finally代码块无论如何都会执行里面的代码块。
9、getParent()方法返回的父级路径字符串,如果此抽象路径名的父或如果此路径名没有指定父目录则为null、getParentFile()的作用是获得父目录getName()是用来返对象所代表的具体对象的名称。
10、Deflater是用于压缩数据包的,当数据包比较大的时候,采用压缩后的数据,可以减少带宽的占用,加多传颂多速度,GZipOutputStream ZipOutputStream JarOutputStream都属于压缩包类型。
11、该对象的类必须实现Serializable接口,串行化对象可以把一个对象转换为字节流,串行化对象可以把字节流反串行化为原始对象的拷贝。
12、static int DEFAULT_OPTION/YES_NO_OPTION/OK_CANCEL_OPTION是JOptionPane类中参数optionType的值。
13、JFrame缺省布局使用的是边界布局管理器(BorderLayout).
14、当按钮被按下时,应该执行的方法是void actionPerformed(ActionEvent e);
15、notify仅仅通知一个线程,并且我们不知道哪个线程会收到通知,
如果线程正处于堵塞状态,不能够使线程直接进入可运行状态是被notify()方法唤醒。
suspend()和resume()两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的resume()被调用,才能使得线程重新进入可执行状态。
16、每个Applet程序必须定义为Applet类或JApplet的子类。
Java模拟卷14
1、算法的时间复杂度与计算机系统无关,算法的时间复杂度与空间复杂度没有必然的联系,算法的空间复杂度与算法运行输出结果的数据量无关。
2、对长度为n的线性表排序,在最坏情况下,冒泡排序需要比较的次数为n(n-1)/2。
3、由于带链栈利用的是计算及储存空间的所有空闲存储结点,因此随栈的操作栈顶栈底指针动态变化。带链的队列中若只有一个元素,则首尾指针相同。
4、在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。
5、好的软件设计应该是高内聚低耦合。
6、模块的扇出是指本模块的直属下层模块的个数。或者说是由一个模块直接调用的其他模块数。模块的扇入是指有多少个上级模块调用它。
7、系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,包括各种系统开发、维护工具软件。应用软件是为了应用于特定的领域而开发的软件。人事管理系统属于应用软件。Oracle数据库管理系统、C++编译系统、ios操作系统是系统软件。
8、关系数据库的基本特征是不同的列应该有不同的列名,并且与行、列的次序无关。
二维表由每行数据组成,每行数据包含若干属性值,每个属性都有指定的类型和取值范围。数据行数是有限的,每行数据互不相同(元组唯一性),每行的次序可以任意交换(元组的次序无关性);表中属性名各不相同即字段名不重复,属性名(字段名)次序可任意交换。
9、javap,javah,java不是java的工具,javac是编译java的工具将源程序编译为字节码;
10、java官方规定中public是权限修饰符,应该全部小写,返回值类型void应该全部小写。
11、boolean值类型的值只能是true和false。
12、在java中,若使用一个包中的类,首先要对该包进行引入,引入的关键字是import。
13、&&属于逻辑运算符。
14、getModifiers()方法返回底层成员的Java语言修饰符;
getSuperclass()方法返回当前对象所表示的类的超类;
getMothod()该方法是获取本类以及父类或者父接口中所有的公共方法;
getDeclaredMethods()该方法是获取本类中的所有方法,包括私有的(private,protected,默认以及public)的方法。
15、对于java中的类,每个类中都可以有属性和方法。类属性又可以叫做成员变量。
16、charAt()是String类的一个方法,下标从0开始找对应下标的字符。
17、二维数组可以简单地理解为在数组中又储存了数组
初始化可以有如下几种:
数据类型 数组名[][] = new 数据类型[m][n]
数据类型 [][] 数组名 = new 数据类型[m][n]
数据类型 [] 数组名[] = new 数据类型[m][n]
18、arrayIndexOutOfBoundsException;数组下标越界异常
DividedByZeroException;被除数为0异常,比如4/0
FileNotFoundException 找不到文件异常
EOFException 文件结束异常
NullPointException;空指针异常
ArithmeticExcption;出现异常的运算条件(算数异常)
19、HashSet、TreeSet实现了Set接口的类,LinkedList、Vector、ArrayList实现的是List接口
20、字节流可以分为字节输出流和字节输入流,且又称为二进制流,存于java.io包中,但不是Reader的子类。
21、java.io包中处理字节流的抽象类有InputStream和OutputStream。InputStream用于输入,它包含7个子类:Output用于输出,它包含5个子类。
22、Writer是一个抽象类,并且它是通过字符复制文件的。
23、MouseMotionListener接口实现对鼠标移动事件的监听,包括2个方法:mouse Moved(MouseEvent)和mouseDragged(MouseEvent)。
24、为窗口注册监听器所使用的的方法是addActionListener。
25、Java反映并行设计的特点是多线程,可移植是java虚拟机机制,简单是java面对对象由于面向过程。Java的安全体现在封装、异常等。
26、线程在调用sleep()方法后会给其他线程运行的机会,而不考虑其他线程的优先级,因此会给较低线程一个运行的机会;yield()方法只会给相同优先级或者更高优先级的线程一个允许的机会,join()、stop()分别为排队等待状态、停止状态。
27、Applet的生命周期有四个状态:初始态、运行态、停止态和消亡态。
init()、start()、paint()。
在用户的Applet中,为了完成一些图形化显示,一般需要重写的方法是paint(),在调用paint()方法时,由浏览器将该对象传递给paint()方法
Java模拟卷15
1、简单插入排序在最坏情况下,即初始排序序列是逆序的情况下,比较次数为n(n-1)/2。
2、软件系统总体结构图是描述软件系统结构的图形工具,它包括软件系统的控制流、软件系统的数据流、软件系统的数据结构等的概况。
3、一个对象通常可由对象名、属性和操作三部分组成,对象名唯一标识一个对象。
4、类是具有共同属性、共同方法的对象的集合。
5、数据流图(DFD)构造规则的是“加工”应既有输入又有输出,“数据流”应标识数据流名,图子图是指相邻上下两层的数据流图。
6、规范化主要为克服数据库逻辑结构中的插入异常,删除操作以及冗余度大的问题。
7、Java语言中Java类是对具有相同行为对象的一种抽象,构造器方法的名字是跟类名一致的,并且构造方法要有返回值且不能写void,构造方法可以进行重载,有参构造函数和无参构造函数就是重载,垃圾回收机制是系统级的线程。
8、java命名规则:1可以由字母,数字,“下划线”或者“$”符组成,但是不能以数字开头;2中文可以作为变量名,但是不提倡使用;3Java大小写敏感,严格区分大小写,命名时需要注意;4不能使用Java保留字;
9、switch语句在数据类型上受到限制,只能使用int,byte,short,char类型。如果比较的数据类型是float型或者boolean类型,就只能使用if-else if结构。
10、continue,当满足条件时,跳出本次循环,执行下次循环。
11、Java中,定义子类继承父类用到的关键字是extends;
this关键字主要有三个应用:
1、this调用本类中的属性,也就是类中的成员变量;
2、this调用本类中的其他方法;
3、this调用本类中的其它构造方法,调用时要放在构造方法的首行
final:
可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。
12、public、private、final主要用来修饰成员变量和类,定义接口用关键字interface。
13、Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
14、Map接口中,插入<关键字,值>;get()通过key,取得value值。
15、将一个字节数组作为输出流写入内存的类是ByteArrayOutputStream
StringBufferInputStream允许应用程序创建,其中读取的字节由字符串的内容提供的输入流
PipedInputStream管道流可以实现两个线程之间,二进制数据的传输。
ObjectOutputStream数据模型序列化。
16、创建文件目录时,所使用的的方法是mkdir();
mkdirs()也是为目录操作提供的方法,创建包含父目录的目录;
list()是对文件名操作提供的方法,返回一个字符串数组,为该文件所在目录下的所有文件名列表,isFile()判断一个文件是否属于标准的目录。
17、文本字段或问本区域发生改变时所产生的事件是TextEvent;
WindowEvent:窗口事件
FocusEvent:当页面中的元素获得的或失去焦点时触发。
18、Swing组件的事件类所在包时javax.swing.event。
19、init: 该方法用于初始化Applet,当applet首先被加载时,该方法会自动被调用一次。
start:该方法在Java调用init方法之后被调用,当用户从其他页面返回到包含Applet的页面中时,该方法也会被调用,它与init方法不同。有鉴于此,应该把调用一次的代码放到init方法中,而非start方法中。start方法通常是为Applet重起一个线程的地方,如果当用户回到当前网页的时候不需要做任何操作,那么就不需要实现此方法。
stop: 该方法在用户离开Applet页面时,被自动调用。因此,其也能被多次重复调用。主要作用是当用户不再关注Applet时能够停止一些没用的动作。典型作用是挂起一个线程。
destroy: 当浏览器被正常关闭时,JVM会自动调用此方法。该方法中放置的代码主要是用来回收一些系统资源。
在JavaApplet的生命周期中,共有4种状态和4个方法:init()、start()、stop()和destroy()。在Applet装载时,由浏览器或appletviewer调用init()方法,通知该Applet已被加载到浏览器中,使Applet执行-些基本初始化。
Java模拟卷16
1、程序可以作为算法的一种描述方法。
2、数据结构中的数据元素可以是另一数据结构,空数据结构可以是线性结构也可以说是非线性结构,非空数据结构可以没有根结点。
3、循环队列是队列的一种顺序储存结构。
在循环队列中,在队列满和队列为空时,队头指针与队尾指针均相同;
当需要插入的数据大于循环队列的储存长度,入队运算会覆盖前面的数据,发生溢出现象。
4、二分法查找法(又称对分查找法)只适用于顺序存储的有序表、在此所说的有序表是指线性表的中元素按值非递减排列(即从小到大,但允许相邻元素值相等)。
5、类是java的最小单位,java的程序必须在类中才能运行。
6、public修饰公有属性,private修饰私有属性,protected修饰受保护属性,abstract(抽象)修饰符,可以修饰类和方法,不可以修饰类中成员变量。
7、!为逻辑非运算符,|为位运算符,&为逻辑与运算符,~为位运算符,>> << ^都为位运算符。
8、java中Object类是所有类的父类。
9、当一个类要强制其子类覆盖它的某一方法时,该方法必须使用的关键字是abstract。
10、catch从句的排序顺序应该将最特殊的排在前面,逐步一般化,即子类在前,父类在后。
LinkageError是由Java语言本身来抛出和捕获,所有异常类的根是类throwable,fillStrackTrace()方法用于重新抛出异常时对堆栈的跟踪。
11、containsValue(Object value)value: 要查询的Map集合的指定键值对象。
12、“流”在java中通过一个管道(信道)、缓冲存储器,还有一些中间的程序进行传送。
13、FileInputStream用于读取诸如图像数据之类的原始字节流。
14、设置文件f的只读属性时,可以使用的语句是f.setReadOnly();
15、KeyEvent按键事件,AdjustmentEvent调整事件类,ComponentEvent组件事件类。
16、Swing与AWT相比,新增加的布局管理器是BoxLayout。
17、在java中,线程是可以并发执行的最小代码单位。
Java模拟卷17
1、算法设计不仅要考虑计算结果的正确性,还要考虑算法的时间复杂度和空间复杂度。
算法强调动态的执行过程,不同于静态的计算公式
算法设计考虑算法的复杂度,算法必须能在有限个步骤之后终止
2、双向链表每个结点有两个指针,一个为左指针,用于指向前件结点;一个为右指针,用于指向其后件结点,再加上头指针,具有两个以上的指针,但双向链表属于线性结构。
非空线性结构中第一个结点没有前件,最后一个结点无后件,其余结点最多有一个前件,也最多有一个后件。向量也满足这个条件,属于线性结构。
3、对象可以做的操作表示它的动态行为,通常也称为方法或服务,属性即对象所包含的信息。对象可以有继承性,但并不是任何对象都必须有继承性。
4、Java中,隐藏信息的基本机制是封装。
5、声明类用关键字class。Java类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写。
6、boolean变量值只能为true或false,char声明值不可以为字符串类型。
7、子类对父类的方法进行重新定义,叫做override(重写或覆盖)。
8、final修饰的类不能被继承。
9、catch到的异常是try可能抛出的异常类或其子类的实例。
10、Collection接口定义的常用方法:
boolean add(E e)
向集合中添加一个元素,如果集合对象被添加操作改变了,则返回true。E是元素的数据类型
boolean contains(Object o)判断集合中是否存在指定元素
boolean isEmpty()判断集合是否为空
boolean remove(Object o)
从集合中删除一个指定元素,当集合中包含了一个或多个元素 o 时,该方法只删除第一个符合条件的元素,该方法将返回 true。
11、System.out输出流,System.in输入流,System.err错误输出流。
12、boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件
boolean isAbsolute()测试此抽象路径名是否为绝对路径名。
boolean exists()测试此抽象路径名表示的文件或目录是否存在。
String[] list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
13、当窗口被激活时调用的窗口事件是WindowActivated方法。
14、Swing的特性:Swing组件具有多样性的特性,并且采用MVC结构,组件的外观与具体平台无关,具有可存取性。
15、多线程是Java语言实现并发操作的手段。
Java模拟卷18
1、结点中具有两个指针域的链表既可以是双向链表也可以是二叉链表,双向链表是线性结构,二叉链表属于非线性结构。循环链表是线性链表的一种形式,属于线性结构,采用链式储存结构,而循环列表是队列的一种顺序储存结构。
2、UNIX系统属于操作系统,故属于系统软件。ERP系统、办公自动化系统、学生成绩管理系统属于应用软件。
3、软件测试的准则:
测试应该尽早进行,最好在需求阶段就开始介入
制定严格的测试计划。排除测试的随意性。一定要制定测试计划,并且要有指导性。
充分注意测试中的群集现象
程序员应该避免检查自己的程序
穷举测试不可能
妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
4、在关系数据库中,描述全局数据逻辑结构的是概念模式。
关系模型中的关系模式至少应该是1NF(满足最低要求的叫第一范式)。
5、java特性的描述
java规定构造方法没有返回值,也不能用void修饰
Java通过接口实现多继承
类是Java程序的基本单位
动态性是Java语言的特性之一
6、Java关键字continue、break和return的区别:
continue:跳出本次循环继续下一次循环
break:跳出循环体,继续执行循环外的函数体
return:跳出整个函数体,函数体后面的部分不再执行
7、do...while循环是while循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while{}内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假。
i++:先引用后增加
++i:先增加后引用
i++:先在i所在的表达式中使用i的当前值,后让i加1
++i:让i先加1,然后在i所在表达式中使用i的新值
8、n++:先让n所在的表达式中使用n的当前值
9、一个类用于表示抽象概念而不能创建实例时,该类称为抽象类。
10、内部类访问特点:
1,内部类可以直接访问外部类中的成员
2,外部类要访问内部类,必须建立内部类的对象。一般用于类的设计。
内部类能够直接访问外部类中成员,是因为内部类持有外部类的引用,即外部类名this。访问内部类成员则要显示写出内部类this内部类也可以存放在局部位置上,但是内部类在局部位置上只能访问局部中被final修饰的局部变量。
11、toLowerCase()将字符串转小写,toUpperCase()转大写。
12、String类型的默认值为null。
13、当方法遇到异常又不知如何处理时需要声明抛出异常,由谁调用谁去处理该异常。
14、同时实现了DataInput和DataOutput这两个借口的类是RandomAccessFile
15、与AWT相比,Swing的按钮JButton可以同时显示文字和图标。
16、FlowLayout是Panel和Applet的默认布局管理器。构件在容器中的放置规律是从上到下、从左到右进行。
BorderLayout是Window、Frame和Dialog默认布局管理器。
17、用synchronized关键字保护的对象共享数据,其修饰符必须是private。
Java模拟卷19
1、带链的栈就是用一个线性链表来表示的栈,线性链表不受存储空间大小的限制,因此入栈操作时不会受栈存储空间的限制而发生溢出(不需考虑栈满的问题)
2、线性表的长度为n。在最坏情况下,比较次数为n-1的算法是寻找最大项。
3、要形成良好的程序设计风格,主要应主义和考虑:源程序文档化;数据说明的次序规范化,说明语句中变量安排有序化,使用注释来说明复杂数据的结构;程序编写要做到清晰第一、效率第二,先保证程序正确再要求提高速度,避免不必要的转移;对所有的输入数据都有进行检验,确保输入数据的合法性。
4、程序调试的任务是诊断和改正程序中的错误;而软件测试是尽可能多的发现软件中的错误。软件测试贯穿整个软件生命周期,程序调试主要在开发阶段。
5、在数据库系统中,数据模型包括概念模型、逻辑模型和物理模型。
6、关系数据模型的三个组成部分:关系的数据结构(用二维表表示),关系操纵(查询、删除、插入、修改),关系的数据约束(实体完整约束、参照完整性约束、用户定义的完整性约束)
7、关系数据库规范化的目的是为了解决关系数据库中的插入、删除异常及数据冗余问题。
关系模式进行规范化的目的是使关系结构更加合理,消除存储异常,使数据冗余尽量小,便于插入删除和更新等操作。
8、编译java代码是把java文件编译为class文件,由编译器完成,jvm执行的是class文件,执行需要加载、校验,执行......。
9、单行注释:以“//”开头后面接所要加的说明的内容
多行注释:以“/星号”开头,以“星号/”结尾。
文档注释:以“/星号星号”开头,以“星号/”结尾。
没有“/”的注释。
10、在Java中整数默认类型为int类型,浮点数默认为double类型,用双引号引起来的是String类型,在整数后面加“L/l”是long类型,小数后面加“F/f”即为float类型。
11、break语句在循环中的作用是跳出循环体,结束循环;总的来说:就近原则,结束当前的整个循环。
12、若有语句Class c0 = Class.forName("java.util.Date"),
c0.getModifiers()//获得属性的修饰符,例如public,static等
c0.getSuperclass()//获取父类的Class对象
c0.getMethod()//获取Class对象的方法
c0.getDeclaedMethods()//返回Methods对象的一个数组,这些对象反映此Class对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。
13、Java语言中拥有属性和行为的实体是对象,实例化的类才有属性和行为,实例化的类也就是对象。
14、public String substring(int beginIndex,int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符从指定的beginIndex出开始,直到索引endIndex-1处的字符。
15、Serializable接口是启用其序列化功能的接口。
ObjectInput 扩展DataInput接口以包含对象的读操作。DataInput包括基本类型的输入方法;
ObjectInput扩展了该接口,以包含对象、数组和String的输出方法。
dataInputStream数据输入流属于Java类
FilenameFilter是文件名过滤器,用来过滤不规格的 文件名,并返回合格的文件。
16、File类提供了文件的建立、删除,设置文件只读属性的操作。
17、Java中所有事件对象的基类是java.util.eventObject。所有事件状态对象都是从EventObject派生的根类。
18、工具栏(JToolBar)
JInternalFrame(窗口与面板)
JTable(表格)
JMenu(菜单和菜单栏)
19、JOptionPanel中参数messageType的含义是定义message的样式。
Java模拟卷20
1、在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数相同,在存储空间中是按逻辑顺序依次存放的。
2、带链队列空时,头指针和尾指针都为NULL;队列中只有一个元素时,头指针和尾指针都指向这个元素。
3、在顺序储存的线性表中寻找最大项的平均情况与最坏情况下的时间复杂度相同。
4、软件具有以下特点:软件是一种逻辑实体,而不是物理实体,具有抽象性;软件的开发,运行对硬件和环境具有依赖性;软件复杂性高,成本昂贵;软件开发涉及诸多的社会因素。
5、软件测试用例包括输入和预期的输出结果。
6、数据库系统已经发展了三个阶段:第一代的网状、层次型数据库系统,第二代的关系型数据库系统,第三代的面向对象的数据库系统。
7、Java语言的特点有:简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性、解释性等但不包含抽象这一特点。
8、Java语言中,break语句可以防止case渗透,也可以跳出最近的循环体;continue语句为跳过当次循环,继续进行下一次循环;return语句是直接跳出一整个循环。
9、Java中继承的定义是:继承是从已有的类中派生出新的类,新的类能吸收已有类的非私有数据属性和行为,并能扩展新的能力。
10、WindowListener中包含7个方法:windowClosed、windowDeactivated、windowActived、windowIconified、windowDeiconified、windowOpened、windowClosing。
11、MVC即Modet-View-Controller,是模型视图控制器的缩写,模型层用来保存内容,视图层用来展示,控制层用来控制事物。
12、Java通过接口支持多重继承,线程是Java程序中的单个执行流,Java在语言级支持多线程程序设计。
Java模拟卷21
1、解决同一个问题的不同算法的时间复杂度一般是不同的。可能相同可能也不相同。算法的时间复杂度与数据储存结构无关。
2、根据完全二叉树的性质:具有n个结点的完全二叉树的深度为[log2n]+1。
3、对排序二叉树的遍历结果为有序序列的是中序序列。中序遍历的次序是先遍历左子树,再遍历根结点,最后遍历右子树。而在排序二叉树中,左子树结点值<根结点值<右子树结点值。
4、软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。
5、java中this、super、interface都属于关键字,this代表本类,super代表父类,interface表示接口。
6、finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作。
7、printStackTrace()。此方法将此Throwable对象的堆栈跟踪输出至错误输出流,作为字段System.err的值。输出的第一行包含此对象的toString()方法的结果。剩余行表示以前由方法fillInStrackTrace()记录的数据。
8、java中处理异常时如果遇到多个catch,会按照报什么类型异常找到指定的异常类型执行,其他catch中的内容不会执行。
9、java中往集合中添加数据是用add()方法,如果一次添加多个数据则使用addAll()方法。可以参考JAVA中处理集合的核心API。
10、System类提供了标准输入输出流,错误输出流,获取外部属性和系统环境的方法,加载类库和文件的方法,快速copy数组的方法;其中out和err的类型是PrintStream。
11、CheckedInputStream和CheckedOutputStream这是两个过滤流,用于维护数据校验和的字节输入输出流。
12、线程在终止的情况下就会结束生命周期,转换不了为其他状态。
Java模拟卷22
1、算法的空间复杂度是指算法在执行过程中所需要的内存空间。算法执行期间所需的存储空间包括3个部分:输入数据所占的存储空间;程序本身所占的存储空间;算法执行过程中所需要的额外空间。
2、对象有如下一些基本特征:
标识唯一性、分类性、多态性、封装性、模块独立性
3、软件生存周期中,解决软件“做什么”的阶段是需求分析。
4、软件设计可以使用的工具有总体结构图、程序流程图、N-S图、PAD图、PDL。数据流程图(DFD图)是需求分析使用的工具。
5、数据库(DB)是存放数据的仓库;数据库管理系统(DBMS)是用来管理数据及数据库的系统;数据库系统(DBS)是由数据库、数据库管理系统、数据库管理员、硬件等在一起的总称。因此DBS包括DB和DBMS。
6、数据库中对概念模式内容进行说明的语言是数据定义语言。
7、关系数据库设计有需求分析、概念设计、逻辑设计、物理设计、编码、测试、运行、进一步修改等几个阶段。在需求分析阶段形成需求说明书,概念设计阶段形成概念数据模型(E-R模型,作为进一步设计数据库的依据),逻辑设计阶段形成逻辑数据模型(从E-R图向关系模式转换、关系视图设计、模式规范化),物理设计阶段形成数据库内部模型(此时涉及具体软件硬件环境)。
8、java中通过封装隐藏了功能的具体实现细节,只对外提供访问方法。
9、java中String类型数据必须用双引号“”引起来。
10、可以使循环提前结束,跳出循环体的语句是break。continue是跳过当次循环继续执行下次循环。
11、封装体中的属性和行为的访问权限可以根据需要自行设定,没有要求必须相同。
12、String类中可以通过valueOf(char c)方法访问字符所在字符串中的位置。
13、substring(5,10)截取字符串中部分子字符串,字符串读取下标从0开始,读取内容前包括后不包括。
14、CheckedInputStream流是需要维护所读取数据校验和的输入流。校验和可用于验证输入数据的完整性。
15、seek(long a)是定位文件指针在文件中的位置。参数a确定读写位置距离文件开头的字节个数,比如seek(0)就是定位文件指针在开始位置。是绝对定位。skipBytes()是指在文件中跳过给定数量的字节。是相对定位。
16、Swing中的提交按钮组件(JButton)由JButton对象表示,JButton含有4种主要的构造参数text,icon分别代表显示文字标签和图标。
17、线程中定义线程使用run()方法,start()方法为启动线程。
18、Applet小应用程序是采用Java编程语言编写的程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同。
Java模拟卷23
1、对于算法的空间复杂度,如果额外空间量相对于问题规模(即输入数据所占的存储空间)来说是常数,即额外空间量不随问题规模的变化而变化,则称该算法是原地工作。
2、在带链的栈中,只会出现栈空和非空两种状态。当栈为空时,有top=bottom=NULL;当栈非空时,top指向链表的第一个结点(栈顶)。
3、软件过程是把输入转化为输出的一组彼此相关的资源和活动。
4、数据流图应遵循以下构造规则和注意事项:
1.对加工处理建立唯一、层次性的编号,且每个加工处理通常既有输出又有输入。
2.数据储存之间不应有数据流。
3.数据流图的一致性。即输入输出、读写的对应。
4.父图、子图关系与平衡规则。
5、数据库系统共享性大,冗余度小,但只是减少了冗余,并不是避免一切冗余。
6、java中!(加号+)(负号)(取余~)(自增++自减)优先级从右往左依次降低。
7、若类中没有构造函数,系统会默认添加无参构造函数;this只能调用本类的构造函数,不能调用父类构造函数,子类可以通过super调用父类构造函数。
8、Serializable接口主要用来处理对象流进行序列化和反序列化,里面没有抽象方法。
9、ByteArrayOutputStream字节数组输出流在内存中创建一个字节数组缓冲区,所有发送到输出流的数据保存在该字节数组缓冲区。
10、读取浮点类型数据,java中浮点类型数据包含float和double,readDouble()方法读取浮点类型。
11、JProgressBar,进度条。以可视化形式显示某些任务进度的组件。进度条中心可显示进度百分比的文本表示形式。
12、对象中需要进行并发操作保护的共享数据必须是private的。
Java模拟卷24
1、在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,一变记录减少不必要的额外空间。
2、带栈链就是没有附加头结点、运算受限的单链表。栈顶指针就是链表的头指针。如果栈底指针指向的存储单元中存有一个元素,则当top=bottom时,栈中的元素个数为1;如果栈底指针指向的存储单元中没有元素,则当top=bottom时,栈中的元素个数为0。
3、结构化程序设计风格强调的是程序的易读性。
4、switch case中的default语句可以不用写,也可以没有break,没有break时所有的case分支内容都会执行,case中可以包含多条语句。
5、java中方法的重载定义:方法名相同,参数列表和参数类型不同。
6、在java中parseFloat()方法的作用是将字符串类型数据转为Float类型数据。
7、可以使用<关键字,值>对的形式保存数据对象的是HashMap。
8、返回字符数组的字符输入流类是CharArrayReader。
9、查看IO流API文档可知InputStrean类中available()方法返回的是输入流中的可读字节数。
10、派生出大多数Swing组件的类是Container;Container类是页面标签的容器,容器是封装和跟踪零个或更多个组件的对象。
11、用于选择文件的Swing组件是JFileChooser,JCheckBox处理选中事件,JComboBox处理复选事件,JButton处理按钮事件。
12、在线程中,实现并发控制必须加锁,线程中的锁为synchronized关键字。
Java模拟卷25
1、采用不同的存储结构,其数据处理的效率是不同的。因此,在进行数据处理时,选择合适的存储结构很重要。
2、在计算机中,二叉树通常采用链式存储结构,但对于满二叉树和完全二叉树来说,可以按层进行顺序存储。虽然满二叉树和完全二叉树可以采用顺序存储结构,但仍是一种非线性结构。双向链表也有两个指针域。
3、简单插入排序在最坏情况下,即初始排序序列是逆序的情况下,比较次数为n(n-1)/2。
4、将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和物理独立性。
5、详细设计阶段常见的工具有程序流程图、N-S图、PAD图、HIPO图、判定表。
6、java中对方法重载的定义为,方法名相同,参数列表和参数类型不同。
7、Java判断字符串是否相等需要equals方法,官方提供的equals方法是已经重写过后的方法能比较值是否相等。
8、HashMap底层是用哈希表实现的,不能保证其顺序。
9、过滤流:使用节点流作为输入输出。过滤流是使用一个已经存在的输入流或·输出流连接创建的,并不是对数据进行筛选。
10、OutputStream类中flush()方法是强制的将缓冲区的字节全部写出。
11、java.awt.event提供处理由AWT组件所激发的各类事件的接口和类,包含用来检测并对事件作出反应的三个组成元素:源对象、监听器对象和事件对象。
12、JOptioPane主要有:showConfirmDialog()确认对话框
showInputDialog():输入对话框showMessageDialog():消息对话框
showOptionDialog():选择对话框
13、对象锁描述中:suspend()方法就是将一个线程挂起(暂停),但不会释放锁。
Java模拟卷26
1、使用白盒测试方法时,设计测试用例时,设计测试用例应根据程序的内部逻辑,对程序所有的逻辑路径进行测试。
2、数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。
3、switch语句是多分支选择语句,用于基于不同的条件来执行不同的动作。
4、continue:终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。
5、实例方法只能通过对象来调用。
6、私有属性和类方法只能在类内部中调用,子类继承父类的非私有属性和方法。
7、Vector类中,在集合的最后一个增加一个元素的方法是addElement()。
addElement()将指定的组件添加到此向量的末尾,将其大小增加1;add()将指定元素添加到此向量的末尾。
8、reader和writer结尾都是字符流,以stream结尾的都属于字节流。
9、将内存缓冲区内容转换成字符串的方法是toString(StringcharsetName)。
10、键盘监听器的应用,keyPressed()为按下某个键时调用此方法,keyReleased()为释放某个键时调用此方法。keyTyped()为键入某个键时调用此方法。
Java模拟卷27
1、矩阵也是线性表,只不过是比较复杂的线性表。线性表中各元素的数据类型必须相同。在线性表中,不仅可以做插入与删除运算,还可以进行查找或对线性表进行排序等操作。
2、Java中实现多态有三个必要条件:继承、重写、向上转型。接口中多态可以实现多重继承,方法的重载不属于多态机制。
3、abstract类只能用来派生子类,不能用来创建abstract类的对象;
abstract不能与final同时修饰一个类。
abstract方法必须在抽象类中声明,但abstract类定义中可以没有抽象方法。
4、DeflaterOutputStream:压缩类的基类。对输出的文件进行压缩和过滤。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容