




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 异常 1.异常的概念 2.异常处理的方法 3.java的异常类 4.异常处理 5.自定义异常的实现6.断言,1.异常的概念 由于硬件错误,资源耗尽以及输入错误的数据等,都可能导致程序运行时异常的产生.异常是运行时的错误.异常产生时会中断指令的正常执行.java异常是java提供的用于处理程序中错误的一种机制.所谓错误是在程序的运行过程中产生的一些异常事件.如:除0,数组下标越界,所要读取的文件不存在等. 设计良好的程序都应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果,保障程序的键壮性.对于异常首先应该预计到所有可能出现的情况,然后考虑能否完
2、全避免异常.如果不能完全避免再考虑异常发生时的具体处理办法. java程序在执行过程中如出现异常事件,可以生成一个异常对象,该异常对象封装了异常的信息。并提交给java运行时环境,这个过程称为抛出(throw)异常,当java运行时环境接收到异常对象时,会寻找能处理这一异常对象的代码,并把当前异常对象交给其处理,这一过程称为捕获(catch)异常.,java默认处理异常的方式为直接把异常对象包装的信息打印到命令行上.当异常发生时注意观察错误的名字和行号.1.public class FirstException2.3.public static void main(String args)4.
3、int a = 2/0;5.System.out.println(a=+a);6.7.1.public class TestException2.3.public static void main(String args)4.int arr = 1,2.,3;5.System.out.println(arr3);6.7.运行上面的程序看也java也错的机制.,2.异常处理的方法当异常发生时,有两种处理方式:a. 捕获 b. 异常抛出a. 捕获.try-catch当异常发生时,通过异常的捕获可以来对发生的异常进行处理.try-catch方法:try可能出现异常的代码catch(异常类型1 异常引
4、用)异常类型1的处理代码.catch(异常类型n 异常引用)异常类型n的处理代码,注:1.try语句只能有一个,而catch语句块则可以有任意多个.catch语句块紧跟在try语句块之后,而且catch语句块必须相互紧跟,它们之间不能有任何代码. 2.当在try语句块中发生异常时,程序将停止继续往下执行.系统会把它封装成一个异常类对象,并把它交给catch语句块(进入语句块)相对应的异常类型的异常引用进行处理.如果没有异常发生,程序正常运行不会进入任何一个catch语句块.b. 异常抛出. 不是所有异常在其产生的位置都能立即进行处理(没有捕获到或处理不了) 异常抛出分为:显性再抛出和隐性再抛出
5、将catch语句捕获的异常再次抛出,称为显性再抛出.如果只想把收到的异常再抛出,不必使用显性再抛出,使用隐性再抛出,只要在方法后用throws语句,方法内不用处理任何异常.,两者异同: 1.) 若抛出的是捕获异常,隐性与显性再抛出都必须在方法声明中明确声明. 2.) 显性再抛出是在方法体中使用throw语句将产生的异常抛出. 3.) 隐性再抛出是在方法体中没有任何抛出异常的语句,若产生异常将自动抛出.3.java的异常类 java类库中有一个java.lang.Throwable类,是所有异常类的超类.Throwable类有两个直接子类,Error与Exception类,Exception类有
6、一个子类RuntimeException.其中Exception类的直接或间接子类,除去RuntimException类的直接或间接子类,称为捕获异常(必须处理的异常),其他的都为未捕获异常.ThrowableError Exception.(未捕获异常) RuntimeException .(捕获异常).(未捕获异常),a.捕获异常(必须处理的异常) 捕获异常一般是由外界因素产生的,即使程序本身没有问题,也有可能产生(也可能恢复),在开发时必须考虑如何处理,否则编译不通过.b. 未捕获异常(不用处理的异常) 除了捕获异常以外的部分都是未捕获异常,即Error类及其子类以及RuntimeExc
7、eption类及其子类. 继承自Error的类一般代表由硬件运行失败导致的严重错误,而其从严格意义上讲,不属于异常,一般来讲,程序不能从Error中恢复。而RuntimeException类的子类通常是指一些程序运行时错误引起的异常,所以也可以不对其进行处理.,4.异常处理 4.1 try-catch1.public class FirstException 2.3.public static void main(String args) 4.5. a = 2/0;7.System.out.println(a=+a);8.int ar = null;9.System.out.p
8、rintln(ar.length);10.catch(ArithmeticException ae)11.ae.printStackTrace();12.catch(NullPointerException np)13.np.printStackTrace();14.catch(Exception e)15.e.printStackTrace();16.17.18.,1.import .*;2.import java.io.*;3.public class CatchException4.5.public static void main(String args) 6.7.try8.Serve
9、rSocket ss = new ServerSocket(8888);9.int i= 2/0;10.catch(Exception ie)11.ie.printStackTrace();12.13.14.,4.2 try-catch-finally1.public class TestFinally 2.3.public static int get()4. a =2/0;6.System.out.println(try语句);7.return 1;8.catch(Exception e)9.e.printStackTrace();10.System.out.println
10、(catch语句);11.return 2;12.finally13.System.out.println(finally语句);14.return 3;15.16./System.out.println(try-catch外语句);17.18.19.public static void main(String args) 20.21.System.out.println(get();22.23.,4.3 throw/throws1.public class ThrowException 2.3.public static void c()4.int a = new int3;5.a8 = 1
11、2;6.7.8.public static void b()9.c();10.11.12.public static void a()13.try14.b();15.catch(ArrayIndexOutOfBoundsException ai)16.ai.printStackTrace();17.18.19.,20.public static void main(String args) 21.22.a();23.System.out.println(程序正常执行!);24.25.1.public class ThrowException12.3.public static void b()
12、 throws ArrayIndexOutOfBoundsE a = new int3;6.a8 = 12;7.catch(ArrayIndexOutOfBoundsException ai)8.throw ai;/显性抛出异常9.10.11.,12.public static void a()13.try14.b();15.catch(RuntimeException re)16.re.printStackTrace();0.public static void main(String args) 21.22.a();23.System
13、.out.println(程序正常执行!);24.25.,1./如果只是想把收到的异常再抛出,不必使用显性再抛出,使用2./隐性再抛出(比显性再抛出简单,效果是相同的)3./对于捕获异常,显性和隐性都必须在方法声明中明确声明4./显性再抛出,用throw语句,隐性再抛出方法体中没有任何抛出异常的语句5./产生的异常自动抛出6.import .*;7.import java.io.*;8.9.public class ThrowException2 10.11.public static void myFunction() throws IOException12.ServerSocket ss
14、 = new ServerSocket(8888);13.14.,15.public static void main(String args) 16.17.try18.19.myFunction();20.21.catch (IOException e)22.23.e.printStackTrace();24.25.System.out.println(程序正常运行结束!);26.27.,1./方法重写,要求重写后的方法一定不能声明抛出新的捕获异常或比原方法范畴更广的捕获异常2.class Father 3.4.public void myFunction() throws Exceptio
15、n5.System.out.println(父类抛出exception异常);.class Son extends Father10.11.public void myFunction() throws InterruptedE a = null;13.System.out.println(a.length);14.System.out.println(子类抛出interruptedException);15.16.17.,18.public class OverWriteException19.20.public static void main(S
16、tring args) throws Exception21.Father f = new Son();22.f.myFunction();23.24.5.自定义异常的实现1./自定义的异常可以继承自exception或其它的捕获异常类2.class AgeException extends Exception3.4.public AgeException()5.6.public AgeException(String msg)7.super(msg);8.9.10.,11.public class Person12.13.private int age;14.15.public int ge
17、tAge()16.return this.age;17.18.19.public void setAge(int age) throws AgeException20.if(age=0)21.throw new AgeException(年龄不能小于等于零!);,22.else23.this.age = age;7.public static void main(String args)28.Person p = new Person();29.try30.p.setAge(100);31.catch(Exception ae)32.ae.printStackTrace()
18、;33.34.35.,6.断言 断言其设计初衷是为程序的开发与测试提供方便,在程序的测试过程中验证程序本身逻辑的正确性.Assert 逻辑表达式:”xxxx”;1./assert后的逻辑表达式为True执行后面的语句2./为False不会执行后面语句,会抛出AssertionError异常,同时会打印3./信息表达式的值4./J2SE1.4以前是没有断言的5./java -ea 文件名6./ea表示enableassertions7.public class TestAssert 8.9./*,10.public int myFunction(int i)11.if(i0)12.System.
19、out.println(程序逻辑出错,该值应该为正数!);13.return null;14.else15.return new inti;16.17.18.*/19.,20.public int myFunction(int i)21.assert (i0):程序逻辑出错,该值应该为正数!;22.return new inti;23.24.25.public static void main(String args) 26.27.TestAssert t = new TestAssert();28.t.myFunction(-10);29.30.,第七章 java.lang包 1.java.
20、lang包简介 2.封装类 3.String/StringBuffer4.Math 5.Object 6.System,1.java.lang包简介 java.lang包是java最广泛使用的包,它会被系统自动导入到所有的程序中.2.封装类 为什么引用封装类:基本数据类型与对象之间是截然不同的,不能将基本数据类型的数据当作对象进行处理。但在很多情况下希望将基本数据类型数据当作对象使用. 封装类对象永不可变,不能被继承. 封装类提供以下两个方面的功能: a. 将基本数据类型封装后当作对象进行操作. b. 为基本数据类型提供各种转换功能.,基本数据类型与封装类基本类型 封装器类 构造器boolea
21、n Boolean Boolean(String s)或Boolean(boolean value)byte Byte Byte(String s)或者Byte(byte value)char Character Character(char value)short Short Short(String s)或者Short(short value)int Integer Integer(String s)或者Integer(int value)long Long Long(String s)或者Long(long value) float Float Float(String s)、Float
22、(float value)或者Float(double value)double Double Double(String s)或者Double(double value),数据转换功能: 基本数据类型值转换为字符串:1.非静态转换方法:无参toString() 2.静态转换方法:有参静态toString方法.静态转换字符串方法:静态方法 Boolean Byte Character Short Integer Long Float DoubletoString(xxx) 有 有 有 有 有 有 有 有toString(xxx,sss) 有 有toBinaryString(xxx) 有 有to
23、OctalString(xxx) 有 有toHexString(xxx) 有 有 有 有,字符串转换为基本数据类型值:1.非静态转换方法:xxxValue系列方法 2.静态转换方法:parsexxx方法xxxValue方法:方法 Boolean Byte Character Short Integer Long Float DoublebyteValue 有 有 有 有 有 有 shortValue 有 有 有 有 有 有intValue 有 有 有 有 有 有longValue 有 有 有 有 有 有floatValue 有 有 有 有 有 有doubleValue 有 有 有 有 有 有b
24、ooleanValue 有 charValue 有,静态parseXXX方法:静态方法 Boolean Byte Character Short Integer Long Float Double parseXXX(String s) 有 有 有 有 有 有 有 parseXXX(String s,int i) 有 有 有 有 其化常用方法:1.静态工厂方法:除了new创建封装类外,还可以用静态工厂方法valueOf,valueOf静态工厂方法:方法 Boolean Byte Character Short Integer Long Float DoublevalueOf(xxx) 有 有 有
25、 有 有 有 有 有valueOf(String s) 有 有 有 有 有 有 有valueOf(String s,int i) 有 有 有 有,自动打包:可以直接将基本数据类型的值当作封装类对象使用.1.public class TestPacket2. static void show(Integer i)3. System.out.println(接收Ingeter封装对象的数值为:+i.toString();4. 5. public static void main(String args)6. show(1000);/show(new Integer(1000);7. 8.,自动解包
26、:可以直接将封装对象赋值给基本的数据类型的变量.1.public class TestWiz2. public static void main(string args)3. Integer x = new Integer(1000);4. int i = x+500;/int i = Value()+500;5. System.out.println();6. 7.,3.String/StringBufferA. String类a.字符串的创建:1.String str = xxx; 2.String str = new String(参数列表);1.public class Te
27、stString2. public static void main(String args)3. String s1 = core java;/字符串简单创建方式4. String s2 = new String(core java); /标准new创建方式5. String s3 = ;/也是一个字符串,只是字符串没有内容.6. String s4 = null;/null代表没有对象7. System.out.println(s1+*+s2+*+S3+*+s4);8. 9.,b. 常用构造器public String(byte bytes)public String(byte bytes
28、,int offset,int length)public String(byte bytes,Stirng charsetName) throws UnsupportedEncodingExceptionpublic String(char value)public String(char value,int offset,int count)public String(String original)public String(StringBuffer buffer),1.public class TestStringConstructor2. public static void mai
29、n(String args)3. String s1 = java核心技术大全;4. String s2 = new String(s1.getBytes(),iso8859_1);5. System.out.println(将s1转换为iso8895_1编码格式,结果为:+s2);6. String s3 = new String(s2.getBytes(iso8859_1),gb2312);7. System.out.println(将s1再转换为gb2312编码格式,结果为:+s3);8. 9.,c. 重要方法:public char charAt(int index)public by
30、te getBytes()public byte getBytes(String charsetName) throws UnsupportedEncodingExceptionpublic boolean equals(Object anObject)public boolean equalsIgnoreCase(String anotherString)public boolean endsWith(String suffix)public int indexOf(int ch)public int indexOf(String str)public String substring(in
31、t beginIndex),public String substring(int beginIndex,int endIndex)public String concat(String str)public String replace(char oldChar,char newChar)public String replace(CharSequence target,CharSequence replacement)public String split(String regex)public String trim()public String toString()public cha
32、r toCharArray()public static String valueOf(参数列表),1.public class TString 2.3.public static void main(String args) throws Exception4.5.String ss = java core_java;6.char c = ss.charAt(3);7.System.out.println(c);8.String re = ss.concat(.java);9.System.out.println(re);/java core_java.java10.boolean bo =
33、 re.endsWith(.java);11.System.out.println(bo);12.byte by = re.getBytes();13.int i = re.indexOf(a);,14.System.out.println(i);15.int ii = re.indexOf(core);16.System.out.println(ii);17.String sr = re.replace(a,b);18.System.out.println(sr);19.String sa = re.split(.);20.for(String obj:sa)21.System.out.pr
34、intln(obj);22.23.String sub = re.substring(6, 10);24.System.out.println(sub);25.String st = re.trim();26.System.out.println(st);27.String sd = String.valueOf(26.5);28.System.out.println(sd);29.30. ,d. String对象的内存机制1.public class TestString 2.3.4.public static void main(String args) 5.6.String s1 =Ja
35、va编程;/1.简单的创建字符串对象7.String s2 =Java编程;8.String s3 =new String(Java编程);/2.调用相应的构造器创建对象9.if(s1=s2)10.System.out.println(字符串s1和s2通过等于测试,结果返回True);11.12.else,13.System.out.println(字符串s1和s2通过等于测试,结果返回False);14.15.if(s1=s3)16.System.out.println(字符串s1和s3通过等于测试,结果返回True);17.18.else19.System.out.println(字符串s
36、1和s3通过等于测试,结果返回False);20.21.if(s1.equals(s3)22.System.out.println(字符串s1和s2内容相同,结果返回True);23.,24.else25.System.out.println(字符串s1和s2内容不相同,结果返回False);26.27.28.,用简单方式创建的字符串放在池中,如果再次用简单方式创建任何已在池中存在的字符串,将不会再在池中分配空间,而是让新的对象的引用指向池中已存在的字符串。new出来的字符串先在堆中开辟一块空间,然后再到池中去找看有没有相同的一个字符串,如果没有相同的字符串,也会在池中创建一个同样的字符串,并
37、会把两者联系起来。若存也会把两者联系起来。 String特殊机制让我们比较字符串时,不管字符串有多长,其比较速度都是一样的,国为在比较两个字符串内容是否相时,不必真去考察内容,只需比较两个字符串联系的常量池中对象是否为同一个即可.String类对象永不可变,在一些需要大量连接字符串的代码中,其性能将大幅下降.,B. StringBuffer类为了弥补String在连接操作中的缺点,java提供了一个StringBuffer类StringBuffer对象的创建语法只有一种.使用new操作符StringBuffer类的构造器:public StringBuffer()public StringBu
38、ffer(String str)StringBuffer类的重要方法:public StringBuffer append(String str)public StringBuffer insert(int offset,String str)public StringBuffer delete(int start,int end)public StringBuffer reverse()public String toString()StringBuffer类也有equals方法,但是其功能相当于将两个引用进行“=”比较,4.Math类Math类提供了很多数学计算的方法,这些方法都是静态的方
39、法.常用方法:public static double sin(double a)public static double cos(double a)public static double pow(double a,double b)public static double sqrt(double a)public staic int abs(int a)public static double ceil(double a)public static double floor(double a)public static long max(long a,long b)public stati
40、c int min(int a),5.Object类Object类是所有类的父类,java中的类都是直接或间接继承自Object类1.public class MyInteger 2.3.private final int value;4.5.public MyInteger(int value)6.this.value = value;7.8.9.public int getValue()10.return this.value;11.12.,13.public boolean equals(Object obj)14.if(obj=null)15.return false;16.if(ob
41、j instanceof MyInteger)17.return value=(MyInteger)obj).getValue();18.19.else 20.return false;21.22.23.public int hashCode()24.return Integer.valueOf(this.value).hashCode()+37;25.26.,27.public String toString()28.return +this.value;29.30.31.public static void main(String args) 32.33.MyInteger m1 = ne
42、w MyInteger(10);34.MyInteger m2 = new MyInteger(10);35.System.out.println(m1);36.System.out.println(m1.equals(m2);37.38.,6.System类重要字段:public static final InputStream inpublic static final PrintStream out重要方法:arraycopy(Object src, int srcPos, Object dest, int destPos, int length) exit(int status)pub
43、lic static void setErr(PrintStream err)public static void setIn(InputStream in)public static void setOut(PrintStream out),第八章 java.util包1.Random 2.Date/Calendar 3.DateFormat/SimpleDateFormat 4.Date/Time/TimeStamp 5.集合框架,1.Random类Random类的对象用来产生随机数a. 构造方法:public Random()public Random(long seed)b. 常用方法
44、:public boolean nextBoolean()public int nextInt()public int nextInt(int n)public long nextLong()public float nextFloat()public double nextDouble(),1.import java.util.Random;2.public class TestRandom 3.4.public static void main(String args) 5.6.Random r1 = new Random();7.System.out.println(r1.nextInt
45、(); 8.System.out.println(r1.nextInt();9.Random r2 = new Random(10);10.System.out.println(r2.nextInt(); 11.System.out.println(r2.nextInt();12.13.,2.Date/CalendarA. Date类a. 常用构造方法:public Date(int year, int month, int date) public Date(int year, int month, int date, int hrs, int min, int sec) b. 常用方法:p
46、ublic int getYear()public int getMonth()public int getDate()public int getHours()public int getMinutes()public int getSeconds(),B. Calendar类Calendar类没有提供可以直接使用的构造器,我们用其提供的静态方法getInstance()来得到一个Calendar实例.常用方法:public int get(int field)public static Calendar getInstance()public final Date getTime()pub
47、lic TimeZone getTimeZone()public final void set(int year,int month,int date)public final void setTime(Date date)public void setTimeZone(TimeZone value),3.DateFormat/SimpleDateFormat (java.text) DateFormat为日期格式化的抽象类,它以与语言无关的方式格式化并分析日期或时间.DateFormat类的重要方法:public final String format(Date date)public Ca
48、lendar getCalendar()public static final DateFormat getDateInstance()SimpleDateFormat类是DateFormat类的实现类.是一个以与语言环境相关的方式来格式化和分析日期的具体类.,SimpleDateFormat类的重要构造方法:public SimpleDateFormat(String pattern)其中参数patter可以按以下格式来做:日期和时间模式 结果yyyy.MM.dd G at HH:mm:ss z 2001.07.04 AD at 12:08:56 PDTEEE, MMM d, yy Wed,
49、 Jul 4, 01h:mm a 12:08 PMhh oclock a, zzzz 12 oclock PM, Pacific Daylight TimeK:mm a, z 0:08 PM, PDTyyyyy.MMMMM.dd GGG hh:mm aaa 02001.July.04 AD 12:08 PMEEE, d MMM yyyy HH:mm:ss Z Wed, 4 Jul 2001 12:08:56 -0700yyMMddHHmmssZ 010704120856-0700yyyy-MM-ddTHH:mm:ss.SSSZ 2001-07-04T12:08:56.235-0700如: Da
50、teFormat sdf = new SimpleDateFormat(yyyy年MM月dd日 HH:mm:ss);,4.Date/Time/TimeStamp (java.sql) 略.Date/Calendar/DateFormat/SimpleDateFormat/Date/Time/TimeStamp举例:1.import java.util.*;2.import java.text.*;3.import java.sql.Time;4.import java.sql.Timestamp;5.public class TestDate 6.7.public static void ma
51、in(String args) 8.9.,10.Date d = new Date();11./Date d = new Date(108,4,27);12./System.out.println(d);13.int iDate = d.getDate();14.int iMonth = d.getMonth()+1;15./System.out.println(iYear+年+iMonth+月+iDate+日);16./d.setYear(109);17./System.out.println(d);18.String s = d.toGMTString();19./System.out.p
52、rintln(s);20.,21.DateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);22./System.out.println(sdf.format(d);23.24.Calendar c = Calendar.getInstance();25. /int year = c.get(Calendar.YEAR);26./System.out.println(c);27.c.add(Calendar.YEAR,2);28./System.out.println(c.get(Calendar.YEAR);29.c.setTime
53、(d);30.,/System.out.println(c.get(Calendar.YEAR)+年+c.get(Calendar.MONTH)+月+c.get(Calendar.DAY_OF_MONTH)+日);31.c.setTimeZone(TimeZone.getTimeZone(Japan);32./System.out.println(c.get(Calendar.HOUR);33.Date cd = c.getTime();34.System.out.println(sdf.format(cd);35.36.DateFormat df = DateFormat.getInstan
54、ce();37./System.out.println(df.format(d);38.39./String ss = TimeZone.getAvailableIDs();40.,/for(String tz:ss)41./System.out.print(tz+ );42./43.44.java.sql.Date dd = new java.sql.Date(108,4,27);45./System.out.println(dd);46./System.out.println(sdf.format(dd);47.48.Time t = new Time(9, 13, 30);49./Sys
55、tem.out.println(sdf.format(t);50.,51.Timestamp ts = new Timestamp(108,4,27,9,13,30,0);52./System.out.println(sdf.format(ts);53./*54.long oldTime = System.currentTimeMillis();55.for(int i=0;i1000;i+)56.System.out.print(i+ );57.58.59.long newTime = System.currentTimeMillis()-oldTime;60.System.out.prin
56、tln(newTime);61.*/62.63.,5.集合框架集合框架层次结构: Collection(接口) Set(接口) List(接口) SortedSet(接口) TreeSet HashSet LinkedHashSet ArrayList Vector LinkedList Map(接口) SortedMap(接口)HashMap Hashtable LinkedHashMap TreeMap集合(集合类的对象)是用来管理其他若干对象的,在集合类的对象中可以用来存放多种类型的对象.接口和类共同构成了集合框架.,a. 接口:定义了存取一组对象的方法,其子接口Set和List分别定义
57、了存储方式.Collection用来管理多个对象,集合中的每个元素都对象.Map中没有对象,而是键值对,由key,value组成的键值对.key是不可重复的,value是可以相同的,一个key和一个value一一对应.List在管理多个对象时会按顺序组织对象(有顺序),其元素顺序均是按添加的先后进行排列的.List中的对象是可重复的.Set的实现类的对象中的元素是无序的,同时是不可重复的.SortedSet其实现类会对集合中的元素进行排序,但是要指定排序规则,会按排序规则进行排序.SortedMap同样可以实现排序,不过是对键值对中的key进行排序,同样也要指定排序规则.,b. 实现类:Arr
58、ayList的实质就是一个会自动增长的数组.ArrayList是用封装的数组来实现List接口的(大量的插入,删除操作性能很差.不支持并发,效率高)LinkedList其底层是用双向循环链表来实现的,有利于增删,不利于查找,不支持并发.Vector(又称为向量)和ArrayList功能近乎相同,支持并发.HashSet的底层实现还是数组,保证元素不重复LinkedHashSet继承自HashSet底层用双向链表实现TreeSet可对集合中的元素进行排序,要存放在TreeSet中的对象,要么是已经实现了Comparable接口,要么能给出Comparator比较器.会根据比较规则判断元素内容是否相同,TreeSet会在元素存入时就进行排序.HashMap,key是无序存放的,也是不可以重复的,key与value一一对应的,线程不安全的.Hashtable与HashMap比较相似,也是线程安全的,不允许key和value为nullLinkedHashMap与LinkedHashSet很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脚手架施工安全培训内容与现场实际操作匹配性研究考核试卷
- 纳米复合材料在地铁制造中的应用考核试卷
- 合作伙伴关系生命周期管理考核试卷
- 产业政策扶持力度分析考核试卷
- 设备集成化对生产流程的影响考核试卷
- 农用工具批发行业竞争格局演变考核试卷
- 供应链战略联盟知识管理实践分析考核试卷
- 2025年中国PVC-U加筋管数据监测报告
- 2025年中国PE封口膜袋数据监测研究报告
- 2025年中国LED不锈钢节能电筒数据监测报告
- 医共体医保管理工作制度
- 顾问销售培训课件
- 储量知识考试题及答案
- 成都市住宅工程质量常见问题防治措施
- 2025年经济学基础知识测试试题及答案
- 2025年7月浙江省普通高中学业水平考试押题模拟暨选考意向导引卷历史学科试题(原卷版)
- 贵州省黔西南州、黔东南州、黔南州2025年八年级英语第二学期期末学业水平测试试题含答案
- 杭州市公安局滨江区分局招聘警务辅助人员笔试真题2024
- 2025年江苏省高考物理试卷真题(含答案)
- DB31/ 638-2012铸钢件单位产品能源消耗限额
- 肾肿瘤超声诊断
评论
0/150
提交评论