版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第1章 Java语言概述及编程基础教学内容:1.1 Java语言概述1.2 Java语言开发环境1.3 Java语言编程基础21.1 Java语言概述 1 Java的诞生与发展 1991年4月,Sun公司搞了个绿色计划(Green Project)着手发展消费性电子产品(Consumer Electronics), 设计小组本来是以C+语言作为设计软件的程序语言,但是他们随后发现用C+语言会遇到一些编译技术上的难题.当时像C和C+这样的主流语言,只能对目标进行编译。面对电子产品多种多样的CPU芯片,为每种类型的CPU芯片创建编译器只是一种在理论上可行,而实际风险很大,因为这是一项既耗资又耗时
2、的工作。3为了寻求可行方案,于是他们另起炉灶开发一种新语言。这种语言要能生成运行于不同环境、不同CPU芯片的代码,即可移植跨平台的语言。于是就有了以C+为基础的JAVA语言。当时他们命名这种语言为Oak,英文的意思是橡树,来源于窗外的一棵老橡树。后来在注册时因为已经有相同的名字了,才改名为Java,来源于小组成员喜欢喝的一种咖啡的名字。这就是Java的起源。1.1 Java语言简介1 Java的诞生与发展4由于种种原因,Java并未被广泛应用到电子产品中。 随着网络的兴起,小组的成员惊喜地发现Java可以应用到Internet上,于是他们将重心转移到Internet编程上。1995年,Sun
3、正式发布Java1.0版本。之后,Java 在全球范围内引发了经久不衰的Java热潮,Java 的地位也随之得到肯定。Java的版本也不断更新。为了满足不同的需求,Java分化出三个不同的版本:J2EE,Java企业版,定位在服务器端程序的应用上,适合企业级别的网络应用开发。J2SE,Java标准版,定位在客户端程序的应用上,适合普通PC应用软件开发。J2ME,Java微型版,定位于嵌入式系统的应用软件,适合小型、智能型终端设备上的应用软件开发。1.1 Java语言简介1 Java的诞生与发展5归纳起来Java语言有以下这些特点: 1 简单 2 面向对象 3 分布式 4 解释执行 5 健壮性
4、6 安全 7 结构中立,可移植性 8 高效率 9 多线程1.1 Java语言简介2 Java语言的特点61 简单 Java最初是为家用电器进行集成控制而设计的一种语言,因此它必须简单明了.Java语言的简单性体现在三个方面: 1. Java的风格类似C+ ,因此,C+程序员可以很快地掌握Java编程技术. 2. Java中屏弃了C+中容易引发程序错误的一些功能,如指针、结构、枚举以及内存管理等。 3. Java提供了丰富的类库,可以帮助我们快速、方便的开发Java程序。1.1 Java语言简介2 Java语言的特点72 面向对象 面向对象可以说是Java最重要的特性,Java语言支持封装、继承
5、、重载、多态等面向对象的特性。不同于C+,Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。面向过程的程序设计已不能满足软件工程,软件规模化发展的需要.第2章会讲到。1.1 Java语言简介2 Java语言的特点83 分布式 Java是面向网络的语言、是Internet上世界通用语言。Java丰富的类库中有个专门支持网络的包J,通过这个包中的类,可以非常容易的编写基于TCP/IP的HTTP和FTP 等协议的应用软件。所以用Java比在C+ 中更容易进行网络编程,更容易创建网络连接、进行网络访问。Java应用程序可以借助URL 在网络中读取和存储文件,就像在一个
6、本地文件系统中存取一样简单。第3章会讲到。1.1 Java语言简介2 Java语言的特点9 4 解释性 Java代码是解释执行的,我们使用Java编译器将Java源程序编译成字节码,这是一种中间代码,与机器无关,可以跨平台解释执行。而C+程序是编译执行的,C+ 原程序被编译为本地机器指令,然后执行,所以跨平台执行就需要重新编译.这种解释执行的好处是: 一次编译,到处运行。1.1 Java语言简介2 Java语言的特点105 健壮 程序健壮性,说的是它不容易出错。从过往的经验看程序最容易犯的两个错误是:内存管理错误和运行时错误。Java的自动垃圾收集功能使程序开发者从容易出错的内存管理问题中解脱
7、出来,从而提高程序的健壮性。而Java的异常处理机制为第2个问题提供了好的解决方案。第1章中会讲到。1.1 Java语言简介2 Java语言的特点116 安全 Java的安全性可以从两个方面得到保证。 一方面,在Java语言里,删除了指针和释放内存等C+中容易引起错误的一些功能,避免了非法内存操作。 另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们从网上下载Java代码在本地执行时,Java的安全架构能确保恶意代码不能访问本地计算机的资源,例如,删除文件,访问本地网络资源等操作都是被禁止的。1.1 Java语言简介2 Java语言的特点127 结构中立、可移植 这正是促成
8、Java产生的源动力,Java实现了这个目标。Java编译器产生的字节码是一种结构中立的中间文件格式。可以在提供Java 虚拟机的任何一个系统上解释运行。Java 虚拟机正是解决方案的核心。结构中立确保了程序的可移植性。 1.1 Java语言简介2 Java语言的特点138 高效能 虽然Java字节码是解释运行的,解释型语言的执行效率远低于编译型语言,但Java语言很好地解决了这个问题,Java编译生成的字节码与机器码十分接近,而且Java 还有如下两种提高性能的措施,即及时编译和连入C代码,及时编译是指在解释执行前将字节码编译为机器码。1.1 Java语言简介2 Java语言的特点149 多
9、线程 Java语言的一个重要特性就是在语言级支持多线程编程。多线程就好像我们做一张桌子,如果你一个人完成这张桌子-就好比单线程,你需要先做桌面,然后再做四个桌子腿,如果现在有5个人来做桌子就好比多线程,其中1个人做桌面,另外4个人分别做4个桌子腿,那么这两种方式效率的高低,相信大家都能区分。第3章会讲到。1.1 Java语言简介2 Java语言的特点15为了运行java程序,平台上必须安装有java虚拟机(JVM)。JVM包含在JRE,JDK及操作系统中.1.Java虚拟机(JVM)Java语言一个非常重要的特点就是与平台的无关性,JVM是实现这一特点的关键。Java源程序首先被编译成字节码文
10、件,然后由Java解释程序解释性地执行。这个Java解释程序就是JVM提供的,JVM在各种常用的操作系统中都可以安装。JVM在实际的计算机上是通过软件模拟来实现。JVM有自己完善的虚拟硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。1.2 Java编程环境16JDK是Java最基本的开发工具。学习Java语言前,必须下载安装JDK。可以在Sun公司网站: 免费下载。JDK主要包括以下工具: javac: Java语言编译器,输出结果为Java字节码。 java: Java字节码解释器。 appletviewer: 小应用程序浏览工具,用于测试并运行Java小应用程序。 打包工具jar
11、、文档生成器javadoc及完整的JRE(java运行环境)1.2 Java编程环境2.Java开发工具包JDK17用Java书写的程序有两种类型: Java应用程序(Java Application)和java小应用程序(Java Applet)Java应用程序必须得到Java虚拟机的支持才能运行.而Java小程序则需要客户端浏览器的支持.Java小程序运行之前必须先将其编译后的字节码嵌入网页中即HTML文件的和标记中.当用户浏览该HTML页面时,Java小程序将从服务器端下载到客户端由浏览器解释执行。1.2 Java编程环境3. Java程序的类型及不同的编程模式18下载安装JDK设置环境
12、变量编写JAVA源程序编译生成字节码运行程序1.2 Java编程环境4. Java应用程序(Java Application)开发:19下载安装JDK: 打开浏览器,在地址栏输入sun公司的网址:/javase/downloads/index.jsp,进入下载页面 找到适合于自己计算机平台的Jdk版本,这里下载jdk-7-windows-i586.exe可执行程序。1.2 Java编程环境4. Java应用程序(Java Application)开发:20选择目录安装到C:j2sdk1.5.0目录1.2 Java编程环境4. Java应用程序(Java Application)开发:21配置环
13、境变量:在“我的电脑”处单击右键,在快捷菜单中选 择“属性”,选择“高级”选项卡单击“环境变量”按钮。在打开的“环境变量”对话框中,单击“新建”按钮,创建一个新的系统变量名“JAVA_HOME”,其值为JDK的安装路经。选中Path变量,单击编辑按钮,设置变量值为%JAVA_HOME%bin。确定保存.新建CLASSPATH变量,设置变量值为%JAVA_HOME%libtools.jar; 确定保存1.2 Java编程环境4. Java应用程序(Java Application)开发:22配置环境变量Pathclasspath1.2 Java编程环境4. Java应用程序(Java Appli
14、cation)开发:23编写源代码 /文件名:HelloWorld.java public class HelloWorld /类名要和文件名一致 public static void main(String args) System.out.println(Hello World!); 1.2 Java编程环境4. Java应用程序(Java Application)开发:24编译及运行:编译源代码(在DOS环境下,进到源程序所在的目录,执行下面的命令:) javac HelloWorld.java 在同一个目录下得到HelloWorld.class运行 java HelloWorld 屏幕
15、将显示字符串:Hello World!1.2 Java编程环境4. Java应用程序(Java Application)开发:25 /源程序HelloWorldApplet.java import java.applet.Applet; import java.awt.Graphics; public class HelloWorldApplet extends Applet public String s;public void init() s = Hello World!; / 生成一个字符串对象public void paint(Graphics g) g.drawString(s,
16、50, 25);/ 在浏览器中坐标为(50,25)的位置显示字符串s 1.2 Java编程环境5.Java Applet小程序26applet程序是从方法init()开始执行的,在该方法中完成了对字符串s的初始化工作显示功能是在方法paint()中执行的。paint()是Applet类中的一个成员方法,其参数是图形对象Graphics g,通过调用对象g的drawString()方法就可以显示输出。 1.2 Java编程环境5.Java Applet小程序27Javac HelloWorldApplet.java编译后生成字节码文件HelloWorldApplet.class.将HelloWo
17、rldApplet.class嵌入到HTML页面中的标记中将该html文件保存为: hello.html1.2 Java编程环境5.Java Applet小程序28在dos环境下执行命令: appletviewer hello.html 就可以在浏览器中看到这个HTML页面1.2 Java编程环境5.Java Applet小程序29Eclipse 简介Eclipse 获取Eclipse 安装Eclipse 启动1.2 Java编程环境5.Eclipse 集成开发工具30Eclipse简介 Eclipse是开源的、基于Java的可扩展开发平台。Eclipse是用Java语言开发的,但它并不只为J
18、ava语言开发提供服务。就其本身而言,它只是一个框架和一组服务,通过插件构建开发环境。Eclipse对于团队开发有极大的帮助。另外,用户可以将不需要的插件剔除,定制个性化的开发环境。Eclipse的优势正逐渐展现,具有良好的前景。可以在网站上找到各种各样的eclipse插件1.2 Java编程环境5.Eclipse 集成开发工具31Eclipse 3.1获取 /downloads/下载Eclipse3.1X1.2 Java编程环境5.Eclipse 集成开发工具32Eclipse安装解压后的目录结构不要太深5.Eclipse 集成开发工具33Eclipse 3.1启动选择你自己的workspa
19、ce(以后工程所存放的目录)。如果选择“Use this as the default and to not ask again”这个目录将成为默认目录。选择你自己的workspace1.2 Java编程环境5.Eclipse 集成开发工具34Eclipse启动1.2 Java编程环境5.Eclipse 集成开发工具35建立Java项目示例 1. 选择FileNewProject 2. 在 New Project 对话框(图 4.1),选 Java Project (或是展开 Java 的数据夹,选 Java Project 3. 在 New Java Project 的窗口中输入 Proje
20、ct 的名称,后点击Finish按钮第一次上机时具体讲解。1.2 Java编程环境5.Eclipse 集成开发工具361.3 Java语言编程基础教学重点:1. Java的常量和变量2. Java的简单数据类型3. Java的运算符与表达式4. Java的程序流程控制371常量与变量常量与变量是Java语言中的基本元素,常量一般表示一个,而变量则是程序中的基本存储单位.常量区分不同的类型,如整形常量123,实型常量12.3,字符常量a,布尔常量true、 false,字符串常量”This is a constant string”。与C/C+不同,Java中不能通过#define命令把一个标识
21、符定义为常量,而是通过关键字final来实现,如:final double PI=3.14169;1.3 Java语言编程基础381常量与变量变量的定义包括变量名、类型和作用域几个部分。变量名是一个合法的标识符,变量名区分大小写。变量名应具有一定的含义,以增加程序的可读性。变量类型可以是Java的任意一种数据类型。它决定了变量空间的大小和存放的内容作用域指明了可访问该变量的范围,变量在程序中的位置隐含地指出了该变量的作用域。按作用域来分,变量可以有下面几种:成员变量、局部变量和方法参数。1.3 Java语言编程基础391常量与变量成员变量在类中声明,而不是在类的某个方法中声明,它的作用域是整个
22、类,即类中的方法可以使用他们。局部变量在方法或方法的一块代码中声明,它的作用域是整个方法或方法中的某个代码块。方法参数用于将相应的数据传递给方法,它的作用域就是这个方法。1.3 Java语言编程基础40class Method4 float xxx; /xxx为成员变量 float aaa(float x,float y) /x,y为方法参数 float xxx; /这里的xxx为局部变量 xxx=x+y; /对局部变量xxx赋值 return xxx; void bbb(float x) xxx=x; /对成员变量赋值 class TryMethod4 public static void
23、main(String args) Method4 a=new Method4(); System.out.println(方法aaa中局部变量xxx的值为: +a.aaa(5,8); System.out.println(执行方法aaa后,类的成员变量a.xxx=+a.xxx); a.bbb(8); System.out.println(执行方法bbb后,类的成员变量a.xxx=+a.xxx); 1.3 Java语言编程基础执行结果:方法aaa中局部变量xxx的值为:13.0执行方法aaa后,类的成员变量a.xxx=0.0执行方法bbb后,类的成员变量a.xxx=8.0412.Java的数据
24、类型数据类型指的是一组性质相同的值的集合以及定义于这个集合上的一组操作的总称。Java中的数据类型分为两大类:一类称基本数据类型,另一类称构造数据类型。基本数据类型是一些不可再分的简单数据类型,如整型、浮点型等。而构造数据类型是由基本数据类型组合而成的数据类型,如数组、类等。1.3 Java语言编程基础42Java的基本数据类型数据类型关键字分配内存空间(位宽)取值范围字节型byte8-128127短整型short16-215215-1整型int32-231231-1长整型long64-263263-1单精度型float321.4E-453.4E+38双精度型double644.9E-3241
25、.797E+308字符型char16Unicode字符布尔型boolean1true 、false1.3 Java语言编程基础2.Java的数据类型432.Java的数据类型整形常量默认为int型,声明long型常量必须加”l”或”L”浮点型常量默认为double型,声明float型必须加”f”或”F”字符类型 与C/C+不同,Java用Unicode码来表示字符, Unicode码占用16个比特位,而C/C+用ASCII码表示。Unicode码定义了一个完全国际化的、可以表示所有人类语言已有的全部字符集。这样无论东方字符还是西方字符,都可以统一用Unicode表示。 Java中字符型变量的类
26、型为char,它在机器中占16位。如 char c = a;布尔型boolean主要用于逻辑测试.它只有两种可能的取值:true或false.构造数据类型(引用数据类型)主要有数组、类、对象、接口等。1.3 Java语言编程基础442.Java的数据类型数据类型转换 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先要转换成同一类型,然后进行运算。转换从低级到高级则系统自动类型转换,反之,从高级到低级则要进行强制类型转换。 如:int three=3; char one=1; char four=(char)(three+one);运算结果被强制转换成char型再赋给字符型变量fou
27、rOne被自动类型转换成 int型参与运算1.3 Java语言编程基础453. Java的运算符与表达式运算符 单目算术运算符:+ +、- -、- 双目算术运算符:+、-、*、/、% 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、=、=、=、9?100:200;问:x=?;y=?答:x=10; y=11;结果:X=0;y=0.4结果:x=1; y=0;结果: y=1001.3 Java语言编程基础474. Java的流程控制语句Java语句 计算机语言中的语句大抵类似人类自然语言中的语句。一个语句形成程序的一个完整执行单位。Java语句有:简单语句 如赋值语句,声明语句,方法调用等
28、,每个语句用分号;结束复合语句(或语句块) 用语句;语句;的语句组.分支语句(if、switch语句)-分支结构循环语句(while语句、for语句) -循环结构跳转语句:break; continue 1.3 Java语言编程基础484. Java的流程控制语句Ifelse语句(双分支结构) if (表达式) 语句例:if (xy) y+=x; if (表达式) 语句1 else 语句2例:if (xy) +y; else +x; if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 else 语句 n /这时,else总是和离它最近的if
29、配对1.3 Java语言编程基础49Switch语句(多分支结构) switch(表达式) case 常量表达式1:语句组1;break; case 常量表达式2:语句组2;break; case 常量表达式3:语句组3;break; case 常量表达式n-1:语句组n-1;break; default:语句块n; 如:switch(ch) case a: System.out.println(ch);break; case b: System.out.println(ch);break; case c: System.out.println(ch);break; default: Syst
30、em.out.println(“非法字符“); 4. Java的流程控制语句1.3 Java语言编程基础504. Java的流程控制语句While语句(循环结构) while(布尔表达式) 语句块 /条件表达式为真执行循环体 例 求1000以内的所有偶数的和(包含1000) public class TestWhile public static void main(String args) int i = 1, sum=0; while(i = 1000) if(i%2=0) sum = sum + i; i+; System.out.println(1000之内所有偶数的和是: + sum
31、); 改变循环条件的语句当循环条件为真时执行循环体1.3 Java语言编程基础51doWhile语句(循环结构) Do 语句或语句块 /循环体 while(条件表达式); 例 求1000以内的所有偶数的和(包含1000) public class TestDoWhile public static void main(String args) int i = 1, sum=0; do if(i%2=0) /判断i是否为偶数sum = sum + i; i+; while(i = 1000); System.out.println(1000之内所有偶数的和是: + sum); 4. Java的流
32、程控制语句如果i的初值是1002,则结果就不同了1.3 Java语言编程基础52for语句(循环结构) for(初始化表达式;条件表达式;迭代式) 循环体语句 例 求1000以内的所有偶数的和(包含1000) public class TestFor public static void main(String args) int sum=0; for(int i = 1;i =1000;i+) if(i%2=0)/判断i是否为偶数sum = sum + i; System.out.println(1000之内所有偶数的和是: + sum); 4. Java的流程控制语句1.3 Java语言编
33、程基础53跳转语句break语句 在前面switch语句、循环语句中,可以使用break语句终止switch语句、循环语句的执行,而整个程序继续执行后面的语句。continue语句 continue语句作用是提前结束本次循环,立即开始下一轮循环。continue语句与break语句的区别:continue语句只结束本次循环,并不终止整个循环的执行。而break语句则是结束整个循环过程,不再判断循环的条件是否成立。4. Java的流程控制语句1.3 Java语言编程基础54public class DemoBreak public static void main(String args) in
34、t sum=0; int number=0; while(number20) number+; if(number=10)|(number=11) continue; sum+=number; if(sum=150) break; System.out.println(The sum is +sum); System.out.println(The number is +number); 输出结果:The sum is 150The number is 184. Java的流程控制语句1.3 Java语言编程基础555.Java异常处理所谓异常是指程序在运行过程中出现的不正常情况或错误程序错误
35、可以分为三类: 语法错误,编译时发现 运行错误,异常处理机制发现 逻辑错误,很难发现,是程序中的bugsJava的异常处理机制是针对运行错误而设计的。56什么是异常举例 class ExcDemo public static void main( String args ) int a = 5; int b = 0; int c = a/b; System.out.println(a+/+b+=+c); System.out.println( 程序结束 ); Java ExcDemo Exception in thread main java.lang.ArithmeticException:
36、 / by zeroat code.ExcDemo.main(ExcDemo.java:7)3.1 异常概念57这个程序没有编译错误,但是运行时期产生错误:java.lang.ArithmeticException: / by zero atExceptionDemo2.main(ExceptionDemo2.java:4)使程序不会执行最后一条语句,也就是说不会正常结束过去的处理方法是在程序中加很多判别语句,使程序冗长难懂3.1 异常概念什么是异常举例58前面例子在Java中的处理:class ExcDemo public static void main( String args ) tr
37、y int a = 5; int b = 0; int c = a/b; System.out.println(a+/+b+=+c); catch(Exception e) e.printStackTrace(); finallySystem.out.println( 程序结束 ); Java ExcDemo 程序结束java.lang.ArithmeticException: / by zeroat code.ExcDemo.main(ExcDemo.java:8)3.1 异常概念返回59Java中的异常机制为了简化处理代码,让正常运作的程序段与处理异常的程序段分离,Java中采用了异常处理
38、机制。在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。 3.1 异常概念60Java异常分类所有异常类型都是Throwable类的子类用于Java运行时系统来显示与运行时系统本身有关的错误用于用户程序可能捕获的异常,也是用来创建用户异常类型子类的类。Error类对象由Java虚拟机生成并抛出;Exception类对象由应用程序处理或抛出。3.1 异常概念61Java异常处理通过5个关键字控制,它们分别是:try、catch、throw、throws和fin
39、ally.当你想自己控制并处理异常时,则使用try,catch,finally.如前面除数为0异常的例子:例子中e.printStackTrace(),是调用了异常对象e中的一个方法,打印异常发生的堆栈路径.在Throwable类中有两个最常用的方法: public void printStackTrace() 打印异常发生的堆栈路径 public String getMessage() 返回异常的描述信息 62 try 语句组; /可能出现异常的语句组 catch(Exception1 ex1) 异常Exception1的处理器; catch(Exception2 ex2) 异常Exception2的处理器; finally 语句组;/无论有无异常发生都要执行的语句 如:IOException 是FileNotFoundException 父类。当捕获到一个异常时,剩下的catch语句就不再进行匹配。因此,在安排catc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共营养师(四级、中级专业能力)(甘肃2026)试题解析及核心考点
- 2026年青海省国际注册内部审计师(CIA)资格考试(内部审计实务)模拟题库及答案
- 2026年国际注册内部审计师(CIA)资格考试(内部审计实务)冲刺试题及答案一
- 2026辽宁营口注册营养师考试专业知识题库及答案
- 2026把控品牌AI可见度指南 即刻着手塑造 AI 对品牌的评价
- 湖南省娄底市2020年中考地理试题
- 大连好好宠医宠物医院建设项目环境影响报告表
- 广东威斯潮玩智能制造异地扩建项目环境影响报告表
- 2026年环保型驱油剂研发创新进展报告
- 2026年医疗大数据创新应用分析报告
- 不锈钢加工安全生产注意事项
- 2026年企业海关合规培训课件与进出口通关风险防控
- 2024江苏镇江市润州区招聘村(社区)党务工作者、社区工作者16人(第二批)备考题库带答案解析
- 中信银行个人理财产品销售资质考试试卷2025年及答案
- 低压配电柜安装与维护技术手册
- 2025年音乐治疗师招聘面试参考题库及答案
- 山东能源集团招聘试题及答案
- 儿童卵黄囊瘤课件
- 安全生产管理人员配备标准
- (正式版)DB23∕T 2716-2020 《黑龙江省城镇供水经营服务标准》
- 化工防雷电安全知识培训课件
评论
0/150
提交评论