java初级学习总结PPT课件

上传人:公**** 文档编号:590530289 上传时间:2024-09-14 格式:PPT 页数:78 大小:742.50KB
返回 下载 相关 举报
java初级学习总结PPT课件_第1页
第1页 / 共78页
java初级学习总结PPT课件_第2页
第2页 / 共78页
java初级学习总结PPT课件_第3页
第3页 / 共78页
java初级学习总结PPT课件_第4页
第4页 / 共78页
java初级学习总结PPT课件_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《java初级学习总结PPT课件》由会员分享,可在线阅读,更多相关《java初级学习总结PPT课件(78页珍藏版)》请在金锄头文库上搜索。

1、JavaJava程序设计基础程序设计基础复习复习n基基础础知知识识n流程控制流程控制n数数组组与字符串与字符串n面向面向对对象程序象程序设计设计n类库类库n异常异常处处理理v标识符的命名符的命名规则:必必须以以字母字母、下划下划线(_)或)或美元符号美元符号开开头,后面可以是字母、下划,后面可以是字母、下划线、美元符、美元符号、数字(号、数字(09)。)。一、基础知识一、基础知识n类名名(接口名)接口名) 名名词v 第一字母大写,每一第一字母大写,每一单词首字母大写。首字母大写。 v 例:例:AccountBookn方法名方法名 动词 v 第一字母小写,每一第一字母小写,每一单词首字母大写。首

2、字母大写。 v 例:例:balanceAccount()n变量名量名 名名词v第一字母小写,每一第一字母小写,每一单词首字母大写。首字母大写。 n常量名常量名v 全部大写,全部大写,单词间用下划用下划线分开分开 .v 例:例:HEAD_COUNT nJava标识符要区分大小写符要区分大小写一、基础知识一、基础知识Java数据类型基本数据类型引用数据类型实数字符型单精度型整型双精度型字节型短整型类接口数组枚举泛型长整型布尔型整数整数整数类型型说明明名称名称字字节长度度数的范数的范围字字节型型byte8-2727-1(-128 127)短整型短整型short16-215215-1 (-32768

3、32767)整型整型int32-231231-1 (- 21474836482147483647)长整型整型long64-263263-1一、基础知识一、基础知识实数类型名称名称字字节长度度数的范数的范围单精度精度float32-3.410383.4E38 (精度精度为7位有效数字位有效数字)双精度双精度double64-1.7E3081.7E308 (精度精度为17位有效数字位有效数字)一、基础知识一、基础知识Java运算符运算符算算术运算符运算符+,*,/,%取余取余 ,+,- -,- 取反取反关系运算符关系运算符,=,=,!=,= =逻辑运算符运算符& 与与 ,| 或或 , !非,!非,

4、&简洁与,与,|简洁或或三目条件运算三目条件运算 表达式表达式1?表达式?表达式2 :表达式:表达式3赋值运算符运算符= ,+=,-= 数据输入数据输入import java.io.*;public class UseArithmeticpublic static void main(String args) throws IOException int a; String s; BufferedReader r=new BufferedReader (new InputStreamReader(System.in); s=r.readLine(); a=Integer.parseInt(s)

5、; /将将该字符串字符串转换为整型整型 。 na=Integer.parseInt(s);nb=Float.parseFloat(s);nc=Double.parseDouble(s);nd=Boolean.parseBoolean(s);关系运算符关系运算符运算符运算符名称名称例例结果果小于小于13true=小于等于小于等于1大于大于12false=大于等于大于等于1=2false=等于等于1=2false!=不等于不等于1!=2true错误分析:分析:nif(w=0) system.out.println(no cost!); nif(0w5) cost=10nif(w=0) System

6、.out.println(”no cost!”); nif(0w&w5) cost=10;逻辑运算符逻辑运算符运算符运算符名称名称举例例描描 述述!逻辑非非!x对x 进行取反运算。例如,若行取反运算。例如,若x为true,结果果为false&逻辑与与x&y若若x和和y都都为true,结果才果才为true|逻辑或或x|y若若x和和y都都为false,结果才果才为falseifif(条件表达式)(条件表达式) 语句块语句块1 1 elseelse 语句块语句块2 2 if-else 语句流程图语句流程图条件条件语句块语句块1truefalse语句块语句块2二、流程控制二、流程控制练习:分析程序运行

7、:分析程序运行结果。果。public class s1 public static void main(String args) int x=1; switch(x) case 0: System.out.println(first);break; case 1: System.out.println(second); case 2: System.out.println(third); break; 练习:分析程序运行:分析程序运行结果。果。public class s1 public static void main(String args) int x=5; switch(x) defa

8、ult: System.out.println(default);break; case 1: System.out.println(second); break; case 2: System.out.println(third); break; 纠错分析题纠错分析题public class MonthSwitchpublic static void main(String args ) throws IOException String s; BufferedReader r=new BufferedReader (new InputStreamReader(System.in); sys

9、tem.out.println(enter an integer:); s=r.readline(); x=Integer.parseInteger(s); if(1x12); System.out.println(请重新重新输入(入(112):):) switch(x) case2: System.out.println(28天天); case1,3,5,7,8,10,12: System.out.println(“31天天); case4: case6: case9: case11: System.out.println(“31天天); 纠错分析题纠错分析题import java.io.*

10、;public class MonthSwitchpublic static void main(String args ) throws IOException int x; String s; BufferedReader r=new BufferedReader (new InputStreamReader(System.in); System.out.println(”enter an integer:”); s=r.readLine(); x=Integer.parseInt(s); if(x12) System.out.println(请重新重新输入(入(112):):); s=r

11、.readLine(); x=Integer.parseInt(s); 纠错分析题纠错分析题 switch(x) case 2: System.out.println(28天天); break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println(31天天); break; case 4: case 6: case 9: case 11: System.out.println(31天天); break; 纠错分析题纠错分析题for(循(循环变量初始化量初始化;循循环条件条件;循循环变量增量)量

12、增量) 循循环体;体;for语句流程图语句流程图循环体语句循环体语句循环变量增量循环变量增量循环变量初始化循环变量初始化循环条件循环条件truefalsefor语句语句计算:算:12+22+32+42+1002public class Test public static void main(String args) int result =0 ; for(int k=1; k=100 ; k+) result += k*k ; System.out.println(计计算算结结果果为为: + result ) ; 求和求和练习:判断用:判断用户输入的数是否入的数是否为素数。素数。用用 sta

13、tic boolean isPrime(int n) 实现求解素数。求解素数。 素数是只能被素数是只能被1和其本身整除的整数。和其本身整除的整数。对于一个整数于一个整数n,如果从,如果从2到到n-1之之间的任何一个整数都不能整除的任何一个整数都不能整除n,则n为素数。素数。 事事实上,上,仅需要从需要从2到到 (含)之(含)之间的任何一个整数都不能的任何一个整数都不能整除整除n,则可以判定可以判定n是素数。是素数。该算法可以算法可以显著减少著减少执行循行循环的的次数。次数。素数素数import java.io.*;public class ForTest public static void

14、main(String args) throws IOException int a;String s;BufferedReader r = new BufferedReader(new InputStreamReader(System.in);System.out.println(enter an integer: );s = r.readLine(); / 输入并入并读取一个整数取一个整数a = Integer.parseInt(s);if (isPrime(a) System.out.println(a + is a prime number.);else System.out.prin

15、tln(a + is not a prime nubmer.);static boolean isPrime(int n) for (int i = 2; i = Math.sqrt(n); i+) if (n % i = 0) return false; return true; while语句语句while(循环条件表达式)(循环条件表达式) 循环体循环体while语句流程图语句流程图表达式表达式语句语句falsetruen分析程序运行分析程序运行结果:果:public class WhileLx public static void main(String args) int i=2,r

16、esult=0; while(i5) result=result+3;System.out.printf(result+” ”); i=i+; do-while循环循环do 循环体循环体 while(表达式);(表达式); do-while语句流程图语句流程图表达式表达式语句语句falsetrueimport java.util.Scanner;public class lxpublic static void main(String args )int a=new int9;Scanner sc=new Scanner(System.in);int i=0;doai=sc.nextInt()

17、;if(ai0) System.out.println(Please Input again.);continue;else i+;while(i9); int n=0;for(int j=0;j9;j+) System.out.printf(%5d,aj); n+;if(n%3=0) System.out.println();重新输入数据重新输入数据for(i=0;i9;i+) ai=sc.nextInt(); while(ai0) System.out.println(Please Input again.); ai=sc.nextInt(); import java.util.Scann

18、er;public class lxpublic static void main(String args )int a=new int9;Scanner sc=new Scanner(System.in); int n=0;for(int j=0;j9;j+) System.out.printf(%5d,aj); n+;if(n%3=0) System.out.println();循环的嵌套循环的嵌套例:分析下面程序的运行例:分析下面程序的运行结果果.public class ForDemo1 public static void main(String args) int i,j,k=0;

19、 for(i=1;i=3;i+) for(j=1;j=2;j+) k=k+1;System.out.println(k);分析:分析:i=1,j=1 k=0+1=1 i=1,j=2 k=1+1=2 i=2,j=1 k=2+1=3 i=2,j=2 k=3+1=4 i=3,j=1 k=4+1=5 i=3,j=2 k=5+1=6 break,continue语句语句例:例:输出出1-10之之间所有不能被所有不能被3整除的数。整除的数。public class ContinueTest public static void main(String args) int i; System.out.pri

20、ntln(”1-10之之间不能被不能被3整除的数整除的数:”); for(int i=1;i=10;i+) if(i%3=0) continue; System.out.printf(i+” ”); 分析分析结果:果:public class F public static void main(String args) int sum=0,i; for(i=1;i8) break; System.out.println(); System.out.println(sum= +sum); 例例: :打印所有的打印所有的“水仙花数水仙花数”,所,所谓“水仙花数水仙花数”是指是指一个三位数,其各位数

21、字立方和等于一个三位数,其各位数字立方和等于该数本身。数本身。例如:例如:153=1153=13 3+5+53 3+3+33 3。数字问题数字问题n方法一:方法一: public class Sxh1public static void main(String args) int i,j,k,n; for(n=100;n1000;n+) i=n/100; j=n/10-i*10; /*或或j=n/10%10*/ k=n%10; if(n=i*i*i+j*j*j+k*k*k) System.out.printf (%dt,n); n方法二:方法二: public class Sxh2public

22、 static void main(String args) int i,j,k,m,n;for(i=1;i=9;i+)for(j=0;j=9;j+)for(k=0;k=9;k+)m=i*100+j*10+k;n=i*i*i+j*j*j+k*k*k; if(m=n)System.out.printf (%dt,n);三、三、数组、字符串数组、字符串一一维数数组nint a=new int10; for(int i=0;i10;i+) ai=i;nint intArray=1,2,3,4;nString stringArray = abc, How, you;多维数组二二维数数组int intA

23、rray = new int 34 ;int numbers=2,0,0,8,0,8,0,8;列列列列列列列列行行A00A01A02A03行行A10A11A12A13行行A20A21A22A23例:从例:从键盘上上输入入10个学生个学生Java考考试的成的成绩,求其平均分、最低分、并从高分,求其平均分、最低分、并从高分到低分排序。到低分排序。import java.util.Scanner;public class Score public static void main(String args) final int N=10; int i,score=new intN;int minsco

24、re,min,t,sum=0,avg; Scanner sc=new Scanner(System.in); for(i=0;iN;i+) System.out.println(输入第入第+i+“个学生成个学生成绩:); scorei=sc.nextInt(); sum=sum+scorei; minscore=score0; avg=sum/N; for(int index=0;indexscore.length;index+) if(scoreindexmin) minscore=scoreindex; System.out.println(min score=+minscore+navg

25、 score=+avg); for(i=0;i score.length;i+) min=i; for(int j=i+1;j scorej) min=j; t= scorei; scorei= scoremin; scoremin=t; System.out.println(排序之后的学生成排序之后的学生成绩为:); for(int j=0;j score.length;j+) System.out.printf(scorej+ ); 四、面向对象程序设计四、面向对象程序设计 类的声明类的声明 方法的声明方法的声明 方法的重载方法的重载 继承继承 多态多态 类的静态属性与方法类的静态属性与方

26、法 抽象类与抽象方法抽象类与抽象方法 最终类与最终方法最终类与最终方法 包包及访问权限控制及访问权限控制 接口接口访问修饰符访问权限访问修饰符访问权限存取修存取修饰符符类包中所有的包中所有的类包外子包外子类所有所有类privatefriendly(默默认)protectedpublic例:import java.io.*;public class Test public static void main(String args) Employee emp = new Employee( ) ; emp.name=张立 ; emp.age=21; emp.salary = 528.37F ; e

27、mp.print() ; /main /Testclass Employee String name; int age; float salary ; void print() System.out.println(name+ 年龄为:+age+ 月薪为: +salary ) ; /print() 方法 /Employee例:例:类方法方法举例,例,110000中的完全数中的完全数。如果一个自然数的所有真因子如果一个自然数的所有真因子(即除了自身以外的(即除了自身以外的约数)的和恰好是它本身,数)的和恰好是它本身,则这个数称个数称为完完全数。例如全数。例如 28=1+2+4+7+14 publ

28、ic class PerfectTestpublic static void main(String args) int count = 0; for (int i = 1; i 10000; i+) if (PerfectNumber.isPerfect(i) / 调用用类的方法,判断完全数的方法,判断完全数 System.out.print(i + t);count+;if (count%5 = 0) System.out.println(); /换行行 class PerfectNumber static boolean isPerfect(int n) int x = 0; /方法的内

29、部变量for (int i = 1; i = n/2; i+) if (n%i = 0) x += i;if (x = n)return true;else return false;静态方法、值传递静态方法、值传递方法的参数列表方法的参数列表例:参数名和成例:参数名和成员变量名相同的情况。量名相同的情况。public class Cylinder double PI = 3.1415927;double radius;double height;public Cylinder(double radius, double height) this.radius = radius;this.he

30、ight = height;方法的参数传递方法的参数传递 n值传递n引用引用类型(型(对象象类型)参数例型)参数例n引用引用类型参数型参数传递(数(数组作作为参数)参数)分析分析结果:果:class Student String name; int age; Student(String t, int p) name=t; age=p; void show() System.out.println(name); System.out.println(age); public class C public static void main(String args) Student b=new S

31、tudent(ABC,12) ; b.age=19; b.show(); 例:方法重例:方法重载例例class Over void m1(int i) System.out.println(m1(int): + i); void m1(float f) System.out.println(m1(float): + f); void m1(double d) System.out.println(m1(double): + d); void m1(int i, float f) System.out.println(m1(int,float): + i + + f); void m1(floa

32、t f,int i) System.out.println(m1(float,int): + f + + i); 注意:方法名全相同注意:方法名全相同方法的重载方法的重载方法重载例方法重载例public class Test public static void main(String args) Over o = new Over(); o.m1(3); o.m1(3.14F); o.m1(3.14); o.m1(3,3.14F); o.m1(3.14F,3); 类的组合与嵌套类的组合与嵌套n类的的组合(在一个合(在一个类中将另一个中将另一个类的的对象作象作为自己的属性)自己的属性)n嵌套嵌

33、套类class Astatic int i=10; static class B public B() System.out.println(static内部内部类访问外部外部类数据:数据:+i); public class Testpublic static void main(String args) A.B ab = new A.B(); /生成内部生成内部类B的的对象象 多态多态多多态性是指同名的不同方法在程序中共存性是指同名的不同方法在程序中共存多多态实现的两种形式:覆盖的两种形式:覆盖实现多多态性性 重重载实现多多态性性静静态变量的作用:量的作用:(1)能被)能被类的所有的所有实例

34、共享,可以作例共享,可以作为实例之例之间进行交流的共享数据行交流的共享数据(2)如果)如果类的所有的所有 实例都包含一个相同的常量属性,例都包含一个相同的常量属性,把把这个属性定个属性定义为静静态常量,在内存中只保存常量,在内存中只保存该变量的一个副本,量的一个副本,节省内存空省内存空间n覆盖:子覆盖:子类对父父类方法的覆盖(不同方法的覆盖(不同类的同名方法)的同名方法)n重重载:一个:一个类中,同名方法(参数不同)中,同名方法(参数不同)class Employee void upSalary(float inc) salary = salary + inc ; void upSalary(

35、) salary = salary * 1.1F ; . class Manager extends Employee void upSalary() salary = salary * 1.2F ; . 方法覆盖与方法重载方法覆盖与方法重载重载覆盖nstatic静静态修修饰符,可以修符,可以修饰类中的属性与方法中的属性与方法n静静态属性的属性的访问v类名名.属性名属性名v或:或:对象名象名.属性名属性名静态变量和静态方法静态变量和静态方法抽象类和抽象方法抽象类和抽象方法n抽象抽象类public abstract class 抽象抽象类名名 类体;体;n抽象方法抽象方法public abstr

36、act 返回返回类型型 方法名(方法名();例:抽象方法例:抽象方法举例例public abstract class Super public abstract void method();public class Sub extends Super public void method() System.out.println(”Do nothing”); 抽象类和抽象方法抽象类和抽象方法最终类和最终方法最终类和最终方法最最终类:访问修修饰符符 final class 最最终类名名extends 父父类名名 类体;体;1.包的包的创建建package 包名包名1.包名包名2 .包名包名3.

37、包名包名n;注意:注意:n放在文件第一行放在文件第一行在package语句中n用“.”来指明包(目录)的层次包(包(package)2.import2.import语句与包的引用语句与包的引用n引用方式:引用方式:import import 包名包名1 .1 .包名包名2 .2 .包名包名3. 3. 包名包名n.*;n.*;import import 包名包名1 .1 .包名包名2 .2 .包名包名3. 3. 包名包名n.n.类名类名; ;java.test.DecimalFormat df=new java.test.DecimalFormatjava.test.DecimalFormat

38、df=new java.test.DecimalFormat(”0.00”);四、包(四、包(package)编译并生成包:在当前目录下生成包 javac d . Test.java在指定目录下生成包 javac d E:JavaLesson Test.java包(包(package)例:包的例:包的创建和使用。建和使用。/ file: Sort.java,保存在当前文件,保存在当前文件夹下面下面 或或 保存在当前文件保存在当前文件夹下新建的下新建的sort下下package sort;import java.util.Arrays;public class Sort private doub

39、le array;public Sort(double data) array = data; public void sort() Arrays.sort(array);public double getElement() return array;/ file: PackageTest.java,保存在当前文件,保存在当前文件夹下面下面import sort.Sort;public class PackageTest public static void main(String args) double array = new doubleargs.length; for (int i =

40、 0; i args.length; i+) arrayi = Double.parseDouble(argsi); Sort st = new Sort(array); st.sort(); for (int i = 0; i st.getElement().length; i+) System.out.println(st.getElement()i); 例例8修改:包的修改:包的创建和使用。建和使用。/ file: Sort.java,保存在当前文件,保存在当前文件夹下面下面 或或 保存在当前文件保存在当前文件夹下新建的下新建的sort下下package sort;import java

41、.util.Arrays;public class Sort private double array;public Sort(double data) array = data; public void sort() Arrays.sort(array);public double getElement() return array;/ file: PackageTest.java,保存在当前文件保存在当前文件夹下面的下面的Testpackage Test ;import sort.Sort;public class PackageTest public static void main(S

42、tring args) double array = new doubleargs.length; for (int i = 0; i args.length; i+) arrayi = Double.parseDouble(argsi); Sort st = new Sort(array); st.sort(); for (int i = 0; i st.getElement().length; i+) System.out.println(st.getElement()i); 访问控制一般原则访问控制一般原则n本包使用,采用缺省方式本包使用,采用缺省方式;n供其他包使用,采用供其他包使用,

43、采用public控制符;控制符;n为了使了使对象具有良好的封装性,可将象具有良好的封装性,可将类的的实例例变量量设计成私有,但成私有,但为了使其它了使其它类或或对象能象能够访问私有私有实例例变量,本量,本类必必须提供提供访问私有私有变量的方法(公量的方法(公共方法)。共方法)。n按照按照惯例:例:v读私有私有变量的方法取名量的方法取名为get v写私有写私有变量的方法取名量的方法取名为 set 类的访问控制类的访问控制(1)共有)共有类 public被所有的其他被所有的其他类访问和引用和引用一个一个java源文件只能有一个源文件只能有一个public类(2)非共有非共有类只能被同一个包中的只能

44、被同一个包中的类访问和使用和使用例例:接口接口举例例.interface CalArea double pi = 3.14 ; double cal(double r); class Ca implements CalArea public double cal(double r) return pi * r *r ; public class Test public static void main(String args) Ca a1 = new Ca() ; System.out.println(a1.cal(5.0); System.out.println(a1 instanceof

45、CalArea ); instanceof 运算符可判断一个对象是否运算符可判断一个对象是否为实现了某个接口的类对象。为实现了某个接口的类对象。接口接口五、类库五、类库njava.lang(基础 类,隐含引用)vObject类、数据类型包裹类(The Data Type Wrapper)、字符串类(String和StringBuffer)、数学类(Math)、系统和运行时类(System和Runtime)、类操作类(Class和ClassLoader)。njava.util(实用程序)v 向量、栈、日期njava.io (用于输入输出)njava.text(文本及格式化处理)njava.mat

46、h(数学包)六、异常处理六、异常处理nError类定定义的的错误是致命性是致命性错误,一般会,一般会导致程序停止致程序停止执行。行。nException类定定义的是的是较轻的的错误,你可以,你可以编写代写代码来来处理理这类错误,并,并继续程序的程序的执行。行。n系系统预定定义异常异常类及含及含义系统预定义的异常类异常对应的运行错误说明ClassNotFoundException类型转换异常:如找不到要装载的类。IllegalArgumentException非法参数异常:可用于检查方法参数的合法性。ArrayIndexOutOfBoundsException下标越界异常:一般指数组下标越界。F

47、ileNotFoundException找不到文件异常:未找到指定的文件或目录。IOException输入输出异常:在输入输出操作时产生的异常。NullPointerException空指针异常:访问空的尚未实例化的引用型变量。ArithmeticException数学异常:如数学运算被零除等。SecurityException安全性异常:如Applet小程序要读写文件。用户定义异常类用户定义异常类class MyExp extends Exception /或或继承其他异常承其他异常类 . /定定义新的属性新的属性 . /重重载构造函数构造函数 . / 重重载原方法,或定原方法,或定义新方法

48、新方法 n系系统自自动抛出异常。抛出异常。public class a public static void main(String args) int i; int array=21,33,52,44,98; try while(true) i=(int)(Math.random()*10); System.out.println(”下下标为”+i+”的数的数组元素是元素是”+arrayi); catch(ArrayIndexOutOfBoundsException e) System.out.println(”出出现数数组下下标越界异常越界异常”); n直接抛出异常(直接抛出异常(thro

49、w语句)句)格式:格式:生成异常生成异常类的的实例例e;throw e;或:或: throw new 异常异常类构造方法构造方法n间接抛出异常(接抛出异常(throws)n也称也称为异常异常转移移n异常异常总是是发生在方法生在方法执行行过程中。程中。n当方法代当方法代码不不对异常异常处理理时,异常会向方法外,异常会向方法外转移。移。n系系统定定义的异常自的异常自动向外向外转移。移。n用用户自定自定义的异常要的异常要转移需要在方法移需要在方法头声明一下声明一下try/可能出可能出现异常的代异常的代码catch(异常异常类型型1 e1)/处理异常理异常类型型1catch(异常异常类型型2 e2)/

50、处理异常理异常类型型2catch(异常异常类型型3 e3)/处理异常理异常类型型3finally/该代代码块在在try块执行后完成必做的事情行后完成必做的事情异常的捕获与处理异常的捕获与处理例:使用多重例:使用多重catch语句句class MultiCatch public static void main(String args) try int a = args.length; System.out.println(a = + a); int b = 42 / a; int c = 1 ; c42 = 99; System.out.println(“AAAAAAAAAAA); catch

51、(ArithmeticException e) System.out.println(Divide by 0: + e); catch(ArrayIndexOutOfBoundsException e) System.out.println(Array index oob: + e); System.out.println(After try/catch blocks.); 例:例:public class xxpublic static void main(String args) int x=0,1,2,3; for(int i=0;i3;i+=2) trySystem.out.println(xi+2/xi+xi+1);catch (ArithmeticException e) System.out.println(111);catch (Exception e) System.out.println(222);异常处理的原则异常处理的原则n将异常将异常处理用于非正常情况理用于非正常情况n按异常的具体按异常的具体类型捕型捕获异常异常n采用不同措施采用不同措施处理异常理异常处理异常理异常重新抛出异常重新抛出异常转移异常移异常n按照从特殊到一般按照从特殊到一般处理异常理异常放映结束 感谢各位的批评指导! 谢谢 谢!谢!让我们共同进步782021/3/9

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号