版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模块11、Java程序分为Java应用程序和Java小程序 2、Java应用程序有且只有一个main()方法,它是Java应用程序执行的起点和终点,拥有main()方法的类应该加public修饰符,该类为主类。在该函数中通过系统对象System.out中的方法println(),可以在屏幕上输出字符号串。3、Applet程序必须有且仅有一个类是Applet的子类。extends关键字说明welcomApplet是Applet的子类。该类用public修饰,是主类。Applet程序中不需要有main()方法。paint()方法是系统类Applet中已经定义好的成员方法。它将在WWW所显示的Web
2、页面需要重画时(例如浏览器窗口在屏幕上移动或放大、缩小等)被浏览器自动调用并执行,在子类中paint()方法的代码被重写了,它是多态性的一种表现形式。使用Grapahics对象g的一个成员方法drawString(),可在指定的位置显示字符串。在Applet类中,有一下4个方法:init():创建Applet对象时执行,只能执行一次。start():当浏览器从图标恢复成窗口或者是返回该主页时执行,可多次执行stop():当浏览器变成图标或者离开主页时执行,可以多次执行,它的主要功能是停止一些占用系统资源的工作。destroy():用来释放资源。4、关键字和标识符n 标识符n 以字母、下划线“_
3、”、美元符“$”开始n 后面跟字母、下划线、美元符和数字n 区分大小写 n 关键字不能用来做标识符,n 见名知意n 约定(1)类名:应以大写字母开头,若有多个单词组成,那么其中的每个单词都应该以大学字母开头。若其中一个单词是字母缩写,那么此字母缩写应全部以大写字母编写。n Student StringBuffer URL(2) 方法名:应以小写字母开头,若包含多个单词,那么在第一个单词之后的每个单词都应以大写字母开头,第一个单词通常是动词。如:getStudentName( )abstractbooleanbreakbytecasecatchcharclassconst *continuede
4、faultdodoubleelseextendsfalsefinalfinallyfloatforgoto *ifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransient truetryvoidvolatilewhile5、数据类型n 简单数据类型n 整数类型:byte,short,int,longn 实数类型:float,doublen 字符类型:char
5、n 布尔类型:booleann 复合数据类型包括:n 数组n 类:classn 接口:interface6、运算符和表达式n 运算符 算术运算符:+ - + - * / % 关系运算符: = = != 逻辑运算符:! & | 位运算符: & | 赋值运算符:= += -= *= /= %= &= |= = = = 条件运算符:?: 分量运算符: . 下标运算符: 实例运算符: instanceof 方法调用运算符: () 内存分配运算符: new 强制类型运算符:(类型) n 表达式n 数字转换成字符串 Double.toString(double)Float.toString(Float)
6、Long.toString(Long) Integer.toString(Integer) Short.toString(Short) Byte.toString(Byte)n 字符转换成数字Double.parseDouble(string)Float.parseFloat(string)Long.parseLong(string)Integer.parseInteger(string) Short.parseShort(string)Byte.parseByte(string) 7、 package声明包语句,必须作为Java中的第一条可执行语句格式:package 包名;n Java包是
7、由.class文件组成的一个集合。以后如果要使用包中的类,必须使用import导入。 n import语句引入包必须写在package语句和源程序其它语句之间java.lang:Java语言核心包,包含所有的基本语言类,这个包由编译器自动引入。java.applet:包含所有实现小程序的类。java.awt:包含抽象窗口工具集中的图形、文本、窗口GUI类。java.io:包含所有的输入输出类。:包含所有实现网络功能的类。java.util:包含有用的数据类型类。8、 循环控制语句n for语句for(表达式1;表达式2;表达式3)循环体For语句一般用于循环次数确定的情况n w
8、hile语句while(条件表达式) 循环体 先判断条件是否为真,如果为真就进入循环,如果为假可能一次循环也不执行 n do-while语句 do 循环体 while(条件表达式);先执行循环体语句再进行判断,所以至少要执行一次循环9、break、continue和returnn break语句可用于switch多路分支语句和循环语句中,其作用是跳出switch或强行结束循环。n continue语句只能用于循环语句中,其作用是结束本轮循环开始下一轮循环。n return语句:return 表达式;n return结束方法的调用,并返回一个确定的值n 在一个方法中可以有多个return语句,但
9、每次调用只可能有一个return语句被执行。9、 Page 21.实现“九九乘法表”public class Excercise4 public static void main(String args) final int size=9; for (int x = 0; x9; x+) for (int y = 0; y x; y+) int z=x*y; if (z10) System.out.println(); System.out.println( +x+*+y+=+z); System.out.println(); 10. page22.重载构造方法class OverloadDe
10、mo void test()System.out.println(No parameters);void test(int a)System.out.println(a:+a);double test(double a)System.out.println(double a:+a);return a*a;void test(int a,int b)System.out.println(a and+a+b);public class Excercise5public static void main(String args) OverloadDemo ob=new OverloadDemo();
11、 double result; ob.test(); ob.test(10); ob.test(10,20); result=ob.test(123.25); System.out.println(Result of ob.test(123.25):+result);11、数组定义与使用n 数组是Java语言中的一种复合数据类型,是通过下标定位的同类型数据的集合n 一个数组中每个元素的数据类型相同n 基本类型n 对象类型n 数组类型n 数组要经过声明、分配内存及赋值后才能使用 (1) 数组声明语法:n 数组元素类型 数组名;n 数组元素类型 数组名;n 数组元素类型 数组名;n 数组元素类型
12、数组名;int score ;char a ; (2) 数组分配内存n 数组名=new 数组元素类型数组元素个数;score=new int2;a=new char23;(3)数组元素初始化n 数组元素的类型是基本类型:可略n 数组元素的类型是对象类型:必须调用类的构造方法来初始化 score =1,2;a =1,2,3,4,5,6;(4)数组元素的引用:下标n 下标从0开始,一个长度为n的数组,其下标范围是0n-1n 下标必须是整形的值,短整型、字节型和字符型的值也可以作为数组的下标n 越界检查 12、static final double random():随机函数,返回0.0至1.0之间
13、的值13、String类n String类用于表示Java中的字符串常量,字符串一旦被创建,其值就不能再被改变,用双引号引起来的一系列字符。 (1)构造方法常用的有:n String ():新建一个空字符串对象,字符串长度为0。n String (String original):用一个已经存在的字符串常量创建一个新String对象,该对象内容与给出的字符串一致。n String (char value):用指定字符数组value来创建一个字符串对象,字符串对象中的内容为字符数组中的内容。n String (StringBuffer buffer):利用一个已经存在的StringBuffer对
14、象来创建一个新的String对象。 (2)访问字符串方法n int length():获得当前字符串中的字符个数。n char charAt(int index):获取字符串指定index位置上的字符。n String substring(int beginIndex):获得从指定处开始到最后的子串。n String substring(int beginIndex,int endIndex):获得指定范围内的子串。n void getChars(int srcBegin,int srcEnd,char dst,int dstBegin):将一个字符串从srcBegin到srcEnd位置子串复
15、制到数组dst中。n int indexOf(int ch):查找给定的字符ch在字符串中第一次出现的位置。如果找不到返回-1。n int lastindexOf(int ch):查找给定的字符ch在字符串中最后一次出现的位置。如果找不到返回-1。n int indexOf(String str):查找给定的字符串str在字符串中第一次出现的位置。如果找不到返回-1。n int lastindexOf(String str):查找给定的字符串str在字符串中最后一次出现的位置。如果找不到返回-1。(3)修改字符串方法n String contact(String str):将当前字符串对象与给
16、定的字符串str连接起来。n String replace(char oldChar,char newChar):把字符串出现的所有oldChar字符全部用newChar替换。n String toUpperCase():将字符串内的所有字符改为大写。n String toLowerCase():将字符串内的所有字符改为小写。(4)其它方法n boolean equals(String s):将当前字符串与指定的s进行比较,如果长度和内容完全一致就返回true,否则返回false。n boolean equalsIgnoreCase(String s):将当前字符串与指定的s忽略大小写比较。n
17、 int compareTO(String str):将当前字符串与指定的str按字典顺序比较大小,相等返回0,如果该字符串按字典顺序小于参数字符串,返回值小于0,否则大于0。n int compareTOIgnoreCase (String str):将当前字符串与指定的str按字典顺序忽略大小写进行比较。14、StringBuffer类(1)构造方法n StringBuffer():创建一个不包含字符且初始容量为16个字符的StringBuffer对象。n StringBuffer(int capacity):创建一个不包含字符且初始容量为capacity的StringBuffer对象。n
18、 StringBuffer(String str):创建一个StringBuffer对象,该对象包含str字符串。(2)访问字符串方法n int length():返回StringBuffer对象当前的字符个数。n int capacity():不需要另外分配内存的情况下,StringBuffer对象可以存储的字符个数。n void ensureCapacity(int minCapacity):允许指定StringBuffer对象的最小容量。n void setLength(int newLength):允许指定StringBuffer对象可以增加或减少的容量。n char charAt(i
19、nt index):返回StringBuffer对象中指定位置index上的字符。(3)修改字符串方法n void setCharAt(int index,char ch):将StringBuffer对象中指定位置index上的字符设置为ch。n stringBuffer append(String str):在已有字符串末尾添加字符串str。n stringBuffer insert(int offset,String str):在指定位置处插入str。 15、面向对象的三大特征(1)继承(inheritance)n 指新的类可以获得已有类(称为基类或父类)的属性和行为,称新类为已有类的派生
20、类(或子类)。n 有助于解决软件的可重用性问题n 程序结构清晰n 降低了编码和维护的工作量2)封装(encapsulation)n 信息隐蔽技术n 利用抽象数据类型将数据和基于数据的操作封装在一起n 将对象的使用者和设计者分开n 使用者不必知道行为实现的细节,只须使用设计者的提供的消息来访问对象。n 封装的定义:n 清楚的边界,所有对象的内部信息被限定在这个边界内;n 接口即对象向外界提供的方法,外界可以通过这些方法与对象进行交互;n 受保护的内部实现,即软件对象功能的实现细节不能从类外访问。n Java语言通过类来实现封装3)多态(polymorphism)n 静态多态(编译时多态) :在编
21、译阶段,具体调用哪个被重载的方法编译器会根据参数的不同来表态确实调用相应的方法。n 方法重载n 动态多态(运行时多态) :由于派生类继承了基类所有的属性(私有的除外),所以派生类对象可以作为基类对象使用。程序中凡是使用基类对象中的地方,都可以用派生类对象来代替。一个对象可以通过引用派生类的实例来调用派生类的方法。n 方法重写16、类的定义(1)定义语法n 修饰符 class 类名 extends 父类名implements 接口名列表声明成员变量;声明成员方法;类的修饰符包括:public(公共)private(私有)protected(保护)abstract(抽象)final(最终类)n 一
22、般类只有两种访问权限n public(公共):可以在不同的包中引用n 默认(友好):只能在同一个包中引用n 内部类:一个类可以定义在另一个类的内部n 内部类可以有private 和protected权限。成员变量的修饰符:public、protected、private 、final(常量)、static(静态)transient(暂时,用于对象存档)、Volatile(易变,用于并发线程共享) 成员方法的修饰符:public、protected、privaten final(方法不能重写)n static(静态)n native (集成其它语言代码)n synchronized(同步,控制多
23、个线程并发访问)(2)类成员的访问权限n public:在所有包内可见n protected:在同一个包内及其子类(不同包)n 缺省:在同包内可见n private protected:在本类及基子类可见n private:仅在本类内可见(3)对象的定义及使用n 对象的定义包括声明、实例化和初始化n 类名 对象名=new 类名(参数列表);n 通过运算符“.”可以实现对成员变量的访问和成员方法的调用。n 对象名.变量名;n 对象名.方法名;n 注意:如果成员变量和成员方法使用static修饰,它们成为静态成员也称类成员。n 静态成员存储于类的存储区,属于整个类而不属于一个具体的类对象。n 同一
24、个类的所有对象所访问的静态成员都是同一个n 静态方法只能处理静态变量。调用静态成员语法是:n 类名.静态变量名;n 类名.静态方法;17、Java系统默认,每个类都缺省地具有null 、this与Super三个属性(1)null表示“空”,代表一个什么也没有的“空”值。(2)this表示当前对象本身,代表了当前对象的一个引用。(3)super表示的是当前对象的直接基类,是当前对象的直接基类的引用18、构造方法的特点:n 构造方法名与类名相同;n 构造方法不返回任何值,也没有返回类型,即使是void也不行;n 每一个类可以显式定义零个或多个构造方法,如果没有显式定义构造方法,Java会自动提供一
25、个无参构造方法,为类的成员属性赋数据类型默认值;n 构造方法在创建对象时自动执行,一般不能显式地直接调用。 19、继承的特点:n 子类不能继承父类中访问权限为private的成员属性和方法。 n 在Java语言中只允许单继承,n 每一个类只能有一个父类n 一个类允许同时拥有多个子类n 父类:是所有子类的公共成员属性和公共成员方法的集合n 子类:是父类的特殊化,是对公共成员属性和成员方法的功能、内涵方面的扩展和延伸。n 单继承形成了一棵继承树 n 类的继承具有传递性,即子类继承父类的所有非私有成员,也继承父类的父类类直至祖先的所有非私有成员。 20、接口的定义:接口声明和接口体。定义格式:pub
26、licinterface 接口名 extends 父接口名extends:一个接口可有多个父接口,用逗号隔开,而一个类只有一个直接父类。21、 不能被实例化的类称为抽象类(abstract)。用abstract修饰的方法是抽象方法,所有的抽象方法都必须在抽象类中。22、 page50.计算长方形、圆及三角形的面积import java.awt.*;import java.awt.event.*;import javax.swing.*;abstract class ShapeColor c;Shape()public abstract float calArea();public abstra
27、ct void draw(Graphics g);class MyCircle extends Shape /圆Color c;Point p;int r;MyCircle()p = new Point(50,500);r = 100; MyCircle(Point p,int r)this.p = p;this.r = r; public void draw(Graphics g) c = new Color(float)Math.random(),(float)Math.random(),(float)Math.random(); g.setColor(c); /(Color.blue);
28、 g.drawOval(p.x,p.y,r,r); g.drawString(圆的面积是:+calArea(),400,100); public float calArea() return(float)3.14*r*r; class MyRectangle extends Shape /三角形Color c;int xPoints ;int yPoints ;int nPoints;MyRectangle() xPoints = new int20,50,80; yPoints = new int50,80,120; nPoints = xPoints.length; MyRectangle
29、(int xPoints,int yPoints)this.xPoints = xPoints;this.yPoints = yPoints;this.nPoints = xPoints.length; private void randomChangePos() for(int i=0;inPoints;i+) xPointsi=(int)(Math.random()*200+50); for(int i=0;inPoints;i+) yPointsi=(int)(Math.random()*200+50); public void draw(Graphics g) c = new Colo
30、r(float)Math.random(),(float)Math.random(),(float)Math.random(); g.setColor(c); /(Color.blue); g.drawPolygon(xPoints, yPoints, nPoints); /绘制一个由 x 和 y 坐标数组定义的闭合多边形。每对 (x, y) 坐标定义一个点。 randomChangePos(); g.drawString(三角形的面积是:+calArea(),400,300); public float calArea() double a,b,c; double p; a=Math.hyp
31、ot(xPoints0-xPoints1),(yPoints0-yPoints1); b=Math.hypot(xPoints0-xPoints2),(yPoints0-yPoints2); c=Math.hypot(xPoints1-xPoints2),(yPoints1-yPoints2); p=(a+b+c)/2; return(float)Math.sqrt(p*(p-a)*(p-b)*(p-c); class MyRect extends Shape /矩形Color c;Point p1,p2;int width,height;MyRect()p1 = new Point(80,1
32、00);p2 = new Point(80,225);width = 200;height = 300; MyRect(Point p1,Point p2,int width,int height)this.p1 = p1;this.p2 = p2;this.width = width;this.height = height; public void draw(Graphics g) c = new Color(float)Math.random(),(float)Math.random(),(float)Math.random(); g.setColor(c); /(Color.blue)
33、; g.drawRect(p1.x, p1.y, width, height); g.drawString(矩形的面积是:+calArea(),400,500); public float calArea() return width*height; public class TestShape extends JFrame implements ActionListenerShape myTrigle; /用父类Shape来声明三种形状实例变量,因为三角形,矩形,圆是形状的一种。Shape myRect;Shape circle;TestShape()int x= 10,20,30;int
34、y= 100,120,150;Button btn; myTrigle = new MyRectangle(x,y); myRect = new MyRect(); circle = new MyCircle(); btn = new Button(update);setLayout(new FlowLayout();add(btn);btn.addActionListener(this); setSize(600,600); setTitle(我的窗口); setVisible(true); public void paint(Graphics g) super.paint(g);/调用父类
35、的paint函数重画背景,及轻量级组件。 myTrigle.draw(g); myRect.draw(g); circle.draw(g); public void actionPerformed(ActionEvent e) repaint(); public static void main(String arg) new TestShape();23、异常处理的语法结构try可能产生异常的代码 catch(异常类名1 对象名1)处理语句组1 catch(异常类名2 对象名2) 处理语句组2 finally处理语句组n无论在try代码段是否发生异常,finally语句都会被执行模块224、
36、向容器中添加组件 所有的容器都可以通过add()方法向容器中添加组件。 两种方式添加组件: 用getContentPane()方法获得容器的内容窗格,再对其添加组件。如:容器.getContentPane().add(组件) 建立一个JPanel或JDesktopPane之类的中间容器,把组件添加到容器中,再用setContentPane( )方法把该容器替换为内容窗格。如: JPanel ContentPane=new JPanel( ); ContentPane.add(组件); 容器.setContentPane(ContentPane) 25、框架窗口(JFrame)默认布局管理器是B
37、orderLayout26、page70.自主学习import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Hello extends JFrame implements ActionListenerJTextArea tf;JButton bt_show,bt_clear,bt_exit;public Hello()super(Hello);Container c=getContentPane();bt_show=new JButton(显示);bt_clear=new JButton(清除);bt
38、_exit=new JButton(退出);tf=new JTextArea(5,30);tf.setEditable(false);c.setLayout(new FlowLayout();c.add(bt_show);c.add(bt_clear);c.add(bt_exit);c.add(tf);bt_show.addActionListener(this);bt_clear.addActionListener(this);bt_exit.addActionListener(this);setSize(350,200);setLocation(200,200);setVisible(tr
39、ue);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setDefaultLookAndFeelDecorated(true);public void actionPerformed(ActionEvent e)if(e.getSource()=bt_show)tf.setText(欢迎你学习Java!);else if(e.getSource()=bt_clear)tf.setText();elseSystem.exit(0);public static void main(String args) Hello fm=new Hello();2
40、7、面板 (JPanel)28.Java事件的处理步骤为: 选择事件监听器 将事件监听器注册 编写事件处理的程序代码29、几种常用的事件如下: ActionEvent:是发生在单击按钮、选中一个复选框或按下Enter等事件时触发,ActionEvent事件的监听器必须实现ActionListener接口中的actionPerformed()方法。 ItemEvent:是用在具有多个选项的组件上,当每个选项的选择状态(选中或未选中)发生变化时触发。如:复选框、单选框、组合框等 ChangeEvent:是发生在具有数值的组件上。例如滑动杆、进度条。 WindowEvent:用于处理窗口的所有事件。
41、 30、常用的事件监听器ActionListener FocusListener ItemListener KeyListener MouseListener MouseMotionListener TextListener WindowListener31、适配器 :用空方法体实现了监听器接口类中的方法KeyAdapter、MouseAdapter、WindowAdapter32、page82.自主学习import java.awt.*;import javax.swing.*;import java.awt.event.*;class ComputerFrame extends JFram
42、e implements ActionListenerJTextField textOne,textTwo,textResult;JButton giveAnwser;JLabel inputProblem,operatorlabel,message;ComputerFrame(String s)super(s);setLayout(new FlowLayout();textOne=new JTextField(4);textTwo=new JTextField(4);textResult=new JTextField(4);operatorlabel=new JLabel(+);messag
43、e=new JLabel(你还没有回答呢);inputProblem=new JLabel(输入被加数和加数);giveAnwser=new JButton(确认答案);add(inputProblem);add(textOne);add(operatorlabel);add(textTwo);add(new Label(=);add(textResult);add(giveAnwser);add(message);giveAnwser.addActionListener(this);textResult.addActionListener(this);setBounds(100,100,35
44、0,100);setVisible(true);validate();addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););public void actionPerformed(ActionEvent e)if(e.getSource()=giveAnwser)String answer=textResult.getText();tryint x=Integer.parseInt(textOne.getText();int y=Integer.parseInt
45、(textTwo.getText();int result=Integer.parseInt(answer);if(result=x+y)message.setText(恭喜你,回答正确!);elsemessage.setText(回答错误,请重输答案!);catch(NumberFormatException ex)message.setText(请输入数字字符);textResult.requestFocus();validate();public class Calculate public static void main(String args) ComputerFrame fram
46、e; frame=new ComputerFrame(简单加法运算);33、密码框(JPasswordField) 标准对话框(JOptionPane) 34、常用布局类型:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout) 35、page105.应用拓展import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Layout extends JFrame implements ActionL
47、istener TestCardLayout tc=new TestCardLayout();JPanel bottom=new JPanel();JButton b1,b2,b3,b4;public Layout()this.getContentPane().setLayout(new BorderLayout();b1=new JButton(下一页);b2=new JButton(前一页);b3=new JButton(第一页);b4=new JButton(最后一页);bottom.add(b1);bottom.add(b2);bottom.add(b3);bottom.add(b4)
48、;b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);this.getContentPane().add(tc,Center);this.getContentPane().add(bottom,South);setSize(420,360);setVisible(true);setTitle(布局演示);this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);public voi
49、d actionPerformed(ActionEvent e)if(e.getSource()=b1)tc.t.next(tc);else if(e.getSource()=b2)tc.t.previous(tc);else if(e.getSource()=b3) tc.t.first(tc);elsetc.t.last(tc);public static void main(String args) new Layout();class TestCardLayout extends JPanelCardLayout t=new CardLayout();TestCardLayout()setLayout(t);add(FlowLayout,new TestFlowLayout();add(GridLayout,new TestGridLayout();add(BorderLayout,new TestBorderLayout();class TestFlowLayout extends JPanel JLabel lb1,lb2,lb3,lb4,lb5,lb6; TestFlowLayout() setLayout(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年烘焙店店庆活动策划方案
- 2026年企业销售市场拓展措施
- 2026年幼儿园民俗节活动目标
- 2026年销售职业生涯发展规划书
- 2026年起重安全风险辨识报告
- 康定市塔公镇夏马龙村乡村建设项目水土保持方案报告表
- 成都瑞浩置业有限公司铂悦楠院项目水土保持方案报告表
- 计算操作基础实践 12
- 2025-2026学年可爱的小猫教学设计
- 2025-2026学年满山漫步教学设计
- 富阳中学分班考数学试卷
- 消防车使用培训
- 施工机械设备租赁实施方案
- 古代汉语专题-003-国开机考复习资料
- 2023年初级银行从业历年真题汇编(共842题)
- 中医基础理论习题集+中医基础理论知识试题 附答案
- 质量(品质)意识培训资料课件
- DL-T863-2016汽轮机启动调试导则
- 食品配送服务投标方案技术标
- 2024非水冷板式间接液冷数据中心设计规范
- 天津工业大学毛概题库
评论
0/150
提交评论