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. 程序員

相關文章
相關標籤/搜索