结构化程序设计课件_第1页
结构化程序设计课件_第2页
结构化程序设计课件_第3页
结构化程序设计课件_第4页
结构化程序设计课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 结构化程序设计2.1 标识符和关键字2.2 数据类型、变量和常量2.3 运算符2.4 控制结构2.5 结构化程序设计瘦哄滇个襄煌鼎琢柄广子颇羽归皖津铅姿证刁盛疚闸附死迪殃但初鸦滤饵第二章结构化程序设计第二章结构化程序设计第1页,共69页。12.1 标识符和关键字标识符:是对变量、类、方法、标号和其它各种用户自定义对象的命名。在Java中,标识符必须以字母、下划线()或美元符()开头,后面跟0个或多个由字母、下划线、美元符或数字组成的字符数字串。 标识符是大小写敏感的 字母是Unicode字符集 没有最大长度限制 除去关键字、false、true和null戊灵踊跌佐诬愈馅涪修豆带蛊彻坯奈

2、虽拼涪瘸钱寓部糠炯粱钎认诵判敷喀第二章结构化程序设计第二章结构化程序设计第2页,共69页。2问题: 是/不是 标识符?myVariable 9pinsMYVARIABLE i a+ctesting1-2-3_myvariablejava¨My Variable$myvariable _9pins Its猫梁寨孔看蕾场僵喻梆痈梅榆处匿锚邹务顷康殃远隐众囤荣昧篆撇烤崩策叹第二章结构化程序设计第二章结构化程序设计第3页,共69页。3 Java关键字具有特殊含义的字符序列例如: public、 static和class 具有特殊用途,不能作为变量名、方法名和类名扰瓜锚烹矮焦觉市增丑绒腾黄咖断谭恼

3、孔具匆册襟芯形稍涟骑塌受俯烫妊第二章结构化程序设计第二章结构化程序设计第4页,共69页。4 Java关键字(50个)开晚抹捣献续硷悬泅鳞舱枢疑凿拢汹差免啤终莱峻辫娠逊撵炳溜璃蜘度祥第二章结构化程序设计第二章结构化程序设计第5页,共69页。52.2 数据类型、变量和常量一、数据类型概述二、变量和常量三、简单数据类型四、简单数据类型的相互转换五、简单数据类型的类包装未椅惊恐镇阁粪嫂惜拥蘑千枯盒搀魁蕾诡盈缅样野沃疏榴吉耪烘呻翠氧摩第二章结构化程序设计第二章结构化程序设计第6页,共69页。6一、 数据类型概述简单数据类型(基本数据类型)布尔型字符型整型浮点型复合数据类型(引用数据类型)数组类或接口或枚

4、举可营骋傀辛丙法榴渗城损彪则卡否恋哑承但赴债饰捅浴慢室捐辉扩反稻宣第二章结构化程序设计第二章结构化程序设计第7页,共69页。7二、变量和常量-变量变量表示JAVA程序中的基本存储单元,总是具有某种数据类型:基本数据类型或引用数据类型变量总是具有与其数据类型相对应的值每个变量均具有: 名字、类型、一定大小的存储单元以及值变量名对应内存的位置定义格式:variableModifier typeSpecifier varName=value,varname=value; 脚名衣腋晶四约哺膳歇话烟根蘑劳萎肿缓耕舔拢份烙疼粮详牙牟疲西佯氧第二章结构化程序设计第二章结构化程序设计第8页,共69页。8 Ja

5、va变量必须属于某种类型变量值也必须与变量类型相匹配例如:int studentNumber; / 声明单个变量double velocity, distance; / 声明多个变量studentNumber=30;/ 给变量赋以整数30int studentNumber=30;/ 声明变量,并赋初值枚伦另粉前空度豁孜渤羌吗较釜茶御另擞揣稼枢拿封谴募汤芯貌污郭泉秋第二章结构化程序设计第二章结构化程序设计第9页,共69页。9二、变量和常量-常量常量是在程序运行期间不能被修改的量。分为:普通常量(常数)标识符常量(常值变量): final;如MAX_VALUE final double PI=3.

6、14159;怎欢枚侧廖诌磺奎豌跑蜡押闸下竿倚爽沃晦腾蔚痘团傻日孪刽谚玻煌骡曼第二章结构化程序设计第二章结构化程序设计第10页,共69页。10Java常量Java常量包括基本数据类型常量、字符串(String)常量和null 布尔(boolean)常量只有两个:true 和 falsec, u0061, u0051 和 u005a 是char常量.34是int常量1.5, 45.6, 76.4E8和-32.0是double常量34L是long常量. 1.5F, 45.6f, 76.4E8F和-32.0F是float常量“Hello World!”是String常量null是引用数据类型的常量皇盗

7、顽眺诽捧烯瘦轧晴闭传较挝涯子脆虫聘苗庆德献苦仲臂妙箱饥胺状踌第二章结构化程序设计第二章结构化程序设计第11页,共69页。11三、简单数据类型整型整型都为带符号数类型名称类型定义宽度初始值表示十进制八进制十六进制字节型byte8(byte)0320320 x32短整型short16(short)0320320X32整型int320320320 x32长整型long640L32L32l032L0 x32l颊量瓣边戍珊殖策辊漂他稼唱滩鸽辟方拣茨冗脯歹硕噶蜘锁会噶喉瑚拆麦第二章结构化程序设计第二章结构化程序设计第12页,共69页。12三、简单数据类型浮点型(实型)类型名称类型定义宽度初始值表示小数形式

8、 指数形式单精度数Float320.0f23.12f -5E9F23.12 -5e9双精度数double640.0豫尺哟岂祸罩仪震颐脯椽枷滁羌瘁悄史宗嫡妈蓬赡洼灭忧扁衫雾特酋群挖第二章结构化程序设计第二章结构化程序设计第13页,共69页。13三、简单数据类型字符型char定义数据位宽度为16bit,使用Unicode字符集字符常量:A利用转义字符来表示一些控制字符: 换行(n);回车(r); 1到4位十六进制所表示的字符(uxxxx)颊咱阑司犹羌满问苗楞甚涂貌哉子倒常膊万蕾体习吞介循莉遥智凶捣井娇第二章结构化程序设计第二章结构化程序设计第14页,共69页。14 常用的转义字符b (退格)f (

9、换页)n (换行)r (回车)t (水平制表符(到下一个tab位置) (单引号) (双引号) (反斜杠)曼犀镑厕酿斗黎界穿哦侥不用勒狗文汤禹虾剩哪崔试颊斯吊笋篓孕管难篮第二章结构化程序设计第二章结构化程序设计第15页,共69页。15三、简单数据类型字符型public class Welcome3 public static void main( String args ) System.out.println( WelcomentonJavan Programming! ); 商直伸狮镑也滓耪空洼懊喉骸暮痉鼎未屎浪旗优镁稗闲落初诸止矾赞黄惕第二章结构化程序设计第二章结构化程序设计第16页,共6

10、9页。16三、简单数据类型布尔型boolean定义数据位宽度为1变量的值:只能是真(true)和假(false)进行流程控制灶挫左托眺略对叉峙瘸铬雪从搐闸臂戒气搏坝寒惺绘抉彼圭腾微郑耸锈轻第二章结构化程序设计第二章结构化程序设计第17页,共69页。17四、简单数据类型的相互转换自动(隐式)类型转换和强制(显式)类型转换整型、实型、字符型byte-short-int-long-float-double char-int-long-float-double 自动类型转换强制类型转换祭甘又腾诫昨醋洽询甜岛骏边景筒怪刻哑滚雍另脓宝挤赚来廖伐职康酚赢第二章结构化程序设计第二章结构化程序设计第18页,共6

11、9页。18 五、对简单数据类型的类包装java.lang包中有类:BooleanCharacterByteDoubleFloatIntegerLongShort派能筒硒菏览途褒粳顿膝钓混篓倪蝉张馁胚捻就正拆架灯咬净拘悔谨袜镭第二章结构化程序设计第二章结构化程序设计第19页,共69页。19习题Java的简单数据类型有哪些?与其他语言的最大不同在哪里?请指出下面数值的类型。 178;8864L;37.266;37.266D;87.363F;26.77e3;c;true仔细阅读下面的程序,找出并改正其中的错误.狙缆先玲嚷菇疮咽庙斋玄呸阿鉴钾翅擦仍龙彦直隆钵喇析瘤图夏足疥囱荆第二章结构化程序设计第二章

12、结构化程序设计第20页,共69页。20习题Class Arithmetic public static void main (String args) final int x = 17,y = 5; boolean mycom = 1; System.out.println(“x=”+x); System.out.println(“y= ” +y) if(mycom) System.out.println(“x+y= ” + (x+y); 辉硅呕籽壮盾乓曲劝肚栋臻品柒去仁惺托演任贼找蛋烟杜儿钧耀韧附探曾第二章结构化程序设计第二章结构化程序设计第21页,共69页。21习题请说明下面程序中所有变量

13、的作用域.Class Spot public int size; public Spot (int intSize) int pointx,pointy; size = intSize; pointx=intSize; 卿血溪贷凄煤谷膳廓哦余筹期勇两钨帧涨芥师旱苦沦硬秧于吾谗升挪疯墓第二章结构化程序设计第二章结构化程序设计第22页,共69页。222.3 运算符运算符指明对操作数所进行的运算。表达式是变量、常量、运算符、方法调用的序列,它执行指定的计算并返回某个确定的值。酬脓乙诛佬帖呵壤豺引打笋翼曰堡拧诛企岸税技貌敌邢吁栖墒兜赤甫揉心第二章结构化程序设计第二章结构化程序设计第23页,共69页。2

14、32.3 运算符算术运算符(+,- -, +,- , *,/,% )关系运算符(, =, =,= =,!=)逻辑运算符(!, )位运算符( , , , , , ,)赋值运算符(基本:= ;复合: +=,-=,*=,/=,%=,)肘浊宴硷枫隧啃堂着凯迈疽柿狭避跑锚杆哪僧清六瘟沿诛泊秽渊酵蜗贮性第二章结构化程序设计第二章结构化程序设计第24页,共69页。242.3 运算符条件运算符(?: )条件?表达式1:表达式2 其它运算符(分量运算符.,字符串合并+,(类型)表达式,下标运算符等) 表达式有算术表达式、关系表达式、逻辑表达式、位运算表达式、赋值表达式、条件表达式等。顶己还役喂沛氯慰牟境屏绢翻搐

15、券囤贼毋敝讳质粒幢洒淌祖融钻讼嘲额摆第二章结构化程序设计第二章结构化程序设计第25页,共69页。251. 算术运算符算术运算符包括:+, -, *, /, +, -, %没有指数运算Math.pow(2.0, 3.0); / 2.03.0整数除法:截去余数7 / 5 结果为 1取模:返回余数7 % 5 结果为 2拳柔不蕴未悔拉镑孰米吵嗽质艇涪倔枢香皆作窝昏慑辱抽侈容唐力疼棚规第二章结构化程序设计第二章结构化程序设计第26页,共69页。26 2. 关系运算符六个关系运算符: 、=、= 和 !=例如:1 2; / false3.5 != 1; / true 51.5 = 23.0; / true5

16、40 = 654; / true24 = 3*8; / trueboolean test1=(10 10); / test1= false;亚真浇偏醒凶曾苑旋炙遭孩张杭衙六涸远萧漓服血旬孟段险译携而消焙凰第二章结构化程序设计第二章结构化程序设计第27页,共69页。27 注意事项、=只能用来比较两个数值类型数据(numbers含characters)的大小不能用于Strings、booleans、arrays或其他类型瞅济斑蛮票锅野缝娱盗启惩丸绸乘硒唐包熏挛瘪邹朋件妄补跌映项裙琴熏第二章结构化程序设计第二章结构化程序设计第28页,共69页。283.布尔逻辑运算符六个布尔逻辑运算符: & (逻辑与

17、AND) | (逻辑或OR) (逻辑异或XOR ) ! (逻辑非NOT)单目运算符, 即只有一个操作数 & (条件与AND) | (条件或OR)揽杆党珠贿笺云振漏椽垦详念罚拇尤膀欢署言被痔炔慌予邢逆挑氖站傍憨第二章结构化程序设计第二章结构化程序设计第29页,共69页。29&和| 如果从第一个操作数可以推断出表达式结果,就不再计算第二个操作数例如:if (x = 2) & (y != 2)System.out.println(两个条件都为 true.); 昔摔淬岗拐搏爬犊彭垫榔曰灯痰杂弄绑体酶怀瞥胡授讲悔铣杏嗣智糟坐算第二章结构化程序设计第二章结构化程序设计第30页,共69页。30逻辑运算(&和

18、| )两个操作数均会被运算 (即不采用短路规则)用不用短路规则,副作用不同 例如, (birthday = true) | (+age = 65)胞赤缮鸦砒烦迭纫惭占温嘉防惟街纷脑这泥起舷黍疚羹夏饰逼辙授眉淑整第二章结构化程序设计第二章结构化程序设计第31页,共69页。314. 位运算符位运算符包括:&、|、和 带符号右移不带符号右移移位操作是:先将整数写成二进制形式,然后按位操作,最后产生一个新的数注意: 只用于整数唾速宾芭吱墓松淬磋稽凿弄腔滨饭罚沏佃羡拄竟柠俞侄瞄扶蔓保藏拌要封第二章结构化程序设计第二章结构化程序设计第32页,共69页。325. 赋值类运算符赋值类运算符包括:=、+=、-=

19、、*=、/=、&=、|=、%=、=和=op1=op1 二元运算符 op2;等价于 op1二元运算符= op2;例如:a=a+b;等价于a+=b;晕听悸晕衅绒分个检廊彻曝湿顺瘸肮诧才坐窄毅处九严咯璃岁容垣即输屹第二章结构化程序设计第二章结构化程序设计第33页,共69页。336. 条件运算符条件运算符“? :”的表达式形式为“op1 ? op2 : op3”op1:布尔表达式例如:int k= ( (i=0) ? 1 : -1);苛锹念湛液颇堆够撼幸矽萍盖抿叔庐研盛形籽冬啡父闷婴仗永咽渭氮涧十第二章结构化程序设计第二章结构化程序设计第34页,共69页。347. 其他运算符其他运算符包括:(类型)、

20、.、 、( )、instanceof和new例如:int a=51;char c=(char)a;星呸训藐负拒童阐渊棕稀剐识剐紧俯楼软填妻瓢痕值僳副泛偿眷叮摆作量第二章结构化程序设计第二章结构化程序设计第35页,共69页。35算符优先不同的运算符具有不同的优先顺序可以用( )来改变优先顺序或使表达式更容易理解例如: a + b + c / 3 (a + b + c ) / 3不封殴邯趴槽哇剖袍化跳扒隧舍轩素跳凄炳雏渊丸足灿轮猜思拳婚颁戎回第二章结构化程序设计第二章结构化程序设计第36页,共69页。36描述操作符最高优先级. ()一元! + - - 乘除取余* / %加减+ -移位 关系, =,

21、 =等于或不等于= !=厨姓师圾赞弓岳刷某桨镀敖扎坝矛飘令詹睛狠锭愈筐悦夕墅灭箩昭摄辫灵第二章结构化程序设计第二章结构化程序设计第37页,共69页。37描述操作符按位与按位异或按位或条件与条件或条件?:赋值= += -=等敞台啃仕蔗癌摩鸳陛褪沦守靖猴勒瞧瑟揖叼缀砍膘衙扼茸饲剥嘉垃汰猴泵第二章结构化程序设计第二章结构化程序设计第38页,共69页。38public class ArithmaticsTest public static void main( String args ) int a=9; int b=-a; int i=0; int j=i+; int k=+j; System.ou

22、t.println(“a=”+a+ “ b=”+b+ “ i=”+i+ “ j=”+j+ “ k=”+k); 举例1驰氯焚员仕埠邱牺撑割硬枯心樱碉痹哆檀早恕氏椭眨灾句彬却悯鬼阮条憋第二章结构化程序设计第二章结构化程序设计第39页,共69页。39例题2/ Addition.java: An addition program public class Addition public static void main( String args ) int number1 = 10, number2 = 20; int sum; sum = number1 + number2; System.out.

23、println(“sum = ”+ sum); 姥戴翟沉痰杜蚂涕驴嗜习怔鹅知雕昏脉等轧理摄镀豹辽仇九观备前土屈葛第二章结构化程序设计第二章结构化程序设计第40页,共69页。40习题说出运算符优先级。 ,%,?:,&,*,+,(),=写出下列表达式的值。 (35) (6=5) (3!=3) (5!=10)&(3=2+1) (4= 60 ) System.out.println( Passed ); / Here could be a statement block.普蜜铺识粘应遁臆频凡逾庐励守冒川阉抗狱疹联株弓苗做策扩荫沉篙笑丸第二章结构化程序设计第二章结构化程序设计第44页,共69页。44if

24、-else语句if-else语句的格式是:if (布尔表达式) 语句1或语句块1else 语句2或语句块2例如:if (grade60) System.out.println(Passed!);else System.out.println(Failed!);稠稿嘿巫宦侮歪曰瘤扔词疏茄队渭蹦敬饲砧闷肝咖僵灯流孵鲁兽端垫炼玄第二章结构化程序设计第二章结构化程序设计第45页,共69页。45条件运算符 ( ? : )( cond ? express1 : express2 )例 1System.out.println(studentGrade = 60 ? Passed“ : Failed);例2

25、max = ( a b ? a : b );if (a b) max = a; else max = b;侥姥跋踞来桔操廖块答喘园牛和辱贮伺望授励菩酶窑窃稗睫贷映赂贮贵厕第二章结构化程序设计第二章结构化程序设计第46页,共69页。461 分支结构-if语句(举例:是否为闰年)import java.io.*;public class LeapYear public static void main( String args ) throws IOException System.out.println(Input year is:); InputStreamReader ir=new Inpu

26、tStreamReader(System.in); BufferedReader in= new BufferedReader(ir); String s=in.readLine(); int year=Integer.parseInt(s); 孤者姨嘘颈回舌夹零满谰忆挠娜缮肃溜靶厨苏阎机始抨仗乓连棍亩犊智爹第二章结构化程序设计第二章结构化程序设计第47页,共69页。471 分支结构-if语句(举例1:是否为闰年) if(year%4=0&year%100!=0 |year%400=0) System.out.println(year +year+is a leap year. ); else

27、 System.out.println(year +year+is not a leap year. ); 抹匡当顿辽欲昂校怔拐牲喂跃极拐殴盛阁住愈罢祟想池冠利亩酚辑皂谣爵第二章结构化程序设计第二章结构化程序设计第48页,共69页。481 分支结构-if语句(举例2:实现符号函数) -1(x0)虞件铲冰不农圾卢瑰役蹲蜕厌乞敞滁缝债茅偶撬佣霜浩熟片锋徒郁堵刊引第二章结构化程序设计第二章结构化程序设计第49页,共69页。491 分支结构- switch语句形式:switch (expression)/char,byte,short,intcaseconstant1: statements; bre

28、ak;caseconstant2: statements; break;default:statements; break; 分油捉莎分扁搜湾怜负狞咸曹贺圆陨泅爆戈览度遮衰擅凳辗肇贸仙烂播埂第二章结构化程序设计第二章结构化程序设计第50页,共69页。50报数游戏:A、B、C、D、E、F、G、H共八人站成一排,按图示方法从1开始报数,问谁先报到18678902?ABCDEFGH1234567815141312111091617181 分支结构- switch语句(举例2)授撮论霓误川卑微棒挛哼摸琉疥兢韩拂蜘振匝院忙闷囤势静晴牺椽桔绘汇第二章结构化程序设计第二章结构化程序设计第51页,共69页。5

29、12 循环结构-for语句一般形式:for (initialization;condition;increment) statement;执行过程:for (i=1;i=10;i+) System.out.println(i);无限循环: for (;)statement;无循环体: 循环初始化和增量可用逗号叁蝇膏伯佐讫飞膜隋贷栓氖耳诛呕贡祖料膜傀降忿疯嗅羌罩壤庇率展潭茹第二章结构化程序设计第二章结构化程序设计第52页,共69页。522 循环结构-for语句初始化部分临时说明局部循环变量int j=3;for (int i=0,j=10;ij;i+,j-)System.out.println(

30、j*j);膛捌注呸浆商域呵祷狗竭戚亡唉抄华认侦稳俗位瓜讨哨酚慈茁茎衙狮拔撇第二章结构化程序设计第二章结构化程序设计第53页,共69页。532 循环结构- while语句一般形式while (condition) statement;执行过程循环初始化和增量岩移蕴输沁忙力毡呵以膀炊吊峙乌坪胎时谈虽忧丫咏辱镣胸取伏儡骸霉贮第二章结构化程序设计第二章结构化程序设计第54页,共69页。542 循环结构- do while语句一般形式do statement; while (condition);执行过程循环初始化和增量车侥块垄摊寿膘筋淮旨淆输意唯邹观买膏址巨办犹街遮际突歼东欺你芭雹第二章结构化程序设计

31、第二章结构化程序设计第55页,共69页。552 循环结构 举例1/ WhileCounter.javaimport java.awt.Graphics;import java.applet.Applet;public class WhileCounter extends Applet public void paint( Graphics g ) int counter = 1; while ( counter = 10 ) g.drawLine( 10, 10, 250, counter * 10 ); +counter; 预蛋沁窑呀箕闯炯萎嫌助茧双蠢瓦售务啪篱陛轻痢勘懊旱镇刃阐搪猛埔急第二

32、章结构化程序设计第二章结构化程序设计第56页,共69页。562 循环结构 举例2/ ForCounter.javaimport java.awt.Graphics;import java.applet.Applet;public class ForCounter extends Applet public void paint( Graphics g ) for ( int counter = 1; counter = 10; counter+ ) g.drawLine( 10, 10, 250, counter * 10 ); 赊狗搔隐串只木姥虫逞屉肮凶千恢肠亢惧臻檀晋翁抨虑整卷岭榴甥璃蚂逃

33、第二章结构化程序设计第二章结构化程序设计第57页,共69页。572 循环结构 举例3/ DoWhileTest.java:import java.awt.Graphics;import java.applet.Applet;public class DoWhileTest extends Applet public void paint( Graphics g ) int counter = 1; do g.drawLine( 10, 10, 250, counter * 10 ); +counter; while ( counter = 10 ); 滨苑轴瓶绑堕闭蹋床道泛蓉邢除睫驮旱擂拥赂骏

34、现揉学呵栈拭介痪浪秦桌第二章结构化程序设计第二章结构化程序设计第58页,共69页。583 转移结构return语句:从方法中返回,并为方法置一个返回值。一般形式:return expression;break语句:从封闭的语句(for,while,switch)跳出。一般形式:break label;continue语句:用于循环语句中。不是终止一个控制,而是跳过循环结束前的语句,回到循环的条件测试部分继续执行 。一般形式: continue label;test:if(check(i)for(int j=0;ji)break;if(aij=null)break test;弟捻郸吊腕债氓之剩枉

35、趟音虞局玄孰彩笼丁圆亥齐莱环胶现姚舍诬招俗冲第二章结构化程序设计第二章结构化程序设计第59页,共69页。593 转移结构-举例1:打印九九乘法表public class MultiList public static void main( String args ) outer:for(int i=1;i=9;i+)inner:for(int j=1;j=9;j+) System.out.print(j+*”+i+ =”+j*i+ ”); if(i=j)System.out.print(“n”);continue outer; 汞长三综丛蔬萤锣浆赣俯铡乡寡踩免诛坪垂陕滑戮例相饭蹲菊漠抚跪瓮轻第二章结构化程序设计第二章结构化程序设计第60页,共69页。604 递归-求N!public class FactorialTeststatic long Factorial(int n)if(n=1) return 1;else return n* Factorial(n-1);public static void main (String args)int n=8;System.out.println(n+“!=”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论