A. 用java怎么通过表关联实现数据的查询、添加
表里面有一个 menu_id 字段 有一个menu_level 级别字段 一个 parent_id字段 这么说可懂
加载顶级菜单查询级别为版顶级的记录,下级菜单,则权查询parent_id等于当前操作的顶级菜单的id依次类推,不懂就追问,这个实现,简单,小菜一碟。可以给分了。
B. 如何用Java实现树形结构啊
package tree;
import java.util.LinkedList;
import java.util.List;
/**
* 功能:把一个数组的值存入二叉树中,然后进行3种方式的遍历
*
* 参考资料0:数据结构(C语言版)严蔚敏
*
* 参考资料1:http://..com/question/81938912.html
*
* 参考资料2:http://cslibrary.stanford.e/110/BinaryTrees.html#java
*
* @author [email protected] @date: 2011-5-17
*
*/
public class BinTreeTraverse2 {
private int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
private static List<Node> nodeList = null;
/**
* 内部类:节点
*
* @author [email protected] @date: 2011-5-17
*
*/
private static class Node {
Node leftChild;
Node rightChild;
int data;
Node(int newData) {
leftChild = null;
rightChild = null;
data = newData;
}
}
public void createBinTree() {
nodeList = new LinkedList<Node>();
// 将一个数组的值依次转换为Node节点
for (int nodeIndex = 0; nodeIndex < array.length; nodeIndex++) {
nodeList.add(new Node(array[nodeIndex]));
}
// 对前lastParentIndex-1个父节点按照父节点与孩子节点的数字关系建立二叉树
for (int parentIndex = 0; parentIndex < array.length / 2 - 1; parentIndex++) {
// 左孩子
nodeList.get(parentIndex).leftChild = nodeList
.get(parentIndex * 2 + 1);
// 右孩子
nodeList.get(parentIndex).rightChild = nodeList
.get(parentIndex * 2 + 2);
}
// 最后一个父节点:因为最后一个父节点可能没有右孩子,所以单独拿出来处理
int lastParentIndex = array.length / 2 - 1;
// 左孩子
nodeList.get(lastParentIndex).leftChild = nodeList
.get(lastParentIndex * 2 + 1);
// 右孩子,如果数组的长度为奇数才建立右孩子
if (array.length % 2 == 1) {
nodeList.get(lastParentIndex).rightChild = nodeList
.get(lastParentIndex * 2 + 2);
}
}
/**
* 先序遍历
*
* 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已
*
* @param node
* 遍历的节点
*/
public static void preOrderTraverse(Node node) {
if (node == null)
return;
System.out.print(node.data + " ");
preOrderTraverse(node.leftChild);
preOrderTraverse(node.rightChild);
}
/**
* 中序遍历
*
* 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已
*
* @param node
* 遍历的节点
*/
public static void inOrderTraverse(Node node) {
if (node == null)
return;
inOrderTraverse(node.leftChild);
System.out.print(node.data + " ");
inOrderTraverse(node.rightChild);
}
/**
* 后序遍历
*
* 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已
*
* @param node
* 遍历的节点
*/
public static void postOrderTraverse(Node node) {
if (node == null)
return;
postOrderTraverse(node.leftChild);
postOrderTraverse(node.rightChild);
System.out.print(node.data + " ");
}
public static void main(String[] args) {
BinTreeTraverse2 binTree = new BinTreeTraverse2();
binTree.createBinTree();
// nodeList中第0个索引处的值即为根节点
Node root = nodeList.get(0);
System.out.println("先序遍历:");
preOrderTraverse(root);
System.out.println();
System.out.println("中序遍历:");
inOrderTraverse(root);
System.out.println();
System.out.println("后序遍历:");
postOrderTraverse(root);
}
}
C. 全国计算机2级考试
二级可以从VFP,c语言,java,c++,vb,access,任选一科,考过即可,无论考哪一颗都要考二级公共基础知识。85元
公共基础知识
基本要求
1.掌握算法的基本概念。
2.掌握基本数据结构及其操作。
3.掌握基本排序和查找算法。
4.掌握逐步求精的结构化程序设计方法。
5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6.掌握数据库的基本知识,了解关系数据库的设计。
考试内容
一、基本数据结构与算法
1.算法的基本概念;算法卜敬喊复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1.程序设计方法与风格
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础
1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E―R图,从E―R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理 论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式
1.公共基础知识的考试方式为稿段笔试,与C语言程序设计(C++语言程序设计、Java语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计或Access数据库程序设计)的笔试部分合为一张试卷,公共基础知识部分占全卷的30分。
2.公共基础知识有l0道选择题和5道填空题。
C语言程序设计
基本要求
1.熟悉TURBO C集成环境。
2.熟练掌握结构化程序设计的方法,具有良好的程序设型野计风格。
3.掌握程序设计中简单的数据结构和算法。
4.TURBO C的集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。
考试内容
一、C语言的结构
1.程序的构成,MAIN函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算
1.C的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句
1.表达式语句,空语句,复合语句。
2.数据的输入与输出,输入输出函数的调用。
3.复合语句。
4.GOTO语句和语句标号的使用。
四、选择结构程序设计
1.用IF语句实现选择结构。
2.用SWITCH语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计
1.FOR循环结构。
2.WHILE和DO WHILE循环结构。
3.CONTINUE语句和BREAK语句。
4.循环的嵌套。
六、数组的定义和引用
1.一维数组和多维数组的定义、初始化和引用
2.字符串与字符数组。
七、函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值的传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
8.内部函数与外部函数。
八、编译预处理
1.宏定义:不带参数的宏定义;带参数的宏定义。
2.“文件包含”处理。
九、指针
1.指针与指针变量的概念,指针与地址运算符。
2.变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回指针值的指针函数。
5.指针数组,指向指针的指针,MAIN函数的命令行参数。
十、结构体(即“结构”)与共用体(即“联合”)
1.结构体和共用体类型数据的定义方法和引用方法。
2.用指针和结构体构成链表,单向链表的建立、输出、删除与插入。
十一、位运算
1.位运算符的含义及使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(FOPEN,FCLOSE)。
3.文件的读写(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTF,FSCANF函数),文件的定位(REWIND,FSEEK函数)。
考试方式
1.笔试:120分钟,满分100分,其中含公共基础知识部分的30分。
2.上机:60分钟,满分100分。
上机操作包括:
(1)填空。
(2)改错。
(3)编程。
VB介绍
一、Visual Basic程序开发环境
1、Visual Basic的特点和版本。
2、Visual Basic的启动与退出。
3、主窗口:
(1)标题和菜单。
(2)工具栏。
4、其他窗口:
(1)窗体设计器和工程资源管理器。
(2)属性窗口和工具箱窗口。
二、对象及其操作
1、对象:
(1)Visual Basic的对象。
(2)对象属性设置。
2、窗体:
(1)窗体的结构与属性。
(2)窗体事件。
3、控件:
(1)标准控件。
(2)控件的命名和控件值。
4、控件的画法和基本操作。
5、事件驱动。
三、数据类型及其运算
1、数据类型:
(1)基本数据类型。
(2)用户定义的数据类型。
(3)枚举类型。
2、常量和变量:
(1)局部变量与全局变量。
(2)变体类型变量。
(3)缺省声明。
3、常用内部函数。
4、运算符与表达式:
(1)算术运算符。
(2)关系运算符与逻辑运算符。
(3)表达式的执行顺序。
四、数据输入、输出
1、数据输出:
(1)Print方法。
(2)与Print方法有关的函数(Tab、Spc、Space $)。
(3)格式输出(Fomat$)。
2、InputBox函数。
3、MsgBox函数和MsgBox语句。
4、字形。
5、打印机输出:
(1)直接输出。
(2)窗体输出。
五、常用标准控件
1、文本控件:
(1)标签。
(2)文本框。
2、图形控件:
(1)图片框,图像框的属性,事件和方法。
(2)图形文件的装入。
(3)直线和形状。
3、按钮控件。
4、选择控件:复选框和单选按钮。
5、选择控件:列表框和组合框。
6、滚动条。
7、计时器。
8、框架。
9、焦点与Tab顺序。
六、控制结构
1、选择结构:
(1)单行结构条件语句。
(2)块结构条件语句。
(3)IIf函数。
2、多分支结构。
3、For循环控制结构。
4、当循环控制结构。
5、Do循环控制结构。
6、多重循环。
7.GoTo型控制:
(1) GoTo语句。
(2) On-GoTo语句。
七、数组
1、数组的概念:
(1)数组的定义。
(2)静态数组与动态数组。
2、数组的基本操作:
(1)数组元素的输入、输出和复制。
(2)For Each...Next语句。
(3)数组的初始化。
3、控件数组。
C++语言程序设计
基本要求
1. 掌握C++语言的基本语法规则。
2. 熟练掌握有关类与对象的相关知识。
3. 能够采用面向对象的编程思路和方法编写应用程序。
4. 能熟练使用Visual C++6.0集成开发环境编写和调度程序。
考试内容
一、 C++语言概述
1. 了解C++语言的基本符号。
2. 了角C++语言的词汇(保留字、标识符、常量、运算符、标点符号等)。
3. 掌握C++程序的基本框架(结构程序设计框架、面向对象程序设计框架等)。
4. 能够使用Visual C++ 6.0集成开发环境编辑、编译、运行与调度程序。
二、 数据类型、表达式和基本运算
1. 掌握C++数据类型(基本类型,指针类型)及其定义椒ā?br> 2. 了解C++的常量定义(整型常量,字符常量,逻辑常量,实型常量,地址常量,符号常量)。
3. 掌握变量的定义与使用方法(变量的定义及初始化,全局变量,局部变量)。
4. 掌握C++运算符的种类、运算优先级和结合性。
5. 熟练掌握C++表达式类型及求值规则(赋值运算,算术运算符和算术表达式,关系运算符和关系表达式,逻辑运算符和逻辑表达式,条件运算,指针运算,逗号表达式)。
三、 C++的基本语句
1. 掌握C++的基本语句,例如赋值语句、表达式语句、复合语句、输入、输出语句和空格语句等。
2. 用if语句实现分支结构。
3. 用switch语句实现多分支选择结构。
4. 用for语句实现循环结构。
5. 用while语句实现循环结构。
6. 用do…while语句实现循环结构。
7. 转向语句(goto,continue,break和return)。
8. 掌握分支语句和循环语句的各种嵌套使用。
四、 数组、指针与引用
1. 掌握一维数组的定义、初始化和访问,了解多维数组的定义、初始化和访问。
2. 了解字符串与字符数组。
3. 熟练掌握常用字符串函数(strlen,strcpy,streat,strcmp,strstr等)。
4. 指针与指针变量的概念,指针与地址运算符,指针与数组。
5. 引用的基本概念,引用的定义与使用。
Java语言程序设计
基本要求
1. 掌握Java语言的特点,实现机制和体系结构。
2. 掌握Java语言中面向对象的特性。
3. 掌握Java语言提供的数据类型和结构。
4. 掌握Java语言编程的基本技术。
5. 会编写Java用户界面程序。
6. 会编写Java简单应用程序。
7. 会编写Java小应用程序(Applet)。
8. 了解Java的应用。
考试内容
一、Java语言的特点和实现机制
二、Java体系结构
1. JDK目录结构。
2. Java的API结构。
3. 开发环境设置。
4. Java程序结构。
三、Java语言中面向对象的特性
1. 面向对象编程的基本概念和特征。
2. 类的基本组成和使用。
3. 对象的生成、使用和删除。
4. 接口与包。
5. Java类库的常用类和接口。
四、Java简单数据类型及运算
1. 变量和常量。
2. 基本数据类型及转换。
3. Java类库中对简单数据类型的类包装。
4. 运算符和表达式运算。
5. 数组和字符串。
五、Java语言的基本语句
1. 表达式语句。
2. 条件语句。
3. 循环语句。
4. 注释语句。
5. 异常处理。
六、Java编程技术基础
1. 线程的概念和使用。
2. 同步与共享。
3. 串行化概念和目的。
4. 串行化方法。
5. 串行化的举例。
6. 基于文本的应用。
7. 文件和文件I/O。
8. 汇集(collections)接口。
七、编写用户界面程序
1. 图形用户界面。
2. AWT库简介。
3. Swing简介。
4. AWT与Swing比较。
八、编写小应用程序(Applet)
1. 小应用程序概念。
2. 安全机制。
3. Applet执行过程。
4. Applet的图形绘制。
5. Applet的窗口。
6. Applet的工作环境。
7. Java Application和Applet。
九、Java的应用
十、J2DK的下载和操作
考试方式
1. 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
2. 上机操作:90分钟,满分100分。
上机题目类型要求:
(1) 基本操作。
(2) 简单应用。
3 综合应用
Access数据库程序设计
基本要求
1、 具有数据库系统的基础知识。
2、 基本了解面向对象的概念。
3、 掌握关系数据库的基本原理。
4、 掌握数据库程序设计方法。
5、 能使用Access建立一个小型数据库应用系统。
考试内容
一、数据库基础知识
1、 基本概念:
数据库,数据模型,数据库管理系统,类和对象,事件。
2、 关系模型(实体的完整性,参照的完整性,用户定义的完整性)关系模式,关系,元组,属性,字段,域,值,主关键字等。
3、 关系运算基本概念:
选择运算,投影运算,连接运算。
4、 SQL基本命令:查询命令,操作命令。
5、 Access系统简介:
(1)Access系统的基本特点。
(2)基本对象:表,查询,窗体,报表,页,宏,模块。
二、数据库和表的基本操作
1、 创建数据库:
(1)创建空数据库。
(2)使用向导创建数据库。
2、 表的建立:
(1) 建立表结构:使用向导,使用表设计器,使用数据表。
(2) 设置字段属性。
(3) 输入数据:直接输入数据,获取外部数据。
3、 表间关系的建立与修改:
(1) 表间关系的概念:一对一,一对多。
(2) 设置参照完整性。
(3) 建立表间关系。
4、 表的维护:
(1) 修改表结构:添加字段,修改安段,删除字段,重新设置主关键字。
(2) 编辑表内容:添加记录,个性记录,删除记录,复制记录。
(3) 调整表外观。
5、 表的其他操作:
(1) 查找数据。
(2) 替换数据。
(3) 排序记录。
(4) 筛选记录。
三、查询的基本操作
1、查询分类
(1) 选择查询。
(2) 参数查询。
(3) 交叉表查询。
(4) 操作查询。
(5) SQL查询。
2、查询准则
(1) 运算符。
(2) 函数。
(3) 表达式。
3、创建查询
(1) 操作已创建的查询
(2) 编辑查询中的字段。
(3) 编辑查询中的数据源。
(4) 排序查询的结果。
四、窗体的基本操作
1、 窗体分类:
(1) 纵栏式窗体
(2) 表格式窗体
(3) 主/子窗体
(4) 数据表窗体
(5) 图表窗体
(6) 数据透视表窗体
2、 创建窗体:
(1) 使用向导创建窗体。
(2) 使用设计器创建窗体:控件的含义及种类,在窗体中添加和修改控件,设置控件的常见属性。
五、报表的基本操作
1、报表分类:
(1) 纵栏式报表。
(2) 表格式报表。
(3) 图表报表。
(4) 标签报表。
2、使用向导创建报表。
3、使用设计器编辑报表。
4、在报表中计算和汇总。
六、页的基本操作
1、数据访问页的概念。
2、创建数据访问页:
(1) 自动创建数据访问页。
(2) 使用向导数据访问页。
七、宏
1、宏的基本概念。
2、宏的基本操作:
(1) 创建宏;创建一个宏,创建宏组。
(2) 运行宏。
(3) 在宏中使用条件。
(4) 设置宏操作参数。
(5) 常用的宏操作。
八、模块
1、模块的基本概念:
(1) 类模块。
(2) 标准模块。
(3) 将宏转换为模块。
2、创建模块:
(1) 创建VBA模块:在模块中加入过程,在模块中执行宏。
(2) 编写事件过程:键盘事件,鼠标事件,窗口事件,操作事件和其他事件。
3、调用和参数传递。
4、VBA程序设计基础:
(1) 面向对象程序设计的基本概念。
(2) VBA编程环境:进入VBE,BE界面。
(3) VBA编程基础:常量,变量,表达式。
(4) VBA程序流程控制:顺序控制,选择控制,循环控制。
(5) VBA程序的调试:设置断点,单步跟踪,设置监视点。
考试方式
1、笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
2、上机操作:90分钟,满分100分。
上机操作包括:
(1) 基本操作。
(2) 简单应用。
(3) 综合应用
2005年计算机等级考试二级Visual FoxPro(VFP)考试大纲
基本要求
1.具有数据库系统的基础知识。
2.基本了解面向对象的概念。
3.掌握关系数据库的基本原理。
4.掌握数据库程序设计方法。
5.能够使用Visual FoxPro建立一个小型的数据库应用系统。
考试内容
一、Visual Foxpro的基础知识
1.基本概念:数据库,数据模型,数据库管理系统、类和对象、事件、方法。
2.关系数据库:
(1)关系数据库:关系模型、关系模式、关系、元组、属性、域、主关键字和外部关键字。
(2)关系运算:投影、选择、联接。
(3)数据库的一致性和完整性:实体完整性、域完整性、参照完整性。
3.Visual FoxPro系统特点与工作方式:
(1)Windows版本的数据库特点。
(2)数据类型和主要文件类型。
(3)各种设计器和向导。
(4)工作方式:交互方式(命令方式、可视化操作)和程序运行方式。
4.Visual Foxpro的基本数据元素:
(1)常量、变量、表达式。
(2)常用函数:字符处理函数、数值运算函数、日期时间函数、数据类型转换函数、测试函数。
二、Visual FoxPro数据库的基本操作
1.数据库和表的建立、修改与有效性检验:
(1)表结构的建立与修改。
(2)表记录的浏览、增加、删除与修改。
(3)创建数据库,向数据库添加或从数据库删除表。
(4)设定字段级规则和记录级规则。
(5)表的索引:主索引、候选索引、普通索引、唯一索引。
2.多表操作:
(1)选择工作区。
(2)建立表之间的关联:一对一关联、一对多关联。
(3)设置参照的完整性。
(4)表的联接JOIN:
内部联接
外部连接:左联接、右联接、完全联接。
(5)建立表间临时关系。
3.建立视图与数据查询:
(1)查询文件的建立、执行与修改。
(2)视图文件的建立、查看与修改。
(3)建立多表查询。
三、关系型数据库标准语言SQL
1、SQL的数据定义功能:
(1)CREATETABLE-SQL。
(2)ALTERTABLE-SQL。
2.SQL的数据修改功能:
(1)简单查询。
(2)嵌套查询。
(3)联接查询。
(4)分组与计算查询。
(5)集合的并运算。
四、项目管理器、设计器和向导的使用
1.使用项目管理器:
(1)使用“数据”选项卡。
(2)使用“文档”选项卡。
2.使用表单设计器:
(1)在表单中加入和修改控件对象。
(2)设定数据环境。
3.使用菜单设计器:
(1)建立主选项。
(2)设计子菜单。
(3)设定菜单选项程序代码。
4.使用报表设计器:
(1)生成快速表。
(2)修改报表布局。
(3)设计分组报表。
(4)设计多栏报表。
5.使用应用程序向导。
五、Visual FoxPro程序设计
1、命令文件建立与运行:
(1)程序文件建立。
(2)简单的交互方式输入输出命令。
(3)应用程序的调试与执行。
2.结构化程序设计:
(1)顺序结构程序设计。
(2)分支结构程序设计。
(3)循环结构程序设计。
3.过程与过程调用:
(1)子程序设计与调用。
(2)过程与过程文件。
(3)局部变量和全局变量、过程调用中的参数传递。
考试方式
1.笔试:90分钟。
2.上机考试:90分钟。
上机操作包括:
(1)基本操作。
(2)简单应用。
(3)综合应用。
其中 VFP,ACCESS都很简单,vfp是过关率最高的
三级考试内容:
网络技术
参考教材:根据教育部考试中心制订的《全国计算机等级考试考试大纲04版》中对三级网络技术的要求编写的。
课程内容:三级网络技术内容包括:计算机基础知识、网络基本概念、局域网基础、网络操作系统、因特网基础、网络安全技术、网络应用——电子商务和电子政务、网络技术展望,对网络管理与安全的知识也给予相当的重视。要求三级网络技术的合格考生应具有计算机基础知识,了解和掌握局域网、因特网的基本原理,熟悉计算机网络系统和组建技术,从而具备从事网络管理项目和简单应用系统开发和维护的基本能力。
三级PC
参考教材:《全国计算机等级考试考试大纲》
课程内容:计算机应用的基础知识、80x86微处理器与汇编语言程序设计、PC机组成原理与接口技术、Windows 98的基本原理以及PC机常用外围设备。按照考试大纲要求,三级PC技术的合格考生应具有计算机及其应用的基础知识,掌握Pentium微处理器及PC计算机的工作原理,熟悉PC机常用外围设备的功能与结构,了解Windows 98操作系统的基本原理,能使用汇编语言进行程序设计。
三级数据库技术
参考教材:《全国计算机等级考试三级教程--数据库技术》(2004版) 高等教育出版社 2004年6月出版
课程内容:本课程是为全国计算机等级考试三级--数据库技术而专门开发的,它依据最新的考试大纲和指定教材,内容包括了大纲中规定的所有知识点,包括:计算机基础知识、数据结构、操作系统、数据库相关技术,并对一些重点、难点问题进行了细致的讲解。旨在帮助考生加深对课程知识点的正确理解,提高应试能力和水平。
三级---信息管理技术
参考教材:根据教育部考试中心制订的《全国计算机等级考试考试大纲》中对三级信息管理技术的要求编写的。
课程内容:培养学生具有计算机基础知识,了解和掌握软件工程、数据库的基本原理和方法,熟悉计算机信息系统的开发方法和技术,从而具备从事管理信息系统项目和办公自动化系统项目开发和维护的基本能力。每章有学习目标与要求、内容要点、例题分析与解答、自测题及答案。各章在概括主要内容要点的基础上,对大量的例题做了分析和解答,同时编制了大量的自测题并给出了参考答案供考生练习和参照。
D. java开发工程师 考试科目有哪些啊
考试科目是:Java SE 8 Programmer I | 1Z0-808和:Java SE 8 Programmer II | 1Z0-809。内容偏重于Java语法及JDK的内容。其对应的最主要的学习课程是SL-275。
OCJP(Oracle Certified Java Programmer)是Oracle认证的Java程序员的简称,即Sun被Oracle收购之前的SCJP,是Java语言的拥有厂商对全球的Java开发人员进行的 技术水平认证。该认证在国际上获得了IT 公司的普遍认可, 是目前国际上最热门的IT认证之一。
考试对象:在校大学生,Java程序开发人员,项目经理,欲考取OCJP认证的相关人员或是对JAVA有兴趣的人等。
要求具备的能力如下:
-使用Java编程语言创建Java应用程序和applets。
-定义和描述垃圾搜集,安全性和Java虚拟机(JVM)。
-描述和使用Java语言面向对象的特点。
-开发图形用户界面(GUI)。利用Java支持的多种布局管理。
-描述和使用Java的事件处理模式。
-使用Java语言的鼠标输入、文本、窗口和菜单窗口部件。
-使用Java的例外处理来控制程序执行和定义用户自己的例外事件。
-使用Java语言先进的面向对象特点, 包括方法重载、方法覆盖、抽象类、接口、final、static和访问控制。
-实现文件的输入/输出 (I/O)。
-使用Java语言内在的线程模式来控制多线程。
-使用Java 的Sockets机制进行网络通信。
E. java接口作用是什么
接口是一种规范
软件开发大多是一个协作性的工作:电器和插座分别是不同人完成的,有了接口大家就能分头开干,都按照接口来办事,各自做完就能轻松地整合到一起。各部分的测试也更加方便。
接口在开发过程中可以快速分离工作内容。
比如调用者在写业务逻辑的时候需要一个功能,可能是数据库访问,或者复杂计算,但是他的工作专注于实现业务逻辑,不想分开精力去做底层实现,那么他只需要先实现一个接口,定义了规范,然后就可以继续他的业务逻辑代码了。而实现者可以根据这个接口规范,做具体的实现。
这样通过使用接口就可以快速的分离工作内容,达到团队并行工作的目的。
(5)java语言如何实现三级菜单扩展阅读:
功能
在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。
但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。
Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。
F. 谁能发个全国计算机考试的JAVA真题给我笔试题
Java是一个很好的面向对象语言,这是08年的试题。你可以在网上下更全套的试题练习。
全国2008年10月考试Java 语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下述字符组合不能作为Java程序标识符的是( )
A.Aa12 B.大x
C.y小 D.5x
2.以下程序代码的输出的结果是( )
int x=53;
System. out. println(1.0+x/2);
A.27.0 B.27.5
C.1.026 D.1.026.5
3.参照以下Java代码,以下四个叙述中最确切的是( )
class A{
int x; static int y;
void fac(String s){Syatem. out. println(”字符串:”+s);}
}
A.x、y和s都是成员变量
B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数
D.x、y和s都是实例变量
4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是
( )
A.String B.StringBuffer
C.StringTokenizer D.stringTokenizer
5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是( )
A.JFrame(s) B.window(s)
C.new JFrame(s) D.super(s)
6.以下关于菜单的叙述中,正确的是( )
A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项
B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项
C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项
D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项
7.以下所述内容全部是字型要素的是( )
A.字体、字形和大小 B.字体、风格和字号
C.字形、风格和字号 D.字形、颜色和字号
8.用Thread子类实现多线程的步骤顺序是( )
A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法
B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例
C.创建Thread子类的实例,让线程调用start()方法
D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法
9.为16位Unicode字符流提供读和写操作支持的类分别是( )
A.FileInputStream类和FileOutputStream类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
10.能利用对象提供的方法获得流对象和实现网络连接的是( )
A.URLConnection对象 B.URL对象
C.InetAddress对象 D.TCP/IP对象
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.一个小应用程序必须定义成一个_________。
12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个表达式是_________。
13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。
14.设有数组a和b的定义如下:
int[]a={1,2,3};int[]b={4,5,6}
……
执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_________。
15. _________布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
16.Java语言为处理鼠标事件提供两个接口:_________接口和MouseMotionListener接口。
17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是_________。
18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方法;二是建立线程实例。
19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建_________对象,再利用这个对象创建BufferedWriter对象。
20.在Java语言中,客户端使用的套接字类是_________。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。
22.如果类Student是类Person的子类,类Undergraate是类Student的子类,请指出以下代码行中哪些是不合法的。
Person p1=new Student();
Person p2=new Undergraate();
Student s1=new Person();
Student s2=new Undergraate();
Undergraate ug1=new Person();
Undergraate ug2=new Student();
Object ob=new Student();
23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。
24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。
25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。
26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。
四、程序填空题(本大题共5小题,每空2分,共20分)
27.方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。
static int maxDigit(int n){
int c=0,d;
while(n>0){
d=_______;
if(d>c) c=d;
n/=10;
}
________;
}
28.某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。
public void actionPerformed(ActionEvent e){
int sum;
if(e.getSource()==button){
String s=text1.________;//获取text1中的信息
StringTokenizer fenxi=new StringTokenizer(s,”,,,\n”);
int n=fenxi.countTokens();
double a[]=new double[n];
for(int i=0;i<n;i++){
String temp=fenxi.nextToken();
a[i]=Double.valueOf(temp).doubleValue();
}
sum=0;
for(int i=0;i<n;i++){
__________;
}
text2.setText(””+sum);//刷新显示。
}
}
29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。
……
singingItem=new________(”唱歌”);//生成菜单项对象
……
public void actionPerformed(ActionEvent e){
if(e.getSource()==singingItem)
text.setText(e.________()+ ”菜单项被选中!”);
}
30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。
final int number=30;//假定幻灯片有30张
int count=0;
Image[]pic=new Image[number];
public void paint(______gc){
if((pic[count])!=null)
gc.drawImage(pic[count],10,10,pic[count].getWidth(this),
pic[count].getHeight(this),this);
}
public void mousePressed(MouseEvent e){
count=(count+1)% number;//循环逐张显示
__________;
}
31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。
class ShareDataManager{
int data=0;
________void modiData(int delta){
if(delta>=0){
data+=delta;
}else {
while(data <delta){
try{System.out.println(”发生等待!”);
wait();
}catch(InterruptedException e){ }
}
data-=delta;
}
_________;
}
ShareDataManager(int ititData){data=initData;}
}
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的输出结果。
import java.applet.*;import java.awt.*;
class Point{
int x,y;
Point(int xx,int yy){ x=xx;y=yy;}
Point(Point p){x=p.x;y=p.y; }
void m(int dx,int dy){x+=dx;y+=dy;}
}
class Circle extends Point{
int r;
Circle(Point p, int rr){ super(p); r=rr; }
float c(){ return 3.14f*2.0f*r; }
float a(){ return 3.14f*r*r;}
}
public class sample extends Applet{
Circle yuan; Point d;
public void init() {d=new Point(2,5);yuan=new Circle(d,10);}
public void paint(Graphics g){
g.drawString(”yuan Circle”+(int)(yuan.c()*100.0)/100.0,5,20);
g.drawString(”yuan Area”+(int)(yuan.a()*100.0)/100.0,5,40);
}
}
33.阅读下列程序,请写出该程序的功能。
import java. util.*;
public class Class1{
public static void main(Srting args[]){
Date date1=new Date();
System. out. println (datel);
String t=datel.toString();
int endPos=t.indexOf(‘C’);
t=t.substring(11,endPos);
System. out println(t);
}
}
34.阅读下列程序,请写出该程序的功能。
import java.applet.*;import javax.swing.*;import java.awt.event.*;
public class Class l extends Applet implements ActionListener{
JTextField text1,text2;
public void init(){
text1=new JTextField(10); text2=new JTextField(10);
setSize(200,100); add(text1); add(text2);
text1.addActionListener(this);
}
public void actionPerformed(Action Event e){
long n;
if(e.getSource()==text1){
n=Long.parseLong(text1.getText());
text2.setText(String.valueOf(n*n));
}
}
}
35.阅读以下程序,请写出该程序的功能。
import javax.swing.*; import java.awt.*;import java.awt.event.*;
class MyScrollBar extends JscrollBar{
public MyScrollBar(int init, int len, int low, int high){
super(JScrollBar. HORIZONTAL, init,len,low,high);
}
}
class MyWindow extends JFrame implements AdjustmentListener{
private JTextField text;
MyWindow(String s){
super(s);
MyScrollBar myBar=new MyScrollBar(10,10,0,255);
Container con=this. getContentPane();
con. setLayout(new GridLayout(2,1));
this. setSize(200,100);
this. setLocation(100,100);
myBar.addAdjustmentListener(this);
text=new JTextField(””,20);
con. add(text);con.add(myBar);
this.setVisible(true);
}
public void adjustmentValueChanged(AdjustmentEvent e){
MyScrollBar myBar=(MyScrollBar)e.getAdjustable();
text.setText(””+myBar.getValue());
}
}
public class Class1{
public static void main(String[]args){
MyWindow myWindow=new MyWindow(”text5_4”);
}
}
36.小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。
import java.applet.*;import java.awt.*;
public class Class1 extends java.applet.Applet implements Runnable{
Thread redBall;Graphics redPen;
int rx=0,ry=0;
public void init(){
setSize(250,200);
redBall =new Thread(this);
redPen=getGraphics();
redPen. setColor(Color.red);
setBackground(Color.gray);
}
public void start(){ redBall.start(); }
public void run(){
while(true){
if(Thread.currentThread()==redBall){
rx=(int)(80*Math.random());
ry=(int)(80*Math.random());
red Pen.setColor(Color.red);
red Pen.fillOval(100+rx,100+ry,10,10);
try{redBall.sleep(500);}
catch(InterruptedException e){}
redPen.setColor(Color.gray);
redPen.fillOval(100+rx,100+ry,10,10);
}
}
}
}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。
38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。
注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。
import java.applet.*;import javax.swing.*;
import java.awt.*; import java.awt.event.*;
class Panel1 extends JPanel{
JTextField text1, text2, text3;JButton addButton,subButton;
Panel1(){
text1=new JTextField(10);text2=new JTextField(10);
text3=new JTextField(10);setLayout(new GridLayout(5,1));
addButton=new JButton(”加”);subButton=new JButton(”减”);
add(text1); add(text2);
add(text3); add(addButton); add(subButton);
}
}
public class Classl extends Applet implements ActionListener{
Pane1 panel;
public void init(){
setSize(100,200); panel=new Panel1();add(panel);
(panel.addButton).addActionListener(this);
(panel.subButton). addActionListener(this);
}
public void actionPerformed(ActionEvent e){