




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Java程序设计基础,主要内容,2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句,标识符,标识符:为程序中的各个元素进行命名.一般地,在Java中标识符是以字母、下划线(_)、美元符号($)开始的一个字符序列,后面可以跟字母、下划线、美元符号、数字等字符。Java语言使用Unicode字符集标识符是大小写敏感的,没有最大长度的限制,不能和关键字相同,标识符,总体来说定义标识符可以使用的字符包括:大小写字母、数字;凡是用Character.isJavaIdentifierStart(charch)返回true,都可作为首字符,Character.isJavaIdentifierPart()返回true,都可作为标识符的一部分。合法的标识符:Body,_test,$hello非法标识符:5Test,hello*,world#,class注意:在中文环境下,可以使用汉字作为标识符。例如,int中文=5;,练习题,Whichdeclarationsofidentifiersarelegal?$personsTwoUsers*pointthis_endline,a,b,e,关键字,所有的关键字都是小写的。如果被大写,就不是关键字了。用于数据类型的关键字byteshortintlongfloatdoublecharboolean用于流程控制语句的关键字ifelseswitchcasedefaultdowhileforbreakcontinue方法、类型、变量的修饰关键字privatepublicprotectedfinalstaticabstractsynchronizedvolatile异常处理关键字trycatchfinallythrowthrows,关键字,对象相关关键字newextendsimplementsclassinstanceofthissuper字面值常量关键字falsetruenull方法相关关键字returnvoid包相关关键字packageimport,练习题,WhichofthefollowingareJavakeywords?1)NULL2)new3)instanceOf4)wend,2,3,注释,单行注释单行注释以“/”开头,至该行结尾,其格式如下:多行注释/*注释文本*/文档注释/*注释文本*注释文本*/,主要内容,2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句,变量,修饰符=,=.;inti;intj=5,k=4;作用域分,变量大致可分为:局部变量、类成员变量、方法参数、异常处理参数。,变量作用域,局部变量是在方法内部或代码块中声明的变量,它的作用域为它所在的代码块,在程序设计中,以“”为界。类成员变量,它的作用域是整个类。又可以细分为静态变量和实例变量方法参数的作用域,是它所在的方法异常处理参数的作用域,是它所在的异常处理部分变量隐藏(按作用域的大小),常量,整形常量234,实型常量23.4,字符常量a,布尔常量true和false,以及字符串常量“helloworld!”final关键字(后面还会碰到)finalintMAX=100;finalintMAX_LOOP=5;,主要内容,2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句,数据类型分类,数据类型,Java的基本数据类型都有固定的数据位,不随运行平台的变化而变化。布尔类型booleanb=false;,字符类型,一个字符用一个16位的Unicode码表示charc,c1=a;中的Unicode码是u4e2d整数和字符型数据在一起运算字符向整数转换,整数类型,Java中的整数有三种进制形式表示:十进制:用09的数值表示,首位不能为0,例如:124,-100;八进制:以0(零)开头,后跟多个07之间的数字,如0134;十六进制:以0 x或者0X开头,后跟多个09之间的数字、或AF之间的的大写字、或者af之间的小写字母。af或者A-F分别表示1015,例如,0 x23FE,等于十进制数9214。,整数类型,在表示long型常量时,需要在数字后面加上后缀L或者l。例如3L表示一个long型的常量,而不是int型常量。,浮点类型,一个浮点数默认为double型。在一个浮点数后加字母F或f,表示float型。常量值3.45的类型是double;3.45F的类型是float。,各类型数据间的相互转换,自动类型转换从低级到高级发生自动类型转换。从表达范围小的类型向表达范围大的类型发生自动类型转换。不同数据类型的转换如下所示:低-高byte,short,char-int-long-float-double注意:byte,short和char在一起运算时,首先转换为int类型进行运算。【例2-1】分析下面程序中的错误。byteb1=5;shorts1=6;shorts2;s2=b1+s1;,类型转换,强制类型转换由高级向低级数据类型转换时,需要强制类型转换。例如:inti65;charc;c=(char)i;/把int型变量转换成char型,需要强制类型转换。,练习题,Whichofthefollowingarelegalstatements?1)floatf=1/3;2)inti=1/3;3)floatf=1.01;4)doubled=999d;,1,2,4,主要内容,2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句,算数运算符,算数运算符的特点,对于二元运算符,运算结果的数据类型一般为两个操作数中表达范围较大的类型。例如,一个整数和浮点数运算的结果为浮点数。对于一元运算符,运算结果的类型与操作数的类型相同。自增、自减运算符有前缀和后缀两种形式,当是前缀形式(即+、-符号出现在变量的左侧)时,对变量实施的运算是“先运算后使用”;当是后缀形式(即+、-符号出现在变量的右侧)时,对变量实施的运算是“先使用后运算”。,算数运算符的注意事项,在Java中,%(求模运算符)的操作数可为浮点数,如52.3%10=2.3;Java对+运算进行了扩展,可作字符串连接运算符,如ab+efd得abefd;做+运算时,如果一个操作数是字符串,其它操作数自动转换成字符串.如:Strings;s=s:+4*5;/结果是s=s:20;byte,short,char等类型进行混合运算时,会先自动转换为int类型再运算。,赋值运算符,条件运算符,(boolean_expr)?true_statement:false_statement;result=sum=0?100:2*num;,位运算符,Java用补码表示二进制数1表示为二进制为00000000000000000000000000000001(4个字节)-1表示为二进制为11111111111111111111111111111111(4个字节),位运算符,注意事项,除为右结合外,其余为左结合。操作数的类型一般为整型或字符型。2)Integeri=Integer(1);System.out.println(i1);3)inti=1;System.out.println(i1);4)inti=1;System.out.println(i1);,1,4,练习题,WhichofthefollowingareJavakeywords?1)double2)Switch3)then4)instanceof,练习题,Giventhefollowingvariableswhichofthefollowinglineswillcompilewithouterror?Strings=Hello;longl=99;doubled=1.11;inti=1;intj=0;1)j=is;2)j=ij;3)j=id;4)j=i1);1)02)-13)14)2147483647,4,练习题,Whatwillbeoutputbythefollowingstatement?System.out.println(132);1)12)-13)324)-2147483648,1,主要内容,2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句,主要内容,2.6.1选择语句2.6.2循环语句2.6.3跳转语句,2.6.1选择语句,if语句switch语句,2.6.1.1If语句,if或else控制的对象可以是单个语句(statement),也可以是程序块(block)。条件condition可以是任何返回布尔值的表达式。else子句是可选的。,if(condition)statement1;elsestatement2;,嵌套If语句,if(i=10)if(j100)c=d;elsea=c;elsea=d;,if(condition)statement;elseif(condition)statement;elseif(condition)statement;.elsestatement;,2.6.1.2switch语句,switch(expression)casevalue1:./statementsequencebreak;casevalue2:./statementsequencebreak;casevalueN:./statementsequencebreak;default:./defaultstatementsequence,switch注意事项1/2,表达式expression必须为byte,short,int或char类型(数据类型长度小于等于32位),在JDK5.0中可以是用枚举类型(enum)。每个case语句后的值value必须是与表达式类型兼容的特定的一个常量(它必须为一个常量,而不是变量)。重复的case值是不允许的。,switch注意事项2/2,如果没有一个case常量与表达式的值相匹配,则执行default语句。case语句只是起到一个标号作用,用来查找匹配的入口并从此处开始执行其后的语句序列,switch例子,主要内容,2.6.1选择语句2.6.2循环语句2.6.3跳转语句,2.6.2循环语句,While语句do-whilefor,While语句,while(condition)/bodyofloop.,publicclassSampleWhilepublicstaticvoidmain(Stringargs)intsum=0,i=100;while(i200)i+;sum+=i;System.out.println(thesumis“+sum);,do-while循环,do/bodyofloop.while(condition);,publicclassSampleDowhilepublicstaticvoidmain(Stringargs)intsum=0,i=100;doi+;sum+=i;while(i200);System.out.println(thesumis+sum);,for循环,for(initialization;condition;iteration)/body.,intsum=0,i=0;for(i=101;i=200;i+)sum+=i;System.out.println(thesumis+sum);,for的其它用法,在for循环内声明变量在for循环中使用逗号,for(inta=1,b=4;ab;a+,b-)System.out.println(a=+a);System.out.println(b=+b);,for-each,publicclassForEachDemopublicstaticvoidmain(Stringargs)intsum=0;inta=newint100;for(inti=0;i100;i+)ai=101+i;/for-each语句的使用for(inte:a)sum=sum+e;System.out.println(thesumis+sum);,可以用for语句遍历一个数组或集合中的所有元素。,主要内容,2.6.1选择语句2.6.2循环语句2.6.3跳转语句,2.6.2跳转语句,break语句continue语句return语句,break语句1/2,使用break退出循环把break当作goto的一种形式来用,for(inti=0;i3;i+)System.out.print(Pass+i+:);for(intj=0;j100;j+)if(j=10)break;System.out.print(j+);System.out.println();,break语句2/2,booleant=true;first:second:third:System.out.println(Beforethebreak.);if(t)breaksecond;System.out.println(Thiswontexecute);System.out.println(Thiswontexecute);System.out.println(Thisisaftersecondblock.);,使用continue语句1/2,终止本次循环继续下一次循环,for(inti=1;i20;i+)System.out.print(i+);if(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东广州医科大学附属第五医院第一次招聘17人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年新乡延津县选调县外在编在岗教师回乡任教的考前自测高频考点模拟试题及完整答案详解1套
- 2025年甘肃省定西市临洮县中铺镇选聘摩云村文书考前自测高频考点模拟试题有答案详解
- 安全培训教室设备清单表课件
- 2025年光伏发电用控制器项目发展计划
- 2025北京邮电大学与通信工程学院招聘1人(人才派遣)模拟试卷及答案详解1套
- 2025甘肃张掖市教育局培黎职业学院引进高层次人才14人考前自测高频考点模拟试题附答案详解(典型题)
- 2025年中职高考对口升学(理论考试)真题卷【轻工纺织大类】模拟练习
- 2025江苏南京市浦口区卫健委所属事业单位招聘高层次人才11人考前自测高频考点模拟试题及参考答案详解一套
- 小学安保人员安全培训课件
- 医疗机构小儿推拿技术规范-公示稿
- 焊接过程化学反应
- 手术体位安全管理制度
- 江苏省连云港市2024年中考语文试题(解析版)
- 园艺植物遗传育种 课件 第八章 诱变育种
- 2025年合作双方正式合同范文
- 国企项目投资合同
- 3D电影物理知识讲课
- 垃圾中转站安全培训
- 安全交底安全技术交底培训课件
- 公司法律风险防范与管理
评论
0/150
提交评论