




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Java语言语法基础 Java是一种跨平台的面向对象语言 利用该语言可以生成独立于平台的应用程序 Java语言具有众多优点 如面向对象 可移植 与硬件无关等 我们将介绍Java语言最基本的内容 先从Java编程基础开始 介绍Java语言的基本语法然后 介绍几种常用算法的示例 强化对Java语言的认识 2 1 Java标识符 关键字 注释与分隔符2 2 Java的数据类型2 3 Java运算符和表达式2 4 Java控制结构2 5 小结2 6 习题 第2章主要内容 2 1 1标识符与关键字2 1 2注释2 1 3分隔符 2 1 Java标识符 关键字 注释与分隔符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符 identifier 包括 类名 变量名 常量名 方法名 Java语言中 标识符是以字母 下划线 美元符 开始的一个字符序列 后面可以跟字母 下划线 美元符 数字 合法的标识符keywordsjavaNameJava Namesys value javaJava123非法的标识符2mailjava classcharint 2 1 1标识符与关键字 具有专门的意义和用途 不能当作一般的标识符使用 这些标识符称为关键字 abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinallyifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile 2 1 1标识符与关键字 在Java中 true false和null都是小写的 区别于C 中大写的TRUE FALSE和NULL 所有的数据类型所占用的字节数都是固定的 并且和实现无关的 因此在Java中没有sizeof操作符 不必死记这些关键词 当理解每个关键词的含义后 自然就记住了所有的关键词 2 1 1标识符与关键字 举例 单行注释 简单的解释语句含义 多行注释 用来说明更多的内容 包括算法等 Java文档注释 可以通过javadoc生 成类和接口的HTML格式的帮助文档 这种注释有其特殊的格式 参见相关文档 2 1 2注释 2 1 3分隔符 Java中分隔符有空格 逗号 分号及行结束符 并且规定任意两个相邻标识符 数字 保留字或两个语句之间必须至少有一个分隔符 以便编译程序能识别 2 2 Java的数据类型 2 2 1Java基本数据类型 PrimaryDataTypes 2 2 2常量 Constant 和变量 Variable 常量 Constant 变量 Variable 2 2 3数据类型的转换 所有基本类型所占的位数都是确定的 并不因操作系统的不同而不同 所有基本类型的关键词都是小写的 数据类型所占位数数的范围char160 65535byte8 27 27 1short16 215 215 1int32 231 231 1long64 263 263 1float323 4e 038 3 4e 038double641 7e 308 1 7e 308 2 2 1Java基本数据类型 布尔型数据只有两个值true和false 且它们不对应于任何整数值布尔型变量的定义如 booleanb true 布尔型数据只能参与逻辑关系运算 2 2 1布尔类型 boolean 字符型数据代表16位的Unicode字符字符常量是用单引号括起来的一个字符 a B n u0030 字符型数据的取值范围为0 65535或者说 u0000 uFFFF u0000为缺省值示例charc1 缺省值为0charc2 0 赋初值为字符 0 charc3 32 用整数赋初值为空格 2 2 1字符类型 char 特殊字符的常量表示法 反斜线 Backslash 退格 Backspace b 回车 Carriagereturn r 进纸符 Formfeed f 制表符 Formfeed t 换行 Newline n 单引号 Singlequote 八进制数 0 377 DDD Unicode字符 uHHHH 2 2 1字符类型 char 整型常量1 十进制整数如123 456 02 八进制整数以0开头 如0123表示十进制数83 011表示十进制数 9 3 十六进制整数以0 x或0X开头 如0 x123表示十进制数291 0X12表示十进制数 18 整型变量类型为byte short int或long byte在机器中占8位 short占16位 int占32位 long占64位 整型变量的定义如 intx 123 指定变量x为int型 且赋初值为123byteb 8 shorts 10 longy 123L longz 123l 2 2 1整数类型 byte short int long 64位长整数以l或L结尾 12l 343L 0 xfffffffffL1L 32等于4294967296L1 32等于0没有以l或L结尾的数字 根据其实际值所属范围 可以被用作byte short 或int型整数以l或L结尾的数字 无论其实际值所属范围怎样 都被用作long型整数 2 2 1整数类型 byte short int long 示例byteb1 缺省值为0byteb2 127 赋初值为127shorts1 short b1 b2 强制类型转换shorts2 short b1 123 强制类型转换intn b1 b2 不需要强制类型转换longl1 2343 不需要强制类型转换longl2 4294967296L 必须用L或l结尾longl3 65536 63356 乘法运算越界 l3为0longl4 65536L 63356 l4为4294967296L 2 2 1整数类型 byte short int long 实型常量1 十进制数形式由数字和小数点组成 且必须有小数点 如0 123 123 123 123 02 科学计数法形式如 123e3或123E3 其中e或E之前必须有数字 且e或E后面的指数必须为整数 32位浮点数形式 0 23f 1 23E 4f 18F 2 2 1浮点数类型 实型 float double 实型变量类型为float或double float在机器中占32位 double占64位 实型变量的定义如 doubled1 127 0 赋初值为127doubled2 127 赋初值为127floatf1 127 0f 必须在数字后加f或Ffloatf2 4 0e38f 错误 32位浮点数不能超过 3 4028234663852886e38floatf3 float d1 必须强制类型转换 2 2 1浮点数类型 实型 float double publicclassAssign publicstaticvoidmain String args intx y byteb 3 floatz 1 234f doublew 1 234 booleanflag true charc c a x 120 y 30 2 2 1使用举例 Java中的常量值是用文字串表示的 它区分为不同的类型 如整型常量123 实型常量1 23 字符常量 a 布尔常量true false以及字符串常量 Thisisalanguage 与C C 不同 Java中不能通过 define命令把一个标识符定义为常量 而是用关键字final来定义 定义常量的一般格式为 final类型常量标识符 常数值 finalintMAX NUM 100 finaldoublePI 3 1415926 2 2 2常量和变量 程序中的基本存储单元 其定义包括变量名 变量类型和作用域几个部分 定义格式为 类型变量名 值 intn1 3 n2 4 Java中变量的缺省初值都是确定的 布尔变量的初值为 false整数变量的初值为 0浮点数变量的初值为 0 0引用 复合 变量的初值为 null在方法实现中定义的变量必须显式的初始化 变量的作用域指可访问变量的一段代码 在程序中不同的地方声明的变量具有不同的作用域 局部变量 类变量 方法参数 例外处理参数 在一定的作用域内 变量名必须唯一 2 2 2常量和变量 自动类型转换整型 实型 字符型数据可以混合运算 运算中 不同类型的数据先转化为同一类型 然后进行运算 转换从低级到高级 低 高byte short char int long float double 操作数1类型操作数2类型转换后的类型byte short charintintbyte short char intlonglongbyte short char int longfloatfloatbyte short char int long floatdoubledouble 2 2 3数据类型的转换 数据类型转换必须满足如下规则 不能对boolean类型进行类型转换 不能把对象类型转换成不相关类的对象 在把容量大的类型转换为容量小的类型时必须使用强制类型转换 转换过程中可能导致溢出或损失精度inti 8 byteb byte i byte 255 1 byte 0 x5634 0 x34浮点数到整数的转换是通过舍弃小数得到 而不是四舍五入 int 23 7 23 int 45 89f 45 2 2 3数据类型的转换 优先级 结合性以及单 双目运算算术运算符关系运算符逻辑运算符位运算符赋值运算符条件运算符其他运算符 2 3Java运算符和表达式 优先级 结合性以及单 双目运算1 9 2 instanceof10 3 new type 11 4 12 5 13 6 优先级 结合性以及单 双目运算 1 运算符算术运算符 关系运算符 赋值运算符 及其扩展赋值运算符如 等 条件运算符 Java运算符和表达式 其它分量运算符 下标运算符 实例运算符instanceof 内存分配运算符new 强制类型转换运算符 类型 方法调用运算符 由于数据类型的长度是确定的 所以没有长度运算符sizeof Java运算符和表达式 2 表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列 一个常量或一个变量名字是最简单的表达式 其值即该常量或变量的值 表达式的值还可以用作其他运算的操作数 形成更复杂的表达式 例 xnum1 num2a b c d3 14x y z x y z Java运算符和表达式 2 4 Java控制结构 2 4 1选择语句 if else switch case2 4 2循环语句 while do while for2 4 3跳转语句 continue break return if boolean expression1 statements1 elseif boolean expression2 statements2 else statementsN 2 4 1选择语句 if else 布尔表达式boolean expression是任意一个返回布尔数据类型的表达式 而且必须是 比C或C 要严格 与C或C 一样 每个单一语句后面都要有分号 为了增强程序的可读性 应将if或else后的语句用 括起来 else子句是任选的 不能单独作为语句使用 它必须和if语句配对使用 并且总是与离它最近的if配对 inti1 123 inti2 456 if i1 i2 System out println Thebiggeroneis i1 else System out println Thebiggeroneis i2 2 4 1选择语句 if else switch expression casevalue1 statements1 break casevalueN statementsN break default defaultStatements 2 4 1选择语句 switch 表达式expression的返回值类型必须是这几种类型之一 int byte char short case子句中的值valueI必须是常量 而且所有case子句中的值应是不同的 default子句是任选的 break语句用来在执行完一个case分支后 使程序跳出switch语句 即终止switch语句的执行 如果某个case分支后没有break语句 程序将不再做比较而执行下一个分支 switch语句的功能可以用if else语句来实现 但某些情况下 使用switch语句更简炼 2 4 1选择语句 switch inta 100 intb 20 intc charoper switch oper case c a b break case c a b break default c a b break 2 4 1选择语句 switch 循环语句while 当型循环 initialization 初始化条件while termination 循环条件body 循环体 iteration 迭代 变更循环条件 当表达式termination为true时 执行 中的语句 否则终止循环 2 4 2循环语句 while 循环语句do while 直到型循环 initialization 初始化条件do body 循环体 iteration 迭代 变更循环条件 while termination 循环条件首先执行一遍 中的语句 当表达式termination为true时 继续执行 中的语句 否则终止循环 2 4 2循环语句 do while 循环语句for 另一种当型循环 for initialization termination iteration body 循环体 initialization 初始化条件termination 循环条件iteration 迭代 变更循环条件 2 4 2循环语句 for for语句执行时 首先执行初始化操作 然后判断终止条件是否满足 如果满足 则执行循环体中的语句 最后执行迭代部分 完成一次循环后 重新判断终止条件 初始化 终止以及迭代部分都可以为空语句 但分号不能省 三者均为空的时候 相当于一个无限循环 在初始化部分和迭代部分可以使用逗号语句 来进行多个操作 逗号语句是用逗号分隔的语句序列 for inti 0 intj 10 i j i j 2 4 2循环语句 for intn 1 sum 0 while n 10 sum sum n n intn 10 sum 0 do sum n n while n 0 intsum 0 for inti 1 i 10 i sum i while循环 do while循环 for循环 2 4 2循环语句 continue语句用来结束本次循环 跳过循环体中下面尚未执行的语句 接着进行终止条件的判断 以决定是否继续循环 对于for语句 在进行终止条件的判断前 还要先执行迭代语句 它的格式为 continue 也可以用continue跳转到括号指明的外层循环中 这时的格式为continueouterLable 2 4 3跳转语句 continue outer for inti 0 i 10 i 外层循环 inner for intj 0 j 10 j 内层循环 if i j continueouter 内层循环结束 外层循环结束 for inti 0 i 10 i if i 5 continue 2 4 3跳转语句 continue 在switch语中 break语句用来终止switch语句的执行 使程序从整个switch语句后的第一条语句开始执行 在循环语句中 break用于终止并跳出循环 从紧跟着循环体代码段后的语句执行 在Java中 可以为每个代码块加一个标号 一个代码块通常是用大括号 括起来的一段代码 加标号的格式为 BlockLabel codeBlock break语句的第二种使用情况就是跳出它所指定的块 并从紧跟该块后的第一条语句处执行 BlockLabel codeBlock breakBlockLabel codeBlock 2 4 3跳转语句 break a 标记代码块a b 标记代码块b c 标记代码块c breakb 这段语句将不执行 代码块c结束 这段语句也不执行 代码块b结束 从这段语句开始执行 代码块a结束 2 4 3跳转语句 break return语句从当前方法中退出 返回到调用该方法的语句处 并从紧跟该语句的下一条语句继续程序的执行 返回语句有两种格式 returnexpression 当方法需要返回某种类型数据时return 当方法的返回类型为void时单独一条return语句放在方法中间时 会产生编译错误 因为其后的语句将不会执行到 若真需要退出方法 可以通过将return语句嵌入某些语句 如if else 来使程序在未执行完方法中所有语句时退出 2 4 3跳转语句 return 2 5小结 本章介绍Java的各种语法规则 各种数据类型 包括简单数据类型和复杂数据类型 运算符 一元运算符 二元运算符 三元运算符以及特殊运算符 和表达式 流程控制 条件控制 循环控制 switch多分支控制 break语句 contiune语句等 此外 针对具体的数据类型 运算符以及控制语句 我们都给出了相应的实例以供大家更进一步的学习相关内容 练习 1 1 下列标识符中 哪些是合法的变量名 哪些是不合法的变量名 1 char 2 2abc 3 isTrue 4 i j 5 istrue 6 变量6 7 String 8 3 141592 判断下面的程序段是否正确 若有错误 错
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐理初级考试题及答案
- 课件显示全屏快捷键
- 课件时间显示问题
- 冷却筛分工培训考核试卷及答案
- 酒类分级考试题及答案
- 2025年教师招聘之《幼儿教师招聘》通关试题库及答案详解(历年真题)
- 教师招聘之《幼儿教师招聘》通关考试题库附参考答案详解(研优卷)
- 甘油水处理工质量管控考核试卷及答案
- 金箔制作工突发故障应对考核试卷及答案
- 采购员设备调试考核试卷及答案
- 龙虎山正一日诵早晚课
- 米粉及杂粮类制品课件
- 楔形平板产生的等厚干涉
- 骨髓腔穿刺在急诊急救中的应用课件
- 机械动力学PPT完整全套教学课件
- 年产2.03万吨高端精细化学品及5G新材料项目环评报告书
- 群众文化副高答辩问题及答案
- GB/T 41972-2022铸铁件铸造缺陷分类及命名
- 主编-孙晓岭组织行为学-课件
- 中医刮痧法诊疗操作评分标准
- 《师范生教师职业能力证书》样式及说明
评论
0/150
提交评论