Java A

四、在ORACLE大数据量下的分页解决方法。通常用截取ID方法,还有是三层嵌套方法。 答:一种分页方法 <%
int i=1; int numPages=14; String pages = request.getParameter("page") ; int currentPage = 1; currentPage=(pages==null)?(1):{Integer.parseInt(pages)} sql = "select count(*) from tables"; ResultSet rs = DBLink.executeQuery(sql) ; while(rs.next()) i = rs.getInt(1) ; int intPageCount=1; intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1); int nextPage ; int upPage; nextPage = currentPage+1; if (nextPage>=intPageCount) nextPage=intPageCount; upPage = currentPage-1; if (upPage<=1) upPage=1; rs.close(); sql="select * from tables"; rs=DBLink.executeQuery(sql); i=0; while((i<numPages*(currentPage-1))&&rs.next()){i++;} %> //输出内容 //输出翻页链接 合计:<%=currentPage%>/<%=intPageCount%><a href="List.jsp?page=1">第一页</a><a href="List.jsp?page=<%=upPage%>">上一页</a> <% for(int j=1;j<=intPageCount;j++){ if(currentPage!=j){
%> <a href="list.jsp?page=<%=j%>">[<%=j%>]</a> <% }else{ out.println(j); } } %>
<a href="List.jsp?page=<%=nextPage%>">下一页</a><a href="List.jsp?page=<%=intPageCount%>">最后页 </a>
4九、列出某文件夹下的全部文件;
50、调用系统命令实现删除文件的操做;
5一、实现从文件中一次读出一个字符的操做;
5二、列出一些控制流程的方法;
5四、编写了一个服务器端的程序实如今客户端输入字符而后在控制台上显示,直到输入"END"为止,让你写出客户端的程序;
5五、做用域public,private,protected,以及不写时的区别 答:区别以下:
做用域 当前类 同一package 子孙类 其余package
public √ √ √ √
protected √ √ √
friendly √ √
private √
不写时默认为friendly
5六、ArrayList和Vector的区别,HashMap和Hashtable的区别
答:就ArrayList与Vector主要从二方面来讲. 一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 二.数据增加:当须要增加时,Vector默认增加为原来一培,而ArrayList倒是原来的一半
就HashMap与HashTable主要从三方面来讲。 一.历史缘由:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 三.值:只有HashMap可让你将空值做为一个表的条目的key或value
60、float型float f=3.4是否正确? 答:不正确。精度不许确,应该用强制类型转换,以下所示:float f=(float)3.4
6一、介绍JAVA中的Collection FrameWork(包括如何写本身的数据结构)?
答:Collection FrameWork以下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack
└Set Map ├Hashtable ├HashMap └WeakHashMap Collection是最基本的集合接口,一个Collection表明一组Object,即Collection的元素(Elements) Map提供key到value的映射
六、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?
答:用插入法进行排序代码以下 package test; import java.util.*; class InsertSort { ArrayList al; public InsertSort(int num,int mod) { al = new ArrayList(num); Random rand = new Random(); System.out.println("The ArrayList Sort Before:"); for (int i=0;i<num ;i++ ) { al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));
System.out.println("al["+i+"]="+al.get(i)); } } public void SortIt() { Integer tempInt; int MaxSize=1; for(int i=1;i<al.size();i++) { tempInt = (Integer)al.remove(i); if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) { al.add(MaxSize,tempInt); MaxSize++; System.out.println(al.toString()); } else { for (int j=0;j<MaxSize ;j++ ) { if (((Integer)al.get(j)).intValue()>=tempInt.intValue()) { al.add(j,tempInt); MaxSize++; System.out.println(al.toString()); break; } } } } System.out.println("The ArrayList Sort After:"); for(int i=0;i<al.size();i++) { System.out.println("al["+i+"]="+al.get(i)); } } public static void main(String[] args)
{ InsertSort is = new InsertSort(10,100); is.SortIt(); } } JAVA类实现序例化的方法是实现java.io.Serializable接口 Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
七、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 可是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
答:代码以下: package test; class SplitString { String SplitStr; int SplitByte; public SplitString(String str,int bytes) { SplitStr=str; SplitByte=bytes; System.out.println("The String is:′"+SplitStr+"′;SplitBytes="+SplitByte); } public void SplitIt() { int loopCount; loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split Byte+1);System.out.println("Will Split into "+loopCount); for (int i=1;i<=loopCount ;i++ ) { if (i==loopCount){
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length())); } else {
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte))); } } } public static void main(String[] args) { SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人 0ewldfls=103",4); ss.SplitIt(); } }
三、JAVA SERVLET API中forward() 与redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是彻底的跳转,浏览器将会获得跳转的地址,并从新发送请求连接。这样,从浏览器的地址栏中能够看到跳转后的连接地址。因此,前者更加高效,在前者能够知足须要时,尽可能使用forward()方法,而且,这样也有助于隐藏实际的连接。在有些状况下,好比,须要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
四、Servlet的基本架构 public class ServletName extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
一、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询.
答:程序以下: package hello.ant; import java.sql.*; public class jdbc { String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String theUser="admin"; String thePw="manager"; Connection c=null; Statement conn; ResultSet rs=null; public jdbc() { try{ Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); c = DriverManager.getConnection(dbUrl,theUser,thePw); conn=c.createStatement(); }catch(Exception e){ e.printStackTrace(); } } public boolean executeUpdate(String sql) { try { conn.executeUpdate(sql); return true; } catch (SQLException e) { e.printStackTrace(); return false; } } public ResultSet executeQuery(String sql) { rs=null; try { rs=conn.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; }
public void close() { try { conn.close(); c.close(); } catch (Exception e) { e.printStackTrace(); } }
public static void main(String[] args) { ResultSet rs; jdbc conn = new jdbc(); rs=conn.executeQuery("select * from test"); try{ while (rs.next()) { System.out.println(rs.getString("id")); System.out.println(rs.getString("name")); } }catch(Exception e) { e.printStackTrace(); } } }
二、Class.forName的做用?为何要用? 答:调用该访问返回一个以字符串指定类名的类的对象。
二、你在项目中用到了xml技术的哪些方面?如何实现的? 答:用到了数据存贮,信息配置两方面。在作数据交换平台时,将不能数据源的数据组装成XML文件,而后将XML文件压缩打包加密后经过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在作软件配置时,利用XML能够很方便的进行,软件的各类配置参数都存贮在XML文件中。
三、用jdom解析xml文件时如何解决中文问题?如何解析? 答:看以下代码,用编码方式加以解决
package test; import java.io.*; public class DOMTest { private String inFile = "c:\people.xml";
private String outFile = "c:\people.xml"; public static void main(String args[]) { new DOMTest(); } public DOMTest() { try { javax.xml.parsers.DocumentBuilder builder =
javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
org.w3c.dom.Document doc = builder.newDocument(); org.w3c.dom.Element root = doc.createElement("老师");
org.w3c.dom.Element wang = doc.createElement("王"); org.w3c.dom.Element liu = doc.createElement("刘");
wang.appendChild(doc.createTextNode("我是王老师")); root.appendChild(wang); doc.appendChild(root);
javax.xml.transform.Transformer transformer =
javax.xml.transform.TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");
transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");
transformer.transform(new javax.xml.transform.dom.DOMSource(doc),
new javax.xml.transform.stream.StreamResult(outFile)); } catch (Exception e) { System.out.println (e.getMessage()); } } }
四、编程用JAVA解析XML的方式. 答:用SAX方式解析XML,XML文件以下: <?xml version="1.0" encoding="gb2312"?>
<person> <name>王小明</name> <college>信息学院</college> <telephone>6258113</telephone> <notes>男,1955年生,博士,95年调入海南大学</notes> </person> 事件回调类SAXHandler.java import java.io.*; import java.util.Hashtable; import org.xml.sax.*; public class SAXHandler extends HandlerBase {
private Hashtable table = new Hashtable(); private String currentElement = null; private String currentValue = null; public void setTable(Hashtable table) { this.table = table; } public Hashtable getTable() { return table; }
public void startElement(String tag, AttributeList attrs) throws SAXException { currentElement = tag; }
public void characters(char[] ch, int start, int length) throws SAXException { currentValue = new String(ch, start, length); } public void endElement(String name) throws SAXException { if (currentElement.equals(name)) table.put(currentElement, currentValue); } }
JSP内容显示源码,SaxXml.jsp: <HTML> <HEAD> <TITLE>剖析XML文件people.xml</TITLE> </HEAD> <BODY>
<%@ page errorPage="ErrPage.jsp" contentType="text/html;charset=GB2312" %> <%@ page import="java.io.*" %>
<%@ page import="java.util.Hashtable" %> <%@ page import="org.w3c.dom.*" %> <%@ page import="org.xml.sax.*" %>
<%@ page import="javax.xml.parsers.SAXParserFactory" %> <%@ page import="javax.xml.parsers.SAXParser" %> <%@ page import="SAXHandler" %> <% File file = new File("c:\people.xml"); FileReader reader = new FileReader(file);
Parser parser; SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser();
SAXHandler handler = new SAXHandler(); sp.parse(new InputSource(reader), handler); Hashtable hashTable = handler.getTable(); out.println("<TABLE BORDER=2><CAPTION>教师信息表</CAPTION>"); out.println("<TR><TD>姓名</TD>" + "<TD>" + (String)hashTable.get(new String("name")) + "</TD></TR>"); out.println("<TR><TD>学院</TD>" + "<TD>" + (String)hashTable.get(new String("college"))+"</TD></TR>"); out.println("<TR><TD>电话</TD>" + "<TD>" + (String)hashTable.get(new String("telephone")) + "</TD></TR>"); out.println("<TR><TD>备注</TD>" + "<TD>" +
(String)hashTable.get(new String("notes")) + "</TD></TR>"); out.println("</TABLE>"); %> </BODY> </HTML>
EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之因此可以运行的核心。EJB容器管理着EJB的建立,撤消,激活,去活,与数据库的链接等等重要的核心工做。JSP,Servlet,EJB,JNDI,JDBC,JMS.....html

 

 

JavaScript方面 一、如何校验数字型? var re=/^d{1,8}$|.d{1,2}$/; var str=document.form1.all(i).value;
var r=str.match(re); if (r==null) { sign=-4; break; } else{ document.form1.all(i).value=parseFloat(str); } java

CORBA方面 一、CORBA是什么?用途是什么? 答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和容许应用程序间互操做的协议。 其目的为: 用不一样的程序设计语言书写 在不一样的进程中运行 为不一样的操做系统开发
三、EJB的基本架构 答:一个EJB包括三个部分: Remote Interface 接口的代码 package Beans; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Add extends EJBObject { //some method declare }
Home Interface 接口的代码 package Beans; import java.rmi.RemoteException; import jaax.ejb.CreateException;
import javax.ejb.EJBHome; public interface AddHome extends EJBHome { //some method declare }
EJB类的代码 package Beans; import java.rmi.RemoteException; import javax.ejb.SessionBean; import javx.ejb.SessionContext; public class AddBean Implements SessionBean { //some method declare }
18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的全部数据。
19.说出在JSP页面里是怎么分页的?
页面须要保存如下参数:总行数:根据sql语句获得总行数 每页显示行数:设定值当前页数:请求参数
页面根据当前页数和每页行数计算出当前页第一行行数,定位结果集到此行,对结果集取出每页显示行数的行便可。
数据库方面:1.存储过程和函数的区别存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户能够调用存储过程,而函数一般是数据库已定义的方法,它接收参数并返回某种类型的值而且不涉及特定用户表。
2事务是什么?事务是做为一个逻辑单元执行的一系列操做,一个逻辑工做单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:原子性,事务必须是原子工做单元;对于其数据修改,要么全都执行,要么全都不执行。一致性,事务在完成时,必须使全部的数据都保持一致状态。在相关数据库中,全部规则都必须应用于事务的修改,以保持全部数据的完整性。事务结束时,全部的内部数据结构(如 B 树索引或双向链表)都必须是正确的。隔离性,由并发事务所做的修改必须与任何其它并发事务所做的修改隔离。事务查看数据时数据所处的状态,要么是另外一并发事务修改它以前的状态,要么是另外一事务修改它以后的状态,事务不会查看中间状态的数据。这称为可串行性,由于它可以从新装载起始数据,而且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。持久性,事务完成以后,它对于系统的影响是永久性的。该修改即便出现系统故障也将一直保持。
3游标的做用?如何知道游标已经到了最后?游标用于定位结果集的行,经过判断全局变量@@FETCH_STATUS能够判断是否到了最后,一般此变量不等于0表示出错或到了最后。
4触发器分为事前触发和过后触发,这两种触发有和区别。语句级触发和行级触发有何区别。事前触发器运行于触发事件发生以前,而过后触发器运行于触发事件发生以后。一般事前触发器能够获取事件以前和新的字段值。语句级触发器能够在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。ios

 

 

你知道Object类中有那些方法?(随意说几个便可)
1`把一个对象做为一个方法的参数,在该方法中对该对象的属性作了修改,请问在外部调用该方法后,传入方法的对象是否发生了变化?例如:假设stephen是一个类int change value(Stephen Stephen) Stephen a=Spublic static void main(stringc( ) args)Stephen Stephen=new Stephen( )Int; P=change value (Stephen);请问对象stephen变化了吗?
许天岭面试题
在Jdbc进行数据库调用时,你常常采用什么方式执行sql语句?为何不用其余方式(比较一下便可)
int类型在java中有多少位?(若是面试题目中有这样的问题,不是公司太牛就是公司太差)
你用过线程吗?请启动4个线程对一个静态变量进行加1操做。
线程是如何启动的?
每一个类实力化时都调用父类的构造函数吗?若是是,那么都调用object类的构造函数吗?
你懂得Ftp协议吗?若是不懂请问我告诉你Ftp协议命令格式及数据包的解析方法,你能用多长时间用java基本apI搞定一个ftp客户端程序(是这样的问题主要看你我的学习能力,通常也就是一人五天的工做量,没必要要惧怕,通常他不会给你五天作的,就是想看一下你的自信心及对工做的理解能力)
你知道java与C的通讯?吗你会用那些协议进行通讯?(其实也就是问socret通讯)
请问java中的网络通讯有那些方式,有什么区别?
String a=“”For limit I=0;I<100000;I++)A=a+“A”把字符串成“A”链接100000次,上面方法不够好,请优化上面代码?(采用stringBuffer进行优化)
EJB的调用过程,请叙述一下。
对于EJB的面试,业界基本上是假的,我们学的东西是够应付,但若是你能说的颇有条理,你的档次就高了
若是遇到英文试题,也就是平时常常见的调试信息不用惧怕
你在jsp中打印是如何实现的?还要说你用系统的打印方法,也就是说,在JSP中如有不少内容,而我只须要打印其中一个表格,是如何实现的?
你用java script作过树型菜单吗?(这样的问题你应该说没有作国,可是会用,固然你要是真作过也很好,那么未来你的就是作JSP界面的高手)
WEB服务器启动时,系统须要作一些初始化的工做,这些工做该怎么处理,在structs下又该怎样处理(不要只会用structs,而忘记了传统方式,外面还有不少项目没有人会用structs)
对structs,相信你们都很熟悉,但不要忘记传统的开发模式。
你写过tag吗?
你作过在jsp页面上下载一个文本文件吗?请描述你的方法?
你在数据库编程过程当中,面临的数据量有多大?若是有一个项目中天天有三张结构彻底相同的表,一个365每天天如此,每张表记录在100万条以上,现须要分页查询,根据这样的项目,采用你用过的分页原理,行吗?(这是考的是性能,通常的分页方式不行,遇到这样的题,你能够说,你须要了解更详细的业务,认真的研究一下,是能够的,固然,若是你认为你的方法能够,能够对这样的问题进行交流,等等。这样的题,说很差也行,不影响你的面试,主要是看一下你对问题的态度)
你用java调用过的存储过程吗?当一个存储过程有返回记录集时,该怎样在java中返回?
应该对oracle有所了解,对一些数据库的名词,应该知道词的解释。
分页一 前提 但愿最新的纪录在开头给你的表创建查询: 表:mytable
查询:create or replace view as mytable_view from mytable order by id desc 其中,最好使用序列号create sequence mytable_sequence 来自动增长你的纪录id号 二 源程序 <%String sConn="你的链接"
Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn=DriverManager.getConnection(sConn,"你的用户名","密码");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Statement stmtcount=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from mytable_view"); String sqlcount="select count(*) from mytable_view"; ResultSet rscount=stmtcount.executeQuery(sqlcount); int pageSize=你的每页显示纪录数; int rowCount=0; //总的记录数 while (rscount int pageCount; //总的页数 int currPage; //当前页数
String strPage; strPage=request.getParameter("page"); if (strPage==null){ currPage=1; } else{
currPage=Integer.parseInt(strPage); if (currPage<1) currPage=1; } pageCount=(rowCount+pageSize-1)/pageSize; if (currPage>pageCount) currPage=pageCount; int thepage=(currPage-1)*pageSize;
int n=0; rs.absolute(thepage+1); while (n<(pageSize)&&!rs %> <%rs.close(); rscount.close(); stmt.close(); stmtcount.close(); conn.close(); %> //下面是 第几页等
<form name="sinfo" method="post" action="sbinfo_index.jsp?condition=<%=condition%>&type=<%=type%>" onSubmit="return testform(this)"> 第<%=currPage%>页 共<%=pageCount%>页 共<%=rowCount%>条
<%if(currPage>1){%><a href="sbinfo_index.jsp?condition=<%=condition%>&type=<%=type%>">首页</a><%}%>
<%if(currPage>1){%><a href="sbinfo_index.jsp?page=<%=currPage-1%>&condition=<%=condition%>&type=<%=type%>">上一页</a><%}%> <%if(currPage<pageCount){%><a href="sbinfo_index.jsp?page=<%=currPage+1%>&condition=<%=condition%>&type=<%=type%>">下一页</a><%}%>
<%if(pageCount>1){%><a href="sbinfo_index.jsp?page=<%=pageCount%>&condition=<%=condition%>&type=<%=type%>">尾页</a><%}%> 跳到<input type="text" name="page" size="4" style="font-size:9px">页
<input type="submit" name="submit" size="4" value="GO" style="font-size:9px"> </form> 但愿你们喜欢!!!!!!
托普集团程序员面试试1、选择题(每题1分,共20分)1. 下列那种语言是面向对象的(C)
A. C B. PASCAL C. C++ D. FORTRAN77
2.在 Windows9x 下,能够进入 MS-D0S 方式。当在 DOS 提示符下键入 ( B ) 命令后,系统将退出 MS-DOS方式,返回到 WIndows 方式。 A. CLOSE B. EXIT C. QUIT D. RETURN
3.下面哪些是面向对象的基本特性:( ABC)A 多态 B 继承 C 封装 D 接口
4.在C++中常常要进行异常处理,下面哪些是异常处理经常使用到的关键词:(ABC)
A try B catch C throw D break E contiue
5.数据库技术中的“脏数据',是指(C)的数据。A.错误B.回返C.未提交D.未提交的随后又被撤消
6.TCP/IP是一种(A,B)A.标准 B.协议 C.语言 D.算法
7. 下面有关计算机操做系统的叙述中,不正确的是(B ) A 操做系统属于系统软件 B 操做系统只负责管理内存储器,而无论理外存储器 C UNIX 是一种操做系统 D 计算机的处理器、内存等硬件资源也由操做系统管理
8.微机上操做系统的做用是( D) A 解释执行源程序 B 编译源程序
C 进行编码转换 D 控制和管理系统资源
9.下列存储器中存取速度最快的是( A) A 内存 B 硬盘 C 光盘 D 软盘
10.在计算机中,—个字节是由多少个二进制位组成的(B ) A. 4 B. 8 C. 16 D. 24
11. 存储16×16点阵的一个汉字信息,须要的字节数为( A )A 32 B 64 C 128 D 256
12. 如下选项中合法的字符常量是(BC)A."B" B. '\010' C. 68 D. D
13. 假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)A. 3.500000 B. 3 C. 2.000000 D. 3.000000
14. 如下合法的赋值语句是(BCD)//In C++ ,choice D also is correct, but in C language, D is wrong.
A. x=y=100 B. d--; C. x+y; D. c=int(a+b);
15. 设正x、y均为整型变量,且x=10 y=3,则如下语句pprintf("%d,%d\n",x--,--y); 的输出结果是(D)
A.10,3 B. 9,3 C. 9,2 D.10,2
16. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)
A .INPUT x、y、z; B. scanf("%d%d%d",&x,&y,&z);C. scanf("%d%d%d",x,y,z); D. read("%d%d%d",&x,&y,&z);
17.如下数组定义中不正确的是(D)A) int a[2][3]; B) int b[][3]={0,1,2,3};C) int c[100][100]={0}; D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
18. 如下程序的输出结果是(A)main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
}A) 0650 B) 1470 C) 5430 D) 输出值不定
19 如下程序的输出结果是(B)main(){char st[20]= "hello\0\t\\\";printf(%d %d \n",strlen(st),sizeof(st));
}A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 当调用Windows API函数InvalidateRect,将会产生什么消息(A)A:WM_PAINT B:WM_CREATE C:WM_NCHITTEST D:WM_SETFOCUS
2、填空题(每题3分,共30分)
1.请列举当前一些当前流行的数据库引擎,SQL SERVER,ORACLE,BDE,Microsoft Jet。
2. 为了将当前盘当前目录中的全部文本文件(扩展名为.TXT)的内容打印输出,正确的单条DOS命令为COPY *.TXT PRN。
3. 计算机网络分为局域网和广域网,因特网属于广域网。
4. 设y是int型变量,请写出判断y为奇效的关系表达y%2!=0。
5. 设有如下程序:main(){ int n1,n2;scanf("%d",&n2);while(n2!=0){ n1=n2%10;n2=n2/10;printf("%d",n1);}}
程序运行后,若是从键盘上输入1298;则输出结果为8921。
6.如下程序运行后的输出结果是:9876 876
main(){ char s[ ]="9876",*p;for ( p=s ; p<s+2 ; p++) printf("%s\n", p);}
7.如下函数的功能是:求x的y次方,请填空。double fun( double x, int y){ int i;double z;for(i=1, z=x; i<y;i++) z=z* x ;return z;}
8.如下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,而后调用ftell函数返回当前文件位置指针的具体位置,从而肯定文件长度,请填空。FILE *myf; long f1;myf= fopen ("test.t","rb");
fseek(myf,0,SEEK_END); f1=ftell(myf);fclose(myf);printf("%d\n",f1);
9. 如下程序输出的最后一个值是120。
int ff(int n){ static int f=l;f=f*n;return f;}main(){ int i;for(I=1;I<=5;I++ printf("%d\n",ff(i));)
10. 如下程序运行后的输出结果是52 main(){ int i=10, j=0;do{ j=j+i; i--;while(i>2);printf("%d\n",j);}
3、判断题(每题2分,共20分)
1:动态链结库不能静态调用。 错误
2:UDP是面向无链接的网络链接 正确
3:ASP是一种数据库引擎 错误
4:队列是先进后出。 错误
5:Weblogic是分布式应用服务器。 正确
6:TCP,UDP都是传输层的协议。 正确
7: 两个线程不能共存于同一地址空间 错误
8: JAVA是一种跨平台的开发工具 正确
9.在WINDOWS操做系统中对外设是以文件的方式进行管理 正确
10. 虚拟内存实际是建立在硬盘上的 正确
4、问答题(每题10分,共30分)
1. 写出从数据库表Custom中查询No、Name、Num一、Num2并将Name以姓名显示、计算出的和以总和显示的SQL。SELECT No , Name AS ‘姓名’ ,Num1 ,Num2,(Num1+Num2) AS ‘总和’
FROM Custom
何为“事务处理”,谈谈你对它的理解。事务处理是指一个单元的工做,这些工做要么全作,要么所有不作。做为一个逻辑单元,必须具有四个属性:自动性、一致性、独立性和持久性。自动性是指事务必须是一个自动的单元工做,要么执行所有数据的修改,要么所有数据的修改都不执行。一致性是指当事务完成时,必须使全部数据都具备一致的状态。在关系型数据库中,全部的规则必须应用到事务的修改上,以便维护全部数据的完整性。全部的内部数据结构,在事务结束以后,必须保证正确。独立性是指并行事务的修改必须与其余并行事务的修改相互独立。一个事务看到的数据要么是另一个事务修改这些事务以前的状态,要么是第二个事务已经修改完成的数据,可是这个事务不能看到正在修改的数据。
3. 经常使用的数据结构有哪些?请枚举一些。(很多于5个)链表、堆栈、二叉树、队列、图、堆,集合。
4. 什么是OOP?什么是类?请对比类和对象实例之间的关系。OOP是Object_oriented Programming(面向对象编程)的缩写。这主要是为了区别于之前的面向过程的程序设计!指的是用对象的观点来组织与构建系统,它综合了功能抽象和数据抽象,这样能够减小数据之间的耦合性和代码的出错概率。使用面向对象编程技术可使得软件开发者按照现实世界里人们思考问题的模式编写代码,可让软件开发者更好地利用代码直接表达现实中存在的对象,将问题空间直接映射到解空间!类:即class 在面向对象的程序设计中,专门用“类”来表示用户定义的抽象数据类型(user_defined abstract type)。它将具备相同状态、操做和访问机制的多个对象进行了抽象。类具备继承、数据隐藏和多态三种主要特性。利用类的这三种特性能够更好地表示现实世界中事物。类是同一类对象实例的共性的抽象,对象是类的实例化。对象一般做为计算机模拟思惟,表示真实世界的抽象,一个对象就像一个软件模块,能够为用户提供一系列的服务---能够改变对象的状态、测试、传递消息等。类定义了对象的实现细节或数据结构。类是静态的,对象是动态的,对象能够看做是运行中的类。类负责产生对象,能够将类当成生产对象的工厂(Object factory).
5. 有一组数字(3,10,6,8,98,22),请编程排序(升降序皆可),语言不限,算法不限,但须注明是何种算法。//下面使用简单的冒泡法进行排序!
#include "iostream.h" template<class type> class CBubble{
private: type *pArray; int size;public:CBubble(type a[],int sizeArray);void sort();void display();};
template <class type> CBubble<type>::CBubble(type a[],int sizeArray)
{ pArray=a; size=sizeArray/sizeof(type);}
template<class type>void CBubble<type>::sort(){ type temp; for(int i=0;i<size-1;i++) for(int j=0;j<size-1-i;j++) if(pArray[j]>pArray[j+1])//升序{temp=pArray[j+1];pArray[j+1]=pArray[j];pArray[j]=temp;}}
template<class type>void CBubble<type>::display(){for(int i=0;i<size;i++)cout<<pArray[i]<<endl;}
void main(void){int a[]={3,10,6,8,98,22};CBubble<int> intData(a,sizeof(a));cout<<"The original data are :"<<endl;intData.display();intData.sort();cout<<"After sorting ,the data are:"<<endl;intData.display();
}
SQLhttp://www.jactiongroup.net/reference/html/index.html //书
http://blog.csdn.net/hbuzhang/archive/2004/12/07/207202.aspx //书
connection connconn.setAuto(false)//表示手动提交conn.commit// 提交conn.rollback();//事务回滚
-内联接use pubsselect a.au_fname, a.au_lname, p.pub_name from authors a inner join publishers p on a.city = p.city order by p.pub_name asc, a.au_lname asc, a.au_fname asc
--左外联接use pubs select a.au_fname, a.au_lname, p.pub_name from authors a left join publishers p
on a.city = p.city order by p.pub_name asc, a.au_lname asc, a.au_fname asc
-使用子查询USE pubs GO SELECT distinct pub_name FROM publishers WHERE pub_id IN (SELECT pub_idFROM titlesWHERE type = 'business') GO
--若是平均价格少于 $30,WHILE 循环就将价格加倍,而后选择最高价。
--若是最高价少于或等于 $50,WHILE 循环从新启动并再次将价格加倍。
--该循环不断地将价格加倍直到最高价格超过 $50 USE pubs GO
WHILE (SELECT AVG(price) FROM titles) < $30
BEGIN
UPDATE titles
SET price = price * 2
SELECT MAX(price) FROM titles
IF (SELECT MAX(price) FROM titles) > $50
BREAK
ELSE
CONTINUE
END
---若是平均价格少于 $30,WHILE 循环就将价格加倍,而后选择最高价。
--若是最高价少于或等于 $50,WHILE 循环从新启动并再次将价格加倍。
--该循环不断地将价格加倍直到最高价格超过 $50
USE pubs
GO
WHILE (SELECT AVG(price) FROM titles) < $30
BEGIN
UPDATE titles
SET price = price * 2
SELECT MAX(price) FROM titles
IF (SELECT MAX(price) FROM titles) > $50
BREAK
ELSE
CONTINUE
END
CREATE PROCEDURE au_info
@lastname varchar(40),
@firstname varchar(20)
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
WHERE au_fname = @firstname
AND au_lname = @lastname
GO
EXECUTE au_info 'Dull', 'Ann'--或者
EXECUTE au_info @lastname = 'Dull', @firstname = 'Ann'--建立存储过程CREATE PROCEDURE titles_sum @TITLE varchar(40),@SUM money OUTPUT
AS
SELECT @SUM = SUM(price)
FROM titles
WHERE title LIKE @TITLE
GO
DECLARE @TOTALCOST money
EXECUTE titles_sum 'The%', @TOTALCOST OUTPUT
select @TOTALCOST
go
CREATE PROCEDURE Oakland_authors
AS
SELECT au_fname, au_lname, address, city, zip
FROM authors
WHERE city = 'Oakland'
and state = 'CA'
ORDER BY au_lname, au_fname
GO
--sp_helptext Oakland_authors
ALTER PROCEDURE Oakland_authors
AS
SELECT au_fname, au_lname, address, city, zip
FROM authors
WHERE state = 'CA'
ORDER BY au_lname, au_fname
GO
--sp_helptext Oakland_authors
--提交事务后,全部书籍支付的版税增长 10%。
begin transaction MyTransaction
update roysched
set royalty = royalty * 1.10
commit transaction MyTransaction
--rollback transaction MyTransaction
select royalty from roysched
--select @@trancount
--1.建立试验实验表
create table temptrigger
( id_temp varchar(2) not null primary key,
temp_name varchar(10) null,
temp_age int null)go
insert temptrigger values('01','张三','10')
insert temptrigger values('02','李四','11')
insert temptrigger values('03','王五','12')
insert temptrigger values('04','赵六','11')
select * from temptrigger go
--2.建立insert , update触发器
create trigger temptrigger_modify
on temptrigger
for insert,update
as
begin
if (select temp_age from inserted) > 15
begin
rollback transaction
print '年龄不能超过15岁!'
end
end
--insert temptrigger values('04','大朋','17')
--insert temptrigger values('05','大朋','17')
--insert temptrigger values('05','大朋','14')
--update temptrigger set temp_age='18' where id_temp = '01'
--update temptrigger set temp_age='9' where id_temp = '01'
-3.建立delete 触发器--drop trigger temptrigger_delete
create trigger temptrigger_delete
on temptrigger
for delete
as
begin
print @@rowcount
if @@rowcount > 1
begin
rollback transaction
print '一次删除记录不能多于1条'
end
end
--delete from temptrigger
--delete from temptrigger where id_temp='01'
--建立汇集索引create clustered index clindx_titleid on roysched(title_id)--sp_help roysched
--建立非汇集索引create nonclustered index unclindx_titleid on roysched(title_id)--sp_help roysched
--查看索引统计dbcc show_statistics(roysched,titleidind)
--更新索引统计update statistics authors
--重建索引dbcc dbreindex('roysched',unclindx_titleid)
--删除索引drop index roysched.unclindx_titleid-sp_help roysched
1--建立ssn(社会保险号)的基于varchar的自定义数据类型。
--用于存储11位社会保险号(999-99-999)的列。该列不能
--为null。use pubs exec sp_addtype ssn , 'varchar(11)' , 'NOT NULL'
--查看建立的数据类型--sp_help ssn
--使用建立的数据类型create table mytable( myid varchar(2) primary key, myssn ssn)
4-删除建立的数据类型--drop table mytable--exec sp_droptype ssn
•批是包含一个或多个 Transact-SQL 语句的组,从应用程序一次性地发送到 Microsoft SQL Server 执行。批做为一个总体执行,以GO命令结束。批处理是客户端做为一个单元发出的一个或多个 SQL 语句的集合。每一个批处理编译为一个执行计划。
触发器•触发器是在对表进行插入、更新或删除操做时自动执行的存储过程•触发器一般用于强制业务规则•触发器能够确保数据的完整性和一致性
事务是用户定义的一个操做序列,这些操做要么全作要么全不作,是一个不可分割的工做单位(构成单一逻辑工做单元的操做集合)若是某一事务成功,则在该事务中进行的全部数据更改均会提交,成为数据库中的永久组成部分。
若是事务遇到错误且必须取消或回滚,则全部数据更改均被清除
•锁 是在多用户环境中对数据访问的限制封锁就是事务 T 在对某个数据对象(如表、记录等)操做以前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了必定的控制,在事务T释放它的锁以前,其它的事务不能更新此数据对象。(锁蕴含的基本概念是用户须要对表的排它访问)•从程序员的角度看:分为乐观锁和悲观锁。乐观锁:彻底依靠数据库来管理锁的工做。悲观锁:程序员本身管理数据或对象上的锁处理。
子查询:一个 SELECT 语句嵌套在另外一个 SELECT 语句中。
—索引—是一个数据库对象,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单,而后根据指定的排序次序排列这些指针 —优势提升查询执行的速度。 强制实施数据的惟一性。 提升表之间联接的速度。 缺点 存储索引要占用磁盘空间。数据修改须要更长的时间,由于索引也要更新。
•视图•是一种虚拟表,一般是做为来自一个或多个表 的行或列的子集建立的。•视图本质上讲,就是保存在数据库中的select查询•视图并非数据库中存储的数据值的集合。•对最终用户的好处– 结果更容易理解– 得到数据更容易
•对开发人员的好处– 限制数据检索更容易– 维护应用程序更方便
存储过程•使用一个名称存储的预编译T-SQL语句和流程控制语句的集合•由数据库开发人员或数据库管理员编写
•用来执行管理任务或应用复杂的业务规则 优势•执行速度更快•首次运行时,进行优化和编译获得执行计划并将该计划存储在系统表中,之后直接运行。•实现多个程序共享应用程序逻辑•组件式编程•可以屏蔽数据库的结构,实现更高的安全性
•减小网络流通量
数据库设计和建模必要性•好的数据库结构有利于:-节省数据的存储空间-可以保证数据的完整性-方便进行数据库应用系统的开发•设计很差的数据库结构将致使-数据冗余、存储空间浪费-内存空间浪费
无论数据库的大小和复杂程度如何,能够用下列基本步骤来设计数据库:–收集信息–标识对象–设计数据模型–标识每一个对象 存储的信息类型–标识对象之间的关系
•数据模型是一种标识实体类型及其实体间联系的模型。典型的数据模型由网状模型、层次模型和关系模型。什么是规范化从关系数据库的表中,除去冗余数据的过程称为规范化。—精简数据库的结构—从表中删除冗余的列—标识全部依赖于其它数据的数据
三级范式第一范式的定义: 若是一个表中没有重复组(即行与列的交叉点上只有一个值,而不是一组值),则这个表属于第一范式(常记成1NF)。简而言之:"每一字段只存储一个值"。例如:职工号,姓名,电话号码组成一个表(一我的可能有一个办公室电话 和一个家里电话号码) 第二范式的定义:若是一个表属于1NF,任何属性只依赖于关键字,则这个表属于第二范式(常记成2NF )。简而言之:必须先符合1NF的条件,且每一行都能被惟一的识别。 将1NF转换成2NF的方法是添加主键。学号,课程名,成绩第三范式的定义:若是一个表属于2NF,且不包含传递依赖性,则这个表是第三范式(常记成3NF)。知足3NF的表中不包含传递依赖。简而言之:没有一个非关键属性依赖于另外一个非关键属性。学号,课程号,成绩,学分学号,姓名,所在系,系名称,系地址
什么是类与对象?
所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每个实体都是一个对象,它是一种具体的概念。
类是具有某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来讲,类是一种抽象的数据类型,它是对所具备相同特征实体的抽象。
属性与方法?
不一样对象具备相同特色,就可能抽象为必定的类,那么这些特色基本上能够分为两类,一类是描述对象静态状态的,就是对象的属性,在程序设计中,能够称之为变量;另外一类是描述对象的动做,就是对象的方法,在程序设计中咱们称之为函数。属性和方法是一个对象所具有的两大基本要素,也是咱们后面编程工做的核心。
什么是封装?
只要有足够的方法,就不必直接去操做对象属性,只要调用这些方法就能够实现要完成的任务,这种现象称为封装,它经过对象方法对其属性的操做把对象属性封装在一个对象内部,对象与外界打交道所有经过其自身的方法来实现,有效的把对象属性隐藏在对象内部。
编写 java文件的注意事项?
在记事本中编写java文件,在保存时必定要把文件名和扩展名用双引号括起来,不然将默认保存为文本文件,若是要保存的java 文件名为Program1.java,则在保存时在文件名文本框中必定要输入”Program1.java”。
如何编译java程序?
单击开始|运行命令,在命令行上输入cmd,按回车键(在 window98中输入command,按回车键),便可打开一个命令窗口,将目录转换到编写java源程序所在的目录,输入javac filename.java
如何执行java程序?
一样在命令窗口中输入java filename,
基本数据类型?
Java的数据类型能够划分为4大类:整数,浮点数,字符型,布尔型。其中整数能够划分为:byte,short,int,long.浮点数能够划分为float,double. 程序员

相关文章
相关标签/搜索