




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章数组和字符串学习导读字符、字符串、数组都是使用Java语言编制程序要经常使用的数据结构,因此,熟练掌握这些数据结构是进一步学习Java程序设计的必要阶段。通过本章的学习,应该能够熟练掌握字符、字符串、数组的各种基本操作。4.1数组数组是相同类型变量的集合,可以使用共同的名字对它进行引用。在Java中,数组是对象,Object类中定义的方法都可以用于数组。数组可被定义为任何有效数据类型,也就是说,数组元素可以是基本类型,也可以是类类型或者数组。在数组中:每个元素的数据类型相同。可以通过数组名和下标来确定每一个元素。每一个元素又可以是复合数据类型。4.1数组数组类型是一种特殊的对象。有:定义、初始化、引用和释放(由GC来自动实现)的过程。建立java数组需要以下三个步骤:声明数组创建数组空间初始化数组元素
4.1.1一维数组1.数组的声明,一维数组有两种格式:格式一:数组元素类型数组名[]
如:inta[];int[]a;
格式二:数组元素类型[]数组名如:int[]a;4.1.1一维数组2.数组的创建说明:为数组开辟内存空间,在创建数组空间时必须为它指明数组的长度。一个数组是一个对象,所以用new来创建数组
语法格式为:
数组名=new数组元素类型[数组元素的个数];例如:int[]MyIntArray;MyIntArray=newint[10];
Java中没有静态的数组定义,内存都是通过new动态分配。例如:intintArray[5];//是错误的4.1.1一维数组2.数组的创建例如:创建一个基本数据类型元素的数组:publicchar[]createArray(){char[]s;s=newchar[26];for(inti=0;i<26;i++){s[i]=(char)(‘A’+i);}returns;}4.1.1一维数组3.数组的初始化
初始化数组就是要使数组中的各个元素都有确定的值。如果数组元素的类型是基本数据类型,由于基本数据类型都有缺省值,数组元素都自动初始化为缺省值,比如上面的数组a中的每一个数组元素值都是0。对于以某个类的对象为数组元素的数组,初始化每个数组元素是必须的。对于数组有几个需要注意的地方:(1)所有的数组对象都有一个属性length,这个属性存储了数组元素的个数。(2)Java编程环境会自动检查数组下标是否越界。4.1.1一维数组3.数组的初始化静态初始化和动态初始化
静态初始化就是在定义数组的同时对数组元素进行初始化
静态初始化可用于任何元素类型,初值块中每个位置的每个元素对应一个引用。如:int
intArray[]={1,2,3,4};
int[]ages={34,12,45};动态初始化是使用运算符new为数组分配空间。数组说明的方括号中的数字表示数组元素个数例如:
int[]MyIntArray;
MyIntArray=newint[2];MyIntArray[0]=1,MyIntArray[1]=3,MyIntArray[2]=214.1.1一维数组4.数组的边界数组下标从0开始,元素个数length是数组类中唯一的数据成员变量
new创建数组时系统自动给length赋值数组一旦创建完毕,其大小就固定下来程序运行时可以使用length进行数组边界检查。如果发生越界访问,则抛出一个异常4.1.2多维数组-二维数组起点和终点数组的长度:数组名.length起点:数组名[0]终点:数组名[length-1]inti={4,56,78,9,34};i.length
5i[0]4i[length-1]=i[4]34i[a]若a>4则???4.1.1一维数组4.数组的边界例:classTest{publicstaticvoidmain(Stringargs[]){intlist[]={1,2,3,4,5},j=0;for(inti=1;i<=5;i++){System.out.println(list[i]);}}}数组下标最大为4,越界4.1.1一维数组4.数组的边界例:intlist[]=newint[10],j=0;for(inti=0;i<list.length;i++){
j+=1;}循环的结束条件中使用list.length,而不是常数10。这样做不会引起数组下标越界,使程序更健壮,修改更方便。4.1.1一维数组5.数组的使用和复制数组名加上下标,引用方式为:index为数组下标,下标从0开始,一直到length-1例如:arrayName[index]下标是整型常数或表达式
例如:arrayName[1],
arrayName[i],arrayName[6*i]4.1.1一维数组5.数组的使用和复制数组的复制,例如:intnum[]={9,8,3,0,2};intnumCopy[]=num;numCopy[2]=9;4.1.1一维数组6、数组的改变不能改变一个已定义的数组的大小,但可以改变引用变量所指向的数组例:intj[]={1,12};j=newint[3];for(inti=0;i<j.length;i++){j[i]=i;}例4.1逐个输入并计算10个学生的平均成绩。importjava.io.*;publicclassLi4_01{publicstaticvoidmain(String[]args)throwsIOException {intk,count=10;//count为学生的个数floatscore[]=newfloat[count];//学生的成绩数组floatfloatSum=0.0f,floatAver=0.0f;//学生的总成绩和平均成绩Stringstr;BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));for(k=0;k<count;k++){System.out.print("请输入第"+(k+1)+"个学生的成绩:");str=buf.readLine(); score[k]=Float.parseFloat(str);floatSum+=score[k];}floatAver=floatSum/count;System.out.println("这"+count+"个同学的平均成绩是:"+floatAver);}}4.1.1一维数组-小结类型相同、数量确定的存储结构用下标访问数组中任一个元素,数组名[下标]声明、创建(new)、初始化/赋值;
4.1.2多维数组多维数组的定义:
ArraysofArrays例:表格(行和列)期中考试期末考试姓名总分6870学生A698085学生B847590学生C864.1.2多维数组多维数组的定义:
Java中没有真正的多维数组,可以建立数组的数组(的数组……),由此得到多维数组n维数组是n-1维数组的数组说明多维数组时使用类型及多对方括号4.1.2多维数组-二维数组1、二维数组定义方式:typearrayName[][]例如:inta2[][]=newint[2][];
type[][]arrayNameint[]a3[]=newint[4][6];与一维数组一样,定义对数组元素也没有分配内存空间,要使用运算符new来分配内存,然后才可以访问每个元素interrarr1[2][3];
不允许说明静态数组4.1.2多维数组-二维数组1、二维数组定义方式:typearrayName[][]例如:inta2[][]=newint[2][];
type[][]arrayNameint[]a3[]=newint[4][6];与一维数组一样,定义对数组元素也没有分配内存空间,要使用运算符new来分配内存,然后才可以访问每个元素interrarr1[2][3];interrarr3[][4]=newint[3][4];数组维数的指定只能出现在new运算符之后4.1.2多维数组-二维数组
classTest{ publicstaticvoidmain(Stringargs[]){ inta[][]=newint[][]; System.out.println(a.length); } }
C:\>javacTest.java Test.java:3:'{'expectedinta[][]=newint[][];^ 1error4.1.2多维数组-二维数组2、二维数组初始化静态初始化:在定义数组的同时为数组分配空间例:int
intArray[][]={{2,3},{1,5},{3,4}};
数组intArray为一个3行2列的数组,它的形式如下:
23 15 344.1.2多维数组-二维数组2、二维数组初始化静态初始化:在定义数组的同时为数组分配空间动态初始化
直接为每一维分配空间
typearrayName[][]=newtype[arraylength1][arraylength2]
例如:
inta[][]=newint[2][3];4.1.2多维数组-二维数组2、二维数组初始化静态初始化:在定义数组的同时为数组分配空间动态初始化
直接为每一维分配空间从最高维起(而且必须从最高维开始),分别为每一维分配内存
typearrayN[][]=newtype[arrleng1][];
arrayN[0]=newtype[arrleng2];
arrayN[1]=newtype[arrleng2];......
arrayN[arrleng1-1]=newtype[arrleng2];4.1.2多维数组-二维数组2、二维数组初始化静态初始化:在定义数组的同时为数组分配空间动态初始化
直接为每一维分配空间从最高维起(而且必须从最高维开始),分别为每一维分配内存例如:interrarr2[][]=newint[][4];说明顺序应从高维到低维4.1.2多维数组-二维数组2、二维数组初始化静态初始化:在定义数组的同时为数组分配空间动态初始化
直接为每一维分配空间从最高维起(而且必须从最高维开始),分别为每一维分配内存例如:int[][]a=newint[2][];
a[0]=newint[3]; a[1]=newint[3];
可以为每行设置为空间大小不同的数组。例如:a[0]=newint[3];a[1]=newint[5];4.1.2多维数组-二维数组2、二维数组初始化例:inttwoDim[][]=newint[4][];
twoDim[0]=newint[2];
twoDim[1]=newint[4];
twoDim[2]=newint[6];
twoDim[3]=newint[8];XXXXXXXXXXXXXXXXXXXXtwoDim数组为4行,每行的元素个数分别为2,4,6,8个4.1.2多维数组-二维数组3、Length属性多维数组的length属性只返回第一维的长度
例: intages[4][7];ages.length; //返回4,而不是28可以分别存取每一维的长度,如: int[][]ages=intages[4][7]; int[]firstArray=ages[0]; ages.length*firstArray.length; //返回284.1.2多维数组-三维数组三维及以上多维数组的声明与使用要声明三维及其以上的多维数组,只要在声明数组时,加上相应的一对对中括号即可。例如:用intA[][][]声明三维整型数组用floatB[][][][]声明四维浮点型数组,……//多维数组应用,Li4_05.javapublicclassLi4_05{publicstaticvoidmain(Stringargs[]){intm=0,j=0,k=0;intA[][][]={{{1,2,3,4},{5,6,7,8}},{{9,8,7,6},{5,4,3,2}}};for(m=0;m<A.length;m++)for(j=0;j<A[m].length;j++){for(k=0;k<A[m][j].length;k++)System.out.print("A["+m+"]["+j+"]["+k+"]="+A[m][j][k]+"\t");System.out.println();}}}4.1.2数组的操作在“java.util”包中,专门有一个数组类Arrays,该类提供了一些方法用于排序、查找等操作,在编制程序中可以直接使用这些方法。4.1.2数组的操作1、数据的复制使用System.arraycopy()方法://原数组intelements[]={1,2,3,4,5,6};//新数组inthold[]={10,9,8,7,6,5,4,3,2,1};//从elements复制所有数据到hold数组System.arraycopy(elements,0,hold,0,elements.length);结果:{1,2,3,4,5,6,5,4,3,2,1}//数组复制举例,Li4_06.javapublicclassLi4_06{publicstaticvoidmain(Stringargs[]){intk,a1[]={5,4,3,2,1};inta2[],a3[];a2=a1;a3=newint[7];for(k=0;k<a2.length;k++){a2[k]+=2;System.out.print(+a2[k]+"\t");}System.out.println();System.arraycopy(a2,2,a3,1,3);for(k=0;k<a3.length;k++)System.out.print(+a3[k]+"\t");}}结果:765430543000//从a2数组第2个元素开始复制3个元素,放到a3数组中的第1个元素位置起向后4.1.2数组的操作2、数组的排序
在编制程序中可以直接使用类Arrays提供的某个sort方法,来对数组排序。sort方法常见的使用形式如下:publicstaticvoidsort(数组类型[]数组名)该方法用改进的快速排序法对指定的数组进行排序,其中数组类型可以是char、byte、short、int、long、float、double或者Object。sort另外一种常见的形式:publicstaticvoidsort(数组类型[]数组名,intfromIndex,inttoIndex)这种形式只对数组中指定范围内的元素(从数组名[fromIndex]到数组名[toIndex-1])排序。
//数组排序举例,Li4_07.javaimportjava.util.*;//因为要用Array类,故一定要有此句publicclassLi4_07{publicstaticvoidmain(Stringargs[]){intk,baka[]=newint[11],a[]={9,7,5,3,1,0,10,8,2,4,6};System.out.println("\t\t排序前a数组各元素为:");for(k=0;k<a.length;k++){System.out.print(a[k]+"\t");baka[k]=a[k];}System.out.println();Arrays.sort(a);System.out.println("\t\t完全排序后a数组各元素为:");for(k=0;k<a.length;k++)System.out.print(a[k]+"\t");}}4.1.2数组的操作3、数组的查找publicstaticintbinarySearch(数组类型[]数组名,数组类型元素名)该方法用折半查找算法在指定的数组中查找特定的元素。其中数组类型可以是char、byte、short、int、long、float、double或者Object,并且在方法调用前必须是一个有序数组。该方法如果在数组中查找到指定的元素,则返回该元素的下标;如果没有找到匹配的元素,则返回一个负值r,位置-(r+1)为保持数组有序时被查找元素应该插入的位置。P784.1.2数组的操作4、数组的填充
publicstaticvoidfill(数组类型[]数组名,数组类型元素名)该方法用指定的元素值来填充数组,执行该方法的结果是:数组中所有元素的值都变成指定的元素值。其中数组类型可以是char、byte、short、int、long、float、double或者Object。//数组元素的填充,Li4_09.javaimportjava.util.*;publicclassLi4_09{publicstaticvoidmain(Stringargs[]){inta=118,b=222,c=2,d=7,k,cArray[]={123,63,-77,468,118,22,-43,99,1};System.out.println("\t\tcArray数组各元素为:");for(k=0;k<cArray.length;k++){System.out.print(cArray[k]+"\t");}System.out.println();Arrays.fill(cArray,a);System.out.println("\t用"+a+"填充后cArray数组各元素为:");for(k=0;k<cArray.length;k++){System.out.print(cArray[k]+"\t");}}}
结果:12363-7746811822-43991118118118118118118118118118//数组元素的填充,Li4_09.javaimportjava.util.*;publicclassLi4_09{publicstaticvoidmain(Stringargs[]){inta=118,b=222,c=2,d=7,k,cArray[]={123,63,-77,468,118,22,-43,99,1};Arrays.fill(cArray,c,d,b);for(k=0;k<cArray.length;k++){System.out.print(cArray[k]+"\t");}System.out.println();}}
结果:123631181181181181189914.2字符串字符是指用单引号括起来单个字符,如‘a’、‘b’、‘A’等。这里的字符不是指占1个字节的ASCII字符,而是指占2个字节的Unicode字符。因为Unicode字符集被设计用来处理现在世界上所有书面语言中的字符,所以一个汉字也是被当作一个字符来处理的。4.2字符串在Java语言中,字符串为一串字符,它为类的对象,用“”括起来。字符串是一种复合数据类型,包括定长字符串:String类(效率较高)可变字符串:StringBuffer类(使用灵活)字符串是final型的,不能被继承它们的构造方法有许多种。4.2字符串1、字符串的声明与创建声明字符串的格式是:StringstringName;★字符串的创建格式:stringName=newString(字符串常量);或者stringName=字符串常量;★举例:str=newString(“aaaaaaa");str=“aaaaaaa";4.2字符串1、字符串的声明与创建构造方法主要有:
String()
该构造函数用于创建一个空的字符串常量。例如:Strings=newString();String(charvalue[])
该构造函数用于根据一个已经存在的字符数组来创建一个新的字符串常量。例如:charchars1[]={‘b’,’c’,’d’}Strings1=newString(chars1);4.2字符串1、字符串的声明与创建构造方法主要有:
publicString(Stringvalue)
该构造函数用于根据一个已经存在的字符串常量来创建一个新的字符串常量,该字符串的内容和已经存在的字符串常量一致。
publicString(StringBufferbuffer)
该构造函数用于根据一个已经存在的StringBuffer对象来创建一个新的字符串常量。4.2字符串2、字符串常用操作方法确定字符串的长度,这里的长度指的是字符串中Unicode字符的数目。
publicintlength()求字符串中某一位置的字符
publiccharcharAt(intindex)
返回字符串中指定位置的字符。值得注意的是,在字符串中第一个字符的索引是0,第二个字符的索引是1,依次类推,最后一个字符的索引是length()-1。4.2字符串例:Strings1=newString("HelloWorld.");charcArray[]={'J','B','u','i','l','d','e','r'};Strings2=newString(cArray);//s2="JBuilder"inti=s1.length(); charc=s1.charAt(4); i=12c='o'4.2字符串2、字符串常用操作方法从字符串中提取子串
利用String类提供的substring方法可以从一个大的字符串中提取一个子串,该方法有两种常用的形式:
1)publicStringsubstring(int
beginIndex)
该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回。
2)publicStringsubstring(int
beginIndex,int
endIndex)
该方法从当前字符串中取出一个子串,该子串从beginIndex位置起至endIndex-1位置结束。子串的长度为endIndex-beginIndex。4.2字符串例:Strings3="abcdef".substring(2,5) //s3="cde"floatab=2.23f;Stringa=String.valueOf(ab);System.out.print(a.substring(0,3));4.2字符串2、字符串常用操作方法字符串的比较
比较字符串可以利用String类提供的下列方法:
1)publicint
compareTo(String
anotherString)
该方法比较两个字符串,其比较过程实际上是两个字符串中相同位置上的字符按Unicode中排列顺序逐个比较的结果。如果在比较过程中,两个字符串是完全相等的,compareTo方法返回0;如果在比较过程中,发现了不同的地方,compareTo方法返回一个大于0的整数,否则返回一个小于0的整数。
4.2字符串2、字符串常用操作方法字符串的比较比较字符串可以利用String类提供的下列方法:
1)publicint
compareTo(String
anotherString)2)publicint
compareToIgnoreCase(StringstringName2)
该方法比较两个字符串,但忽略大小写的比较。4.2字符串2、字符串常用操作方法字符串的比较比较字符串可以利用String类提供的下列方法:
1)publicint
compareTo(String
anotherString)2)publicint
compareToIgnoreCase(StringstringName2)3)publicboolean
equals(Object
anotherObject)
该方法比较两个字符串,和Character类提供的equals方法相似,因为它们都是覆盖Object类的方法。该方法比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。例如:Stringb=("cdz");
booleanc=b.equals(“Cdz”);//c的值为false;4.2字符串2、字符串常用操作方法字符串的比较
比较字符串可以利用String类提供的下列方法:
1)publicint
compareTo(String
anotherString)2)publicint
compareToIgnoreCase(StringstringName2)3)publicbooleanequals(StringanotherString)4)publicboolean
equalsIgnoreCase(String
anotherString)
该方法和equals方法相似,不同的地方在于,equalsIgnoreCase方法将忽略字母大小写的区别。例如:Stringb=("cdz");
booleanc=b.equals(“Cdz”);//c的值为true;4.2字符串2、字符串常用操作方法字符串的连接
publicStringconcat(String
str)
该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面。
4.2字符串2、字符串常用操作方法字符串中单个字符的查找
字符串中单个字符的查找可以利用String类提供的下列方法:
1)publicint
indexOf(int
ch)
该方法用于查找当前字符串中某一个特定字符ch出现的位置。该方法从头向后查找,如果在字符串中找到字符ch,则返回字符ch在字符串中第一次出现的位置;如果在整个字符串中没有找到字符ch,则返回-1。
4.2字符串2、字符串常用操作方法字符串中单个字符的查找
字符串中单个字符的查找可以利用String类提供的下列方法:
1)publicint
indexOf(int
ch)
2)publicint
indexOf(int
ch,int
fromIndex)
该方法和第一种方法类似,不同的地方在于:该方法从fromIndex位置向后查找,返回的仍然是字符ch在字符串第一次出现的位置。4.2字符串2、字符串常用操作方法字符串中单个字符的查找
字符串中单个字符的查找可以利用String类提供的下列方法:
1)publicint
indexOf(int
ch)
2)publicint
indexOf(int
ch,int
fromIndex)
3)publicint
lastIndexOf(int
ch)
该方法和第一种方法类似,不同的地方在于:该方法从字符串的末尾位置向前查找,返回的仍然是字符ch在字符串第一次出现的位置。4.2字符串2、字符串常用操作方法字符串中单个字符的查找
字符串中单个字符的查找可以利用String类提供的下列方法:
1)publicint
indexOf(int
ch)
2)publicint
indexOf(int
ch,int
fromIndex)
3)publicint
lastIndexOf(int
ch)
4)publicint
lastIndexOf(int
ch,int
fromIndex)
该方法和第二种方法类似,不同的地方在于:该方法从fromIndex位置向前查找,返回的仍然是字符ch在字符串第一次出现的位置。4.2字符串2、字符串常用操作方法字符串中字符大小写的转换
字符串中字符大小写的转换,可以利用String类提供的下列方法:
1)publicStringtoLowerCase()
该方法将字符串中所有字符转换成小写,并返回转换后的新串。
2)publicStringtoUpperCase()
该方法将字符串中所有字符转换成大写,并返回转换后的新串。4.2字符串2、字符串常用操作方法字符串中字符的替换
1)publicStringreplace(char
oldChar,charnewChar)
该方法用字符newChar替换当前字符串中所有的字符oldChar,并返回一个新的字符串。4.2字符串2、字符串常用操作方法字符串中字符的替换
1)publicStringreplace(char
oldChar,charnewChar)2)publicStringreplaceFirst(String
regex,Stringreplacement)
该方法用字符串replacement的内容替换当前字符串中遇到的第一个和字符串regex相一致的子串,并将产生的新字符串返回。4.2字符串2、字符串常用操作方法字符串中字符的替换
1)publicStringreplace(char
oldChar,charnewChar)2)publicStringreplaceFirst(String
regex,Stringreplacement)3)publicStringreplaceAll(String
regex,Stringreplacement)
该方法用字符串replacement的内容替换当前字符串中遇到的所有和字符串regex相一致的子串,并将产生的新字符串返回。4.2字符串2、字符串常用操作方法字符串转换成字符数组
1)publicvoidgetChars(int
begin,int
end,char[]ch,int
dbegin)
该方法将字符串中从begin开始到end结束的字符存放到字符数组ch中例:str=“sdfafdas”;
intn1=str.length();char[]ch1=newchar[n1];str.getChars(0,8,ch,0);4.2字符串2、字符串常用操作方法字符串转换成字符数组
2)publicchar[]toCharArray()
该方法将字符串中转化成字符数组例:str=“sdfafdas”;char[]ch1;ch1=str.toCharArray();System.out.println(ch1);for(intk=0,k<ch1.length;k++){System.out.print(ch1[k]);}4.2字符串3、StringBuffer修改一个StringBuffer类的字符串时,不用再创建一个新的字符串对象,而是直接操作原字符串分配内存时,除去字符所占空间外,再另加16个字符大小的缓冲区StringBuffer的长度是指存储在其中的字符个数,容量是指缓冲所能容纳的最大字符数
4.2字符串3、StringBufferStringBuffer类对象表示的是字符串变量,每一个StringBuffer类对象都是可以扩充和修改的字符串变量。以下是常用的StringBuffer类构造函数:1)publicStringBuffer()2)publicStringBuffer(Stringstr)3)publicStringBuffer(intlength)4.2字符串3、StringBuffer
StringBuffer类对象的长度与容量一个StringBuffer类对象的长度指的是它包含的字符个数;容量指的是被分配的字符空间的数量。1)publicintlength()该方法返回当前StringBuffer类对象包含的字符个数。2)publicintcapacity()该方法返回当前StringBuffer类对象分配的字符空间的数量。4.2字符串3、StringBuffer
StringBuffer类对象的长度与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大班穿鞋选择性安全
- 杭州电子科技大学信息工程学院《交直流调速控制系统》2023-2024学年第二学期期末试卷
- 防疫知识安全教育主题班会
- 湖北工程学院《环境影响评价》2023-2024学年第二学期期末试卷
- 浙江工业大学《形体训练与舞蹈编导基础》2023-2024学年第二学期期末试卷
- 2025年广东省名校高三第二次月考试题含解析
- 长安大学兴华学院《中间体化学》2023-2024学年第二学期期末试卷
- 北京师范大学珠海分校《麻醉设备学基础》2023-2024学年第二学期期末试卷
- 重酒石酸利斯的明口服溶液-药品临床应用解读
- 昆玉职业技术学院《湘西特色舞蹈》2023-2024学年第二学期期末试卷
- 老年骨质疏松性疼痛诊疗与管理中国专家共识2024解读课件
- 湖北省新八校协作体2024-2025学年高三下学期2月联考数学试题 含解析
- 智能教学工具在小学课堂的应用
- 2024年常德职业技术学院单招职业适应性测试题库
- 干细胞治疗护理
- 幼小衔接数学练习题-30套幼小衔接知识训练
- 招聘与录用(第3版)课件全套 王丽娟 第1-8章 概述、招聘前的理论准备工作 -录用与招聘评估
- 《中国铁路北京局集团有限公司营业线施工管理实施细则》
- 故障诊断技术的国内外发展现状
- 赣美版小学六年级上册美术教案(全册)
- 超长期特别国债项目
评论
0/150
提交评论