已阅读5页,还剩95页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三讲Java编程语言基础知识 基本语法 注释注释是程序员用来标记 说明程序的 编译器会忽略注释中的内容 注释中的内容不会对程序的运行产生任何影响 分号在Java编程语言中 语句是一行由分号 终止的代码 语句块语句块 block 也叫做复合语句 一个语句块 block 是以上括号和下括号 为边界的语句集合 语句块也被用来组合属于某个类的语句 空白空白 是空格 tabs和新行的统称 在源代码元素之间允许插入任意数量的空白 空白可以改善源代码的视觉效果 增强源代码的可读性 标识符 标识符是语言元素的名称 是我们在程序中表示变量 类或方法等等的符号 标识符可从一个字母 下划线 或美元符号 开始 随后跟随字母 下划线 美元符号 或数字 标识符是大小写区别对待的 标识符未规定最大长度 标识符 合法的标识符identifieruserNameUser Name sys val change非法的标识符2mailroom class 标识符 Java技术源程序采用双字节的 统一字符编码 Unicode 标准 而不是单字节的ASCII文本 因而 一个字母有着更广泛的定义 而不仅仅是a到z和A到Z 标识符不能是关键字 但是它可包含一个关键字作为它的名字的一部分 例如 thisone是一个有效标识符 但this却不是 因为this是一个Java关键字 模拟考题 Whichdeclarationsofidentifiersarelegal personsTwoUsers pointthis endline 保留字 具有专门的意义和用途 不能当作一般的标识符使用 这些标识符称为保留字 reservedword 关键字 abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinallyifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile 模拟考题 Question2 WhichofthefollowingareJavakeywords 1 NULL2 new3 instanceOf4 wend 模拟考题 AnswertoQuestion2 2 new 简单数据类型 数据类型 简单类型Logical booleanTextual charIntegeral byte short int longFloating double float复合类型classinterface数组 布尔类型 boolean 布尔型数据只有两个值true和false 且它们不对应于任何整数值布尔型变量的定义如 booleanb true 字符类型 char 字符常量字符常量是用单引号括起来的一个字符 如 a A 字符型变量类型为char 它在机器中占16位 其范围为0 65535 字符型变量的定义如 charc a 指定变量c为char型 且赋初值为 a 整型数据 整型常量1 十进制整数如123 456 02 八进制整数以0开头 如0123表示十进制数83 011表示十进制数 9 3 十六进制整数以0 x或0X开头 如0 x123表示十进制数291 0X12表示十进制数 18 整型数据 整型变量数据类型所占位数数的范围byte8 27 27 1short16 215 215 1int32 231 231 1long64 263 263 1 浮点型 实型 数据 实型常量1 十进制数形式由数字和小数点组成 且必须有小数点 如0 123 123 123 123 02 科学计数法形式如 123e3或123E3 其中e或E之前必须有数字 且e或E后面的指数必须为整数 浮点型 实型 数据 实型变量数据类型所占位数数的范围float323 4e 038 3 4e 038double641 7e 308 1 7e 308 常量和变量 常量 用保留字final来实现finaltypeSpecifiervarName value varName value 如 finalintNUM 100 变量 typeSpecifiervarName value varName value 如 intcount charc a 使用举例 publicclassAssign publicstaticvoidmain Stringargs intx y floatz 1 234f doublew 1 234 booleanflag true 使用举例 charc Stringstr Stringstr1 Hi c A str bye x 12 y 300 模拟考题 Question1 Whichofthefollowingarelegalstatements 1 floatf 1 3 2 inti 1 3 3 floatf 1 01 4 doubled 999d 模拟考题 AnswertoQuestion1 1 floatf 1 3 2 inti 1 3 4 doubled 999d 数据类型转换 自动类型转换整型 实型 字符型数据可以混合运算 运算中 不同类型的数据先转化为同一类型 然后进行运算 转换从低级到高级 低 高byte short char int long float double 自动类型转换规则 操作数1类型操作数2类型转换后的类型byte short charintintbyte short char intlonglongbyte short char int longfloatfloatbyte short char int long floatdoubledouble 强制类型转换 高级数据要转换成低级数据 需用到强制类型转换 如 inti byteb byte i 把int型变量i强制转换为byte型 变量作用域 每个变量都有一个作用域 也就是说这个变量在哪个程序段中起作用 变量的作用域从它被声明时开始直到遇到声明变量的代码段的结束符 为止 只能在变量的作用域内访问它 如果在作用域之外访问变量 编译器将产生一个错误 变量作用域 classLamp intwatts 60 booleanisOn false lamp booleanstartOn isOn startOn publicvoidsetIsOn booleanisOn for intdummy 1 dummy 1000 dummy System out println Thecountis dummy this isOn isOn 变量初始化 在Java程序中 任何变量都必须经初始化后才能被使用 在方法外定义的变量被自动初始化 局部变量必须在使用之前做 手工 初始化 如果编译器能够确认一个变量在初始化之前被使用的情况 编译器将报错 运算符和表达式 运算符 按照操作数区分 一元运算符 二元运算符 三元运算符 运算符 按照功能来分 1 算术运算符 3 2 a b i i 2 关系运算符 3 i 0 n 1 3 布尔逻辑运算符 运算符 按照功能来分 4 位运算符 运算符 按照功能来分 右移位运算符 和 运算符仅被允许用在整数类型 并且仅对int和long值有效 如果用在short或byte值上 则在应用 之前 该值将通过带符号的向上类型转换被升级为一个int 有鉴于此 无符号移位通常已成为符号移位 运算符 按照功能来分 5 赋值运算符 及其扩展赋值运算符如 等 i 3 i 3等效于i i 36 条件运算符 result sum 0 1 num sum 运算符 按照功能来分 7 其它 包括分量运算符 下标运算符 实例运算符instanceof 内存分配运算符new 强制类型转换运算符 类型 方法调用运算符 等 System out println helloworld intarray1 newint 4 模拟考题 Question18 Whichofthefollowingwillcompilewithouterror 1 charc 1 System out println c 1 2 Integeri newInteger 1 System out println i 1 模拟考题 3 inti 1 System out println i 1 4 inti 1 System out println i 1 模拟考题 AnswertoQuestion18 1 4 表达式 表达式是由操作数和运算符按一定的语法形式组成的符号序列 一个常量或一个变量名字是最简单的表达式 其值即该常量或变量的值 表达式的值还可以用作其他运算的操作数 形成更复杂的表达式 表达式的类型 表达式的类型由运算以及参与运算的操作数的类型决定 可以是简单类型 也可以是复合类型 布尔型表达式 x 模拟考题 Question56 GiventhefollowingclasspublicclassZeroPrint publicstaticvoidmain Stringargv inti 0 Here 模拟考题 Whichofthefollowinglinesifplacedafterthecomment Herewillprintout0 1 System out println i 2 System out println i 0 3 System out println i 4 System out println i 模拟考题 AnswertoQuestion56 1 System out println i 3 System out println i 4 System out println i 运算符的优先次序 表达式的运算按照运算符的优先顺序从高到低进行 同级运算符从左到右进行 instanceofnew type 运算符的优先次序 接上 运算符的优先次序示例 Resutl sum 0 1 num sum 第1步 result sum 0 1 num sum 第2步 result sum 0 1 num sum 第3步 result sum 0 1 num sum 第4步 result 控制语句 控制语句 1 分支语句 if else switch2 循环语句 while do while for3 与程序转移有关的其它语句 break continue return4 例外处理语句 try catch finally throw5 注释语句 分支语句 条件语句if elseif boolean expression statement1 elsestatement2 分支语句 分支语句 多分支语句switchswitch expression casevalue1 statement1 break casevalue2 statement2 break 分支语句 casevalueN statemendN break default defaultStatement 表达式expression的返回值类型必须是这几种类型之一 int byte char short case子句中的值valueN必须是常量 而且所有case子句中的值应是不同的 Switch语句 default子句是可选的 break语句用来在执行完一个case分支后 使程序跳出switch语句 即终止switch语句的执行 Switch语句 循环语句 while语句do while语句for语句 while语句 initialization while termination body iteration do while语句 initialization do body iteration while termination for语句 for initialization termination iteration body for语句执行时 首先执行初始化操作 然后判断终止条件是否满足 如果满足 则执行循环体中的语句 最后执行迭代部分 完成一次循环后 重新判断终止条件 for语句 初始化 终止以及迭代部分都可以为空语句 但分号不能省 三者均为空的时候 相当于一个无限循环 在初始化部分和迭代部分可以使用逗号语句 来进行多个操作 逗号语句是用逗号分隔的语句序列 for i 0 j 10 i j i j 与程序转移有关的其它语句 break语句continue语句返回语句return break语句 在switch语中 break语句用来终止switch语句的执行 使程序从switch语句后的第一个语句开始执行 在Java中 可以为每个代码块加一个括号 一个代码块通常是用大括号 括起来的一段代码 加标号的格式如下 BlockLabel codeBlock break语句的第二种使用情况就是跳出它所指定的块 并从紧跟该块的第一条语句处执行 breakBlockLabel break语句 a 标记代码块ab 标记代码块bc 标记代码块cbreakb willnotbeexecuted willnotbeexecuted executefromhere continue语句 continue语句用来结束本次循环 跳过循环体中下面尚未执行的语句 接着进行终止条件的判断 以决定是否继续循环 对于for语句 在进行终止条件的判断前 还要先执行迭代语句 它的格式为 continue 也可以用continue跳转到括号指明的外层循环中 这时的格式为continueouterLable continue语句 outer for inti 0 i 10 i 外层循环inner for intj 0 j 10 j 内层循环if i j continueouter 返回语句return return语句从当前方法中退出 返回到调用该方法的语句处 并从紧跟该语句的下一条语句继续程序的执行 返回语句有两种格式 returnexpressionreturnreturn语句通常用在一个方法体的最后 否则会产生编译错误 除非用在if else语句中 例外处理语句 包括try catch finally throw语句 与c c 相比 是Java特有的语句 注释语句 用于单行注释 注释从 开始 终止于行尾 用于多行注释 注释从 开始 到 结束 且这种注释不能互相嵌套 是Java所特有的doc注释 它以 开始 到 结束 这种注释主要是为支持JDK工具javadoc而采用的 javadoc能识别注释中用标记 标识的一些特殊变量 并把doc注释加入它所生成的HTML文件 模拟考题 Question55 Whatwillhappenwhenyouattempttocompileandrunthefollowingcode publicclassAgg staticpubliclongi 10 publicstaticvoidmain Stringargv switch i default System out println novaluegiven case1 System out println one case10 System out println ten case5 System out println five 模拟考题 1 Compiletimeerror2 Outputof ten followedby five 3 Outputof ten 4 CompilationandruntimeerrorbecauseoflocationofdefaultAnswertoQuestion55 1 Compiletimeerror 数组 数组 数组是一种最简单的复合数据类型 数组是相同类型的有序数据的集合 一维数组 一维数组的定义typearrayName 类型 type 可以为Java中任意的数据类型 包括简单类型和复合类型 intintArray DatedateArray int intArray Date dateArray 一维数组的初始化 静态初始化intintArray 1 2 3 4 StringstringArray abc How you 动态初始化简单类型的数组intintArray intArray newint 5 一维数组的初始化 创建对象类型数组 一维数组的初始化 复合类型的数组StringstringArray StringArray newString 3 为数组中每个元素开辟引用空间 32位 stringArray 0 newString How stringArray 1 newString are stringArray 2 newString you 一维数组元素的引用 数组元素的引用方式为 arrayName index index为数组下标 它可以为整型常数或表达式 下标从0开始 每个数组都有一个属性length指明它的长度 例如 intArray length指明数组intArray的长度 多维数组 Java语言中 多维数组被看作数组的数组 二维数组的定义typearrayName type arrayName 二维数组的初始化 静态初始化intintArray 1 2 2 3 3 4 5 Java语言中 由于把二维数组看作是数组的数组 数组空间不是连续分配的 所以不要求二维数组每一维的大小相同 动态初始化 直接为每一维分配空间 格式如下 arrayName newtype arrayLength1 arrayLength2 inta newint 2 3 动态初始化 从最高维开始 分别为每一维分配空间 arrayName newtype arrayLength1 arrayName 0 newtype arrayLength20 arrayName 1 newtype arrayLength21 arrayName arrayLength1 1 newtype arrayLength2n 动态初始化 例 inta newint 2 a 0 newint 3 a 1 newint 5 在Java语言中 必须首先为最高维分配引用空间 然后再顺次为低维分配空间 与一维数组相同 对于复合类型的数组 必须为每个数组元素单独分配空间 动态初始化 Strings newString 2 s 0 newString 2 s 1 newString 2 s 0 0 newString Good s 0 1 newString Luck s 1 0 newString to s 1 1 newString You 二维数组元素的引用 引用方式为 arrayName index1 index2 例如 num 1 0 模拟考题 Question26 Whichofthefollowingstatementsaretrue 1 TheelementsinaJavaarraycanonlybeofprimitivetraycanonlybeofprimitivetypes notobjects2 Arraysareinitializedtodefaultvalueswherevertheyarecreated3 AnarraymaybedynamicallyresizedusingthesetSizemethod4 Youcanfindoutthesizeofanarrayusingthesizemethod 模拟考题 AnswertoQuestion26 2 Arraysareinitializedtodefaultvalueswherevertheyarecreated 字符串处理 字符串的表示 Java语言中 把字符串作为对象来处理 类String和StringBuffer都可以用来表示一个字符串 类名都是大写字母打头 字符串常量字符串常量是用双引号括住的一串字符 HelloWorld String表示字符串常量 用String表示字符串 String String String StringBuffer String charchars String charchars intstartIndex intnumChars String byteascii String byteascii intstartIndex intnumChars String使用示例 Strings newString 生成一个空串下面用不同方法生成字符串 abc charchars1 a b c charchars2 a b c d e Strings1 newString chars1 Strings2 newString chars2 0 3 byteascii1 97 98 99 byteascii2 97 98 99 100 101 Strings3 newString ascii1 Strings4 newString ascii2 0 3 用StringBuffer表示字符串 StringBuffer 分配16个字符的缓冲区 StringBuffer intlen 分配len个字符的缓冲区 StringBuffer Strings 除了按照s的大小分配空间外 再分配16个字符的缓冲区 访问字符串 类String中提供了length charAt indexOf lastIndexOf getChars getBytes toCharArray 等方法 类StringBuffer提供了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考语法考点复习讲义:阅读七选五(解析版)
- 口腔医院感染防控试题及答案
- 21年江苏事业单位面试真题及参考答案
- 乳腺纤维瘤知识测试题目及答案
- 2025届丽水市数学三下期中调研模拟试题含答案
- 式微试题及答案赏析
- 药房保险试题及答案
- 注安考试化工安全真题及答案分享
- 2026年C语言程序设计模拟测试
- 在线客服笔试试题及答案解读
- 超声科住院医师规范化培训结业临床实践能力考核标准方案(2022版)
- 沉香与健康课件图片
- 财务资金管理培训
- 儿童碰伤应急处理
- 中建室外管网专项施工方案
- 污水处理PPP项目招标文件
- SYT 6378-2021 油水井取套回接工艺作法-PDF解密
- 监理抽检记录表格
- YY 0469-2023医用外科口罩
- 山西兰花科技创业股份有限公司大阳煤矿分公司煤炭资源开发利用、地质环境保护与土地复垦方案
- 中国越剧唱腔知到章节答案智慧树2023年浙江艺术职业学院
评论
0/150
提交评论