![《Java高級編程》復(fù)習(xí)提綱(小瘋版)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/a7d6f80a-f7c8-4922-b049-7062c4485547/a7d6f80a-f7c8-4922-b049-7062c44855471.gif)
![《Java高級編程》復(fù)習(xí)提綱(小瘋版)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/a7d6f80a-f7c8-4922-b049-7062c4485547/a7d6f80a-f7c8-4922-b049-7062c44855472.gif)
![《Java高級編程》復(fù)習(xí)提綱(小瘋版)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/a7d6f80a-f7c8-4922-b049-7062c4485547/a7d6f80a-f7c8-4922-b049-7062c44855473.gif)
![《Java高級編程》復(fù)習(xí)提綱(小瘋版)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/a7d6f80a-f7c8-4922-b049-7062c4485547/a7d6f80a-f7c8-4922-b049-7062c44855474.gif)
![《Java高級編程》復(fù)習(xí)提綱(小瘋版)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/a7d6f80a-f7c8-4922-b049-7062c4485547/a7d6f80a-f7c8-4922-b049-7062c44855475.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、小瘋版權(quán)所有一、名詞解釋泛型、阻塞、多態(tài)【詳細(xì)版】(1)泛型:所謂泛型,就是允許在定義類、接口、方法時使用類型形參,這個類型形參將在聲明變量、創(chuàng)建對象、調(diào)用方法時動態(tài)地指定(即傳入實際的類型參數(shù),也可稱為類型實參)。(2)阻塞:當(dāng)前正在執(zhí)行的線程被阻塞之后,其他線程就可以獲得執(zhí)行機(jī)會.被阻塞的線程會在合適的時候重新進(jìn)入就緒狀態(tài),也就是說,被阻塞線程的阻塞解除后,必須重新等待線程調(diào)度器再次調(diào)度它。(3)多態(tài):Java引用變量有兩個類型:一個是編譯時的類型,一個是運行時的類型,編譯室的類型由聲明該變量時使用的類型決定,運行時的類型由實際賦給該變量的對象決定。如果編譯時類型不一致,就出現(xiàn)所謂的多態(tài)。
2、【精簡版】(1)泛型:是指參數(shù)化類型(泛化類型)的能力。(2)阻塞:指的是暫停一個線程的執(zhí)行以等待某個條件發(fā)生。(3)多態(tài):指允許不同類的對象對同一消息作出響應(yīng)?!九e例版】(1)泛型:如果聲明為List<String> list= new ArrayList<String>,那么集合中只允許包含String類型的對象。(2)阻塞:如果在高速公路上堵車(阻塞),那么只能等前面的車通了之后才能繼續(xù)行走。(3)多態(tài):例如方法為動物的叫聲,如果傳入的參數(shù)是狗,那么就調(diào)用狗的叫聲;如果傳入的參數(shù)是貓,那么就調(diào)用貓的叫聲。二、簡答題(每題10分,共20分)1、請說明”=”和Obje
3、ct類的equals方法和hashcode方法的作用,并實現(xiàn)一個學(xué)生類,讓學(xué)生的姓名和年齡相等則兩個學(xué)生對象是相等的。(1)=:比較兩個對象是否相等,即比較對象在內(nèi)存中的首地址;如果在基本數(shù)據(jù)類型中則是比較內(nèi)容是否相等。(2)equals方法:比較對象的內(nèi)容是否相等(需要重寫)。(3)hashCode方法:比較對象的返回的哈希碼是否相等(需要重寫)。public int hashCode() return .hashCode();public boolean equals(Object o) if (this = o) return true;if (o instanceof
4、 StudentEqualsHash) StudentEqualsHash s = (StudentEqualsHash) o;if(s.getNumber().equals(this.number) && s.getAge() = this.age) return true;return false;2、 請使用簡單代碼說明創(chuàng)建線程的三種方式,并說明它們的優(yōu)缺點。(1)繼承Thread類:不能再繼承其他父類,編寫簡單。public class ThreadTest extends Thread public void run() System.out.println(&quo
5、t;Thread");public static void main(String args) new ThreadTest().start();(2)實現(xiàn)Runnable接口:可以繼承其他類,編程稍稍復(fù)雜。public class RunnableTest implements Runnable public void run() Sys("Runnable");public static void main(String args) Runnable r = new RunnableTest();new Thread(r).start();(3)實現(xiàn)Calla
6、ble接口:可以繼續(xù)其他類,還可以有返回值類型,編程稍稍復(fù)雜。public class CallableTest implements Callable<String> public String call() return "Callable"public static void main(String args)CallableTest c = new CallableTest();FutureTask<String>f=newFutureTask<String>(c);new Thread(f).start();Sys(f.get(
7、);/ 阻塞方法3. 請說明線程的狀態(tài)及其轉(zhuǎn)換,并說明線程控制相關(guān)如下方法的作用,join,yield, sleep, interrupt.(2)線程控制的方法:join:調(diào)用線程將被堵塞,直到被加入的join線程執(zhí)行完為止。sleep:讓當(dāng)前正在執(zhí)行的線程暫停一段時間,并進(jìn)入堵塞狀態(tài)。yield:類似sleep,讓當(dāng)前正在執(zhí)行的線程暫停,但轉(zhuǎn)入就緒狀態(tài)而不是堵塞狀態(tài)。interrupt:讓線程立即從堵塞狀態(tài)轉(zhuǎn)入InterruptedException異常處理流程,再到就緒狀態(tài)。說明線程同步的概念:同步代碼塊和同步方法、釋放同步鎖、同步鎖、死鎖,請對account的取錢線程進(jìn)行調(diào)試,理解說明上
8、述概念。(1)同步代碼塊:Synchronized(obj) /此處為同步代碼塊 obj是同步監(jiān)視器,通常推薦使用可能被并發(fā)訪問的共享資源充當(dāng)同步監(jiān)視器(例如模擬取錢中的賬戶)(2)同步方法:用Synchronized關(guān)鍵字修飾的方法(3)釋放同步鎖:多種途徑,如lock.unlock(); /解鎖(4)同步鎖:private final ReentrantLock lock = new ReentrantLock(); /定義鎖對象lock.lock(); /加鎖(5)死鎖:當(dāng)兩個線程相互等待對方釋放同步監(jiān)視器時就會發(fā)生死鎖。5、線程的生命周期: 請對照ppt中對線程生命周期的圖,結(jié)合相關(guān)方
9、法說明線程有哪些狀態(tài),從一種狀態(tài)轉(zhuǎn)到另一種狀態(tài)可以通過什么方法或方式,請使用word進(jìn)行文字說明(參考ppt)(1) 線程的狀態(tài):新建、就緒、運行、阻塞、死亡(2)線程的狀態(tài)轉(zhuǎn)換:新建狀態(tài) Thread t = new Thread(task);新建狀態(tài)轉(zhuǎn)入就緒狀態(tài)t.start();就緒狀態(tài)轉(zhuǎn)入運行狀態(tài)得到處理器資源,開始執(zhí)行run方法線程執(zhí)行流,則該線程處于運行狀態(tài)。運行狀態(tài)轉(zhuǎn)入死亡狀態(tài) a.run或call方法執(zhí)行完成,線程正常結(jié)束;b.線程拋出一個未捕獲的異常;c.調(diào)用該線程對象的stop方法(不提倡)。運行狀態(tài)轉(zhuǎn)入阻塞狀態(tài)a.線程調(diào)用sleep方法主動放棄占用的系統(tǒng)資源;b.線程調(diào)用
10、一個阻塞式IO方法,在該方法返回之前,該線程被阻塞;c.線程試圖獲得一個同步監(jiān)視器,但更改同步監(jiān)視器正被其他線程所持有(可使用synchronized關(guān)鍵字避免);d.線程在等待某個通知(object.wait);e.線程調(diào)用了其他線程的join方法將等待其他線程執(zhí)行完畢,然后執(zhí)行該線程。阻塞狀態(tài)轉(zhuǎn)入就緒狀態(tài)(對照修改:運行轉(zhuǎn)入阻塞)a.線程調(diào)用sleep方法時間到,轉(zhuǎn)入就緒狀態(tài);b.線程調(diào)用一個阻塞式IO方法,在該方法返回之后,轉(zhuǎn)入就緒狀態(tài);c.線程成功獲得一個同步監(jiān)視器,轉(zhuǎn)入就緒狀態(tài);d.線程在獲得某個通知(object.notify/notifyAll),轉(zhuǎn)入就緒狀態(tài);e.線程處于sle
11、ep、wait、join方法的阻塞狀態(tài)時,外部調(diào)用該線程的interrupt方法后,該線程立即從阻塞狀態(tài)轉(zhuǎn)入InterruptedException異常處理流程-就緒狀態(tài)。6、 關(guān)于對象比較的兩個接口:一是Comparable,二是Comparator分別說明這兩個接口方法的說明,對象大小相等與對象equals有什么區(qū)別(1)Comparable:在內(nèi)部類使用,需要重寫compareTo方法,返回值為int,例如:public int compareTo(StudentComparable student) return pareToIgnoreCase(student.getNumber()
12、;使用Collections.sort()時直接傳遞相對應(yīng)的集合即可,不需要在傳遞比較器。例如:Collections.sort(StudentList);(2)Comparatro:在外部類使用,需要重寫compare方法,返回值為int,例如:public int compare(Student s1, Student s2) return s1.getNumber().compareTo(s2.getNumber();使用Collections.sort()需要傳遞集合和比較器。例如:Collections.sort(PersonList, new PersonComparator();
13、Comparator也可以在下面兩種環(huán)境下使用:類的設(shè)計者沒有考慮到比較問題而沒有實現(xiàn)Comparable,可以通過Comparator來實現(xiàn)排序而不必改變對象本身;可以使用多種排序標(biāo)準(zhǔn),如升序、降序等。(3)與equals區(qū)別:equals只是比較是否相等;而以上兩個接口是比較大小,而且能排序。7、分別建立HashSet和TreeSet的學(xué)生類集合代碼請參考老師提供的集合源碼collection包7.1對學(xué)生類不覆蓋equals、hashCode方法,在向HashSet集合中增加不同和相同學(xué)生對象時是什么效果,只覆蓋其中一個方法呢?兩個都覆蓋呢(1) 任何情況下(覆蓋equals、hashC
14、ode與否),都不能重復(fù)增加地址相同的學(xué)生對象。(2)只有同時覆蓋equals和hashCode方法,才能不重復(fù)增加內(nèi)容相同的學(xué)生對象。7.2對學(xué)生類不實現(xiàn)Comparable接口,不覆蓋equals、hashCode方法,在向TreeSet集合中增加不同和相同學(xué)生對象時是什么效果?實現(xiàn)了呢,覆蓋了呢?(1) 實現(xiàn)Comparable接口,不會增加內(nèi)容相同的學(xué)生對象。(2)不實現(xiàn)Comparable接口時,必須向TreeSet集合提供一個Comparator比較器,否則程序會報異常,最終效果與實現(xiàn)Comparable一樣。(3)覆蓋equals、hashCode方法與否不影響結(jié)果。9.請使用J
15、DBC給出如下主要過程相關(guān)的代碼:1)建立與MySql數(shù)據(jù)庫(ip:, port:3306, DataBase: studentdb; 用戶名:student, 密碼:student)的連接;Class.forName("com.mysql.jdbc.Driver");DriverManager.registerDriver(new com.mysql.jdbc.Driver();Connection con = java.sql.DriverManager.getConnection("jdbc:mysql:/:3306/st
16、udentdb", "student", "student");2) 創(chuàng)建語句對象;Statement stmt = con.createStatement();3) 使用語句對象執(zhí)行刪除表student中id字段值為1的記錄;stmt.executeUpdate("delete from student st where st.id = '1'");4) 使用語句對象執(zhí)行查詢表student中name字段值等于“張三”的記錄,并遍歷打印輸出name字段的值ResultSet rs = stmt.execut
17、eQuery("select * from stduent st where = '張三'");while (rs.next() int id = rs.getInt(1);String name = rs.getString(2);System.out.println("id=" + id + ",name=" + name);5) 釋放相關(guān)資源。Closeall;10、UDP編程1)說明UDP協(xié)議與TCP協(xié)議的區(qū)別,說明在java在上述協(xié)議實現(xiàn)中連接和數(shù)據(jù)傳輸方面的不同;(1)TCP:面向連接、傳輸
18、可靠(保證數(shù)據(jù)正確性和順序)、用于傳輸大量數(shù)據(jù)(流模式)、速度慢、建立連接需要開銷較多(時間、系統(tǒng)資源);(2)UDP:面向無連接、傳輸不可靠、用于傳輸少量數(shù)據(jù)(數(shù)據(jù)包模式)、速度快。2)編程說明udp如何發(fā)送數(shù)據(jù);InetAddress -BufferedReader -msg=null;-while(msg=localReader.readLine()!=null)byte by=msg.getBytes();DatagramPacket(by,by.length,remoteIP,remotePort);socket.send(by); 3) 編程說明udp如何接受數(shù)據(jù);Datagram
19、Packet(new byte512,512);-socket.receive(inputPacket);-System.(new String(p2.getData(),0,p2.getLength(); if(msg.equals("bye")break; 4) 請說明DatagramSocket與DatagramPacket的常用屬性作用。DatagramPacket表示存放數(shù)據(jù)的數(shù)據(jù)報;DatagramSocket表示接受或發(fā)送數(shù)據(jù)報的套接字。11、TCP編程1)使用ServerSocket和socket類完成從客戶端發(fā)送一行字符串給服務(wù)器,服務(wù)器接收后再發(fā)回同樣一
20、行字符串給客戶端,請參考Server.java和Client.javapublic class Server public static void main(String args) Socket s = new ServerSocket(60000).accept();System.out.println("服務(wù)器啟動成功!");BufferedReader local-BufferedReader br(s.getInputStream);-PrintStream ps = (s.getOutputStream)- msg= null;-while (br.Line()
21、 != null) ps.println(msg);Sys("來自服務(wù)器的消息:" + br.readLine();Closeall;public class Client public static void main(String args) Socket s = new Socket("", 60000);BufferedReader local-BufferedReader br(s.getInputStream);-PrintStream ps = (s.getOutputStream)- msg= null;-while (
22、br.Line() != null) ps.println(msg);Sys("來自服務(wù)器的消息:" + br.readLine();Closeall;2) 請參考上述代碼編碼完成:從客戶端發(fā)送一個double數(shù)據(jù)、一個文本文件、一個java對象(Student)給服務(wù)器端,分別在服務(wù)器端打印、另存文件和讀取對象/ 發(fā)送double數(shù)據(jù)class Server1 public static void main(String args) Socket s = new ServerSocket(25001).accept();DataInputStream dis = (s.g
23、etInputStream();Sys(dis.readDouble();Closeall;class Client1 public static void main(String args) Socket s = new Socket("", 25001);DataOutputStream dos = (s.getOutputStream();dos.writeDouble(3.14);Closeall;/ 發(fā)送文本文件class Server2 public static void main(String args) Socket s = new Se
24、rverSocket(25002).accept();InputStream is = s.getInputStream();FileOutputStreamfos=new("C:/java2.txt");byte buff = new byte64;int hasRead = 0;while (hasRead = is.read(buff) > 0) fos.write(buff, 0, hasRead);fos.flush();/ 清理緩存區(qū)Closeall;class Client2 public static void main(String args) So
25、cket s = new Socket("", 25002);FileInputStream fis = new ("C:/java1.txt");OutputStream os = s.getOutputStream();byte buff = new byte64;int hasRead = 0;while (hasRead = fis.read(buff) > 0) os.write(buff, 0, hasRead);os.flush();/ 清理緩存區(qū)Closeall;/ 發(fā)送對象(省略Student類)class Se
26、rver3 public static void main(String args) Socket s = new ServerSocket(25003).accept();ObjectInputStreamois=new(s.getInputStream();Student st = (Student) ois.readObject();Sys();Closeall;class Client3 public static void main(String args)Socket s = new Socket("", 25003);Student stud
27、ent = new ("1301", "李奕鋒", 20);ObjectOutputStreamoos=new(s.getOutputStream();oos.writeObject(student);Closeall;12、完成以文件為例的FileInputStreamFileOutputStream使用,請針對PC上的某一文件(請分別選一個java文件和一個圖片文件)進(jìn)行讀取,然后寫到另一個新建的文件中,檢查新建的文件是否可以正常打開public class FileStreamTest public static void main(String
28、args)/ java文件(可以正常打開)FileInputStream fis1 = new FileInputStream("C:/HelloWorld1.java");FileOutputStream fos1 = new FileOutputStream("C:/HelloWorld2.java");byte bbuf = new byte1024;int hasRead = 0; while (hasRead = fis1.read(bbuf) > 0) fos1.write(bbuf, 0, hasRead);/圖片文件(無法正常打開)
29、FileInputStream fis2 = new FileInputStream("C:/java1.jpg");FileOutputStream fos2 = new FileOutputStream("C:/java2.jpg");hasRead = 0; while (hasRead = fis2.read(bbuf) > 0) fos2.write(bbuf, 0, hasRead);Closeall;13、請在word文檔中說明流的三種分類標(biāo)準(zhǔn),寫出典型的節(jié)點流和處理流,并說明處理流與節(jié)點流的一般編程方式(1)按流的方向:輸入流和輸出
30、流輸入流:只讀不寫,主要由InputStream和Reader作為基類;輸出流:只寫不讀,主要由OutputStream和Writer作為基類。(2)按流所操作的數(shù)據(jù)單元不同:字節(jié)(byte)流和字符(char)流字節(jié)流:8位的字節(jié),主要由InputStream和OutputStream作為基類;字符流:16位的字符,以Reader和Writer作為基類。(3)按流的功能角色:節(jié)點流和處理流節(jié)點流:可以從一個特定的IO設(shè)備讀/寫數(shù)據(jù)的流,使用節(jié)點流使程序直接連接到實際的數(shù)據(jù)源,節(jié)點流也叫低級流。典型:FileInputStream / FileOutputStream、FileReader /
31、 FileWriter;處理流:用于的對一個已存在的流進(jìn)行連接或封裝,通過封裝后的流來實現(xiàn)讀/寫功能,處理流也叫高級流(包裝流)。典型:BufferedInputStream / BufferedOutputStream、PrintStream / PrintWriter、BufferedReader / BufferedWriter、InputStreamReader / OutputStreamWriter使用處理流時的典型思路是,使用處理流包裝節(jié)點流,程序通過處理流來執(zhí)行輸入/輸出功能,讓節(jié)點流與底層I/O設(shè)備、文件交互。(優(yōu)勢:簡單高效)三、綜合題(每題20分,共80分)1.請說明ja
32、va反射技術(shù)所涉及的相關(guān)類,開發(fā)一個student類,包括含兩個參數(shù)name和age的構(gòu)造函數(shù)及set/get方法、實現(xiàn)含有一個run(Double speed)方法的RunInterface接口,分別說明如何使用反射技術(shù)從獲得Student類信息、創(chuàng)建Student類實例和調(diào)用Student類實例的run方法(注:使用new及直接方法調(diào)用不能得分)public interface RunInterface abstract void run(double speed);public class Studentimplements RunInterface private String nam
33、e;private int age;/ 此處省略Student 的有參方法/ 此處省略name和age的get和set方法public void run(double speed) System.out.println(speed);public static void main(String args)Class clazz = Student.class;Constructor constructor = clazz.getConstructor(String.class, int.class);Object object = constructor.newInstance("l
34、iyfieng", 20);Method method = clazz.getMethod("run", double.class);method.invoke(object, 3.14);2. 請給出java輸入輸出流的分類方式及其特點,并使用圖或者表的方式說明其相關(guān)類或接口的分類情況。然后給出如下代碼:對一個可序列化類Person和相關(guān)的輸入輸出流將其進(jìn)行序列化保存到文件(c:/myobj.data),然后反序列化從文件讀取到內(nèi)存。輸入輸出流的分類方式及其特點請看上面第13題public class Person implements Serializable
35、 private String name;private int age;/ 此處省略Person 的有參方法/ 此處省略name和age的get和set方法public class MyObj public static void main(String args)String filePath = "C:/myobj.data"Person person = new Person("liyifeng", 20);ObjectOutputStream oos = new (new FileOutputStream(filePath);ObjectInp
36、utStream ois = new (new FileInputStream(filePath);oos.writeObject(person);Person p = (Person) ois.readObject();Syst("name="+p.getName()+",age="+p.getAge();Closeall;3.說明線程同步的概念,針對一個銀行賬戶對象account,如何分別使用同步代碼塊和同步方法來完成多線程正確取錢行為,請分別實現(xiàn)上述兩種代碼。(1)同步代碼塊public class AccountDrawThread extend
37、s Thread private Account account;private double drawAmount;/ 此處省略AccountDrawThread 的有參方法(String name, Account account, double drawAmount)public void run() synchronized (account) if (account.getBalance() >= drawAmount) Sys(getName()+"成功!吐出鈔票:"+drawAmount);account.setBalance(account.getBa
38、lance() -drawAmount);Sys("余額為:"+ account.getBalance(); else Sys(getName()+"失敗,余額不足!");public static void main(String args) Account user = new Account("1301030060", 500);new AccountDrawThread("liyifeng", user, 100).start()class Account private String accountNo;
39、private double balance;/ 此處省略Account 的有參方法/ 此處accountNo和balance的set和get方法public int hashCode() return accountNo.hashCode();public boolean equals(Object obj) if (this = obj)return true;if (obj!=null&&obj.getClass()=Account.class) Account target = (Account) obj;Returntarget.getAccountNo().equa
40、ls(accountNo);return false;(2) 同步方法public class NewAccount privateStringaccountNo;privatedoublebalance;/ 此處省略NewAccount 的有參方法/ 此處省略accountNo的set和get方法,balance的get方public int hashCode() return accountNo.hashCode();public boolean equals(Object obj) if (this = obj)return true;if (obj!=null&&obj
41、.getClass()=NewAccount.class) NewAccount target = (NewAccount) obj;return target.getAccountNo().equals(accountNo);return false;public synchronized void draw(double drawAmount) if (balance >= drawAmount) Sys(Thread.currentThread().getName() + "成功!吐出鈔票:" + drawAmount);balance -= drawAmoun
42、t;Sys("余額為:" + this.balance);else Sys(Thread.currentThread().getName() + "失敗,余額不足");public static void main(String args) NewAccount user = new NewAccount("1301030060", 500);user.draw(123.45);3. 請使用jdbc和SQL語法完成如下任務(wù),其中studentId、courseId不能為空,并為學(xué)生表的studentName及課程表中的courseNa
43、me建立索引(20分):1)創(chuàng)建學(xué)生表(字段:邏輯主鍵id,學(xué)號studentId,姓名studentName,年齡age,性別sex-0標(biāo)示女生-1標(biāo)示男生)和課程表(字段:邏輯主鍵id,課程編號courseId,課程名稱courseName)/ 創(chuàng)建學(xué)生表stmt.executeUpdate("create table student("+ "id int auto_increment primary key,"+ "studentId varchar(10) not null,"+ "studentName varch
44、ar(100),"+ "age int, sex int, unique (studentId);");stmt.executeUpdate("create index studentNameIndex on student (studentName);");/ 創(chuàng)建課程表stmt.executeUpdate("create table course("+ "id int auto_increament primary key,"+ "courseId varchar(10) not null,
45、"+ "courseName varchar(25), unique(courseId);")stmt.executeUpdate("create index courseNameIndex on course (courseName);");2) 創(chuàng)建成績表(字段:邏輯主鍵id,學(xué)生st_fk,課程course_fk,成績score-百分制,考試標(biāo)志0標(biāo)示正常-1標(biāo)示補(bǔ)考-2標(biāo)示重考-3標(biāo)示畢業(yè)大補(bǔ)考),其中的學(xué)生引用列和課程引用列加入外鍵約束。/ 創(chuàng)建成績表stmt.executeUpdate("create table scor
46、e("+ "id int auto_increament primary key,"+ "st_fk, course_fk, score double, type int,"+ "constraint st_score_fk foreign key (st_fk) + "references student (id),"+ "constraint course_score_fk foreign key (course_fk) "+ "references course (id);");3) 請分別使用等值連接查詢和學(xué)生表左連接查詢查出學(xué)生課程的成績記錄,并說明這兩種查詢有什么區(qū)別。區(qū)別:等值連接會在連接條件中使用等于號(=)運算符比較被連接列的列值,其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年別墅裝潢合同正規(guī)化范例
- 2025版企業(yè)市場營銷合作協(xié)議策劃標(biāo)準(zhǔn)模板
- 2025年企業(yè)辦公耗材租賃合同范本
- 2025年產(chǎn)品開發(fā)合同規(guī)定
- 2025年乘用車銷售協(xié)同協(xié)議
- 2025年嚴(yán)格版租賃建筑工具合同示例
- 2025年采購合同優(yōu)化談判共識
- 2025年餐廳盈利與廚師股份策劃掛鉤協(xié)議范本
- 2025年嘉興從業(yè)資格證貨運考試答案
- 2025年大學(xué)生畢業(yè)實習(xí)與就業(yè)意向協(xié)議
- 2025年湖南工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 智能RPA財務(wù)機(jī)器人開發(fā)教程-基于來也UiBot 課件 第1章-機(jī)器人流程自動化概述
- 2024-2025學(xué)年天津市河?xùn)|區(qū)高一上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含答案)
- 信永中和筆試題庫及答案
- 甲流乙流培訓(xùn)課件
- 《視網(wǎng)膜靜脈阻塞》課件
- 2025《省建設(shè)工程檔案移交合同書(責(zé)任書)》
- 春季安全教育培訓(xùn)課件
- 《大學(xué)英語1》期末考試試卷及答案(專科)
- 《石油鉆井基本知識》課件
- 《ZN真空斷路器》課件
評論
0/150
提交評論