ava语法.ppt_第1页
ava语法.ppt_第2页
ava语法.ppt_第3页
ava语法.ppt_第4页
ava语法.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第一章 Java语言语法 1 2 3 2 目标 掌握如何定义标识符掌握Java的关键字了解Java的基本类型掌握java lang Math类Java中的运算符和表达式Java中的主要语句 3 Java中的数据类型 数据类型 byte short int long 简单数据类型 复合数据类型 数值类型 字符类型 布尔类型 整数类型 浮点类型 类 接口 数组 class interface array boolean char float double 注意 Java不支持C C 中的指针 结构 枚举和联合 4 基本数据类型 Java共有八种基本数据类型 四种整数类型 byte short int long 两种浮点数类型 float double 一种字符类型 char 一种布尔类型 boolean 5 整型数据类型 在其包装类Integer中有相应的静态常量定义 p41表2 4 6 浮点型数据类型 在其包装类Float Double中有相应的静态常量定义 p42表2 5 7 字符数据类型 8 布尔数据类型 9 基本数据类型说明 逻辑类型常量 true false 变量的定义 使用关键字boolean来定义逻辑变量 可一次定义几个 定义时也可赋初值 booleanx booleantom 12 booleanx true tom false 漂亮 jiafei 字符类型 unicode 常量 A b 好 t 共65536个 变量的定义 使用关键字char来定义字符变量 见字符集 整数类型常量 123 十进制 077 八进制 0 x3ABC 十六进制 变量的定义分四种 1 int型 4字节 32位 取值范围 231 231 12 byte型 1字节 8位 取值范围 27 27 13 short型 2字节 16位 取值范围 215 215 14 long型 8字节 64位 取值范围 263 263 1 10 浮点类型分两种 1 float型 常量 123 5439f 123 0f 2e40f 2乘10的40次方 变量的定义 使用关键字float来定义float型变量例如 floatx 12 76f tom 1234 987f 漂亮 9876 0f jiafei 对于float型变量 内存分配给4个字节 占32位 float型变量的取值范围大约是10 38 1038和 1038 10 38 2 double型 常量 123 5439d 123 0 6e 140 6乘10的 140次方 变量的定义 使用关键字double来定义double型变量例如 doublex 12 76 tom 1234 987 漂亮 9876 0d jiafei 对于double型变量 内存分配给8个字节 占64位 double型变量的取值范围大约是10 308 10308和 10308 10 308 举例 Datatype java p43例程2 2 11 基本数据类型说明 Java有严格的类型转换 变量从短数据类型转换为长数据类型可以不说明 反之必须进行强制类型转换 如 byteMyByte 10 intMyInter 1 MyInteger MyByte okMyByte MyInteger errorMyByte byte MyInteger ok举例 p45例程2 3 12 关键字2 1 原始数据类型byteshortintlongfloatdoublecharboolean循环关键字dowhileforbreakcontinue 分支关键字ifelseswitchcasedefaultbreak方法 变量和类修饰符privatepublicprotectedfinalstaticabstractsynchronizedvolatile 13 关键字2 2 异常处理trycatchfinallythrowthrows对象相关关键字newextendsimplementsclassinstanceofthissuper 字面值常量falsetruenull方法相关关键字returnvoid包相关关键字packageimport 14 标识符 在Java中标识符的命名必须符合以下规则 标识符必须以字母或下划线或 符号开始 其余字符可以是字母 数字 符号和下划线 标识符只能包含两个特殊字符 即下划线 和美元符号 不允许有任何其他特殊字符 标识符不能包含空格 表示指定给变量 方法和类的名称 以便编译器可唯一标识它们 15 标识符 标识符用来表示类名 变量名 方法名 类型名 数组名 文件名的有效字符序列称为标识符 Java语言规定标示符由字母 下划线 美元符号和数字组成 并且第一个字符不能是数字 例如 Girl www 12 23boy如 intCode 数123 No room book 123均合法1first Tree Grass 1sTrue JavaBuilder 123 12均不合法 16 变量 变量是在程序执行期间可根据需要经常变化的值变量具有3个特性 名称 标识符初始值 为其赋值或者是保留缺省值作用域 在不同程序块中的可用性及生命周期 17 变量命名规定 变量必须先声明后使用 声明格式 类型变量名 初始值 变量名 初始值 如 booleanm flag true charmyChar b intnum1 num2 num3 变量名必须是合法的Java标识符 声明变量名的同时就指明了它的作用域 按作用域分 变量可分为 局部变量 类变量 方法参数和异常处理参数 变量名不得是关键字变量名区分大小写等 p40 18 常量 常量是在程序执行期间其值不可变化的量常量有两种 各种类型常量 啊 符号常量 定义方式 final 如 finaldoublepi 3 1415926 举例 p39例程2 1 19 运算符和表达式 算术运算符 关系运算符 右移指定位数 无符号右移指定位数 按位与 按位或 按位异或 按位去反 赋值运算符 等条件运算符 其它 new 类型 instanceof等 20 算术运算符 21 算术运算符与表达式加减运算符 双目运算符 即连接两个操作元的运算符 结合方向从左到右 操作元是整型或浮点型数据 优先级是4级 乘除余运算符 双目运算符 结合方向从左到右 操作元是整型或浮点型数据 优先级是3级 注 5 2的结果是2 要想得到2 5 必须写成5 0 2 算术表达式 用算术符号和括号连接符合java语法规则的式子 如x 2 y 30 3 y 5 自增自减运算符 自增自减运算符是单目运算符 可以放在操作元之前 也可以放在操作元之后 优先级是2级 操作元必须是一个整型或浮点型变量 作用是使变量的值增1或减1 如 x x表示在使用x之前 先使x的值加 减 1 x x 表示在使用x之后 使x的值加 减 1 粗略的看 x和x 的作用相当于x x 1 但不同之处可用下例说明 如果x的原值是5 对于y x y的值为6 对于y x y的值为5 然后x的值变为6 P48 49例程3 1 3 2 22 关系运算符 关系运算符用于测试两个操作数之间的关系 关系表达式将返回一个布尔结果 例程3 3 p51 relationOp1 java 23 逻辑运算符 逻辑运算符与布尔操作数一起使用 短路与 短路或 logicalOp java 24 逻辑运算符与逻辑表达式逻辑运算符包括 逻辑运算符的操作元必须是boolean型数据 逻辑运算符可以用来连接关系表达式 结果为boolean型的变量或表达式可以通过逻辑运算符合成为逻辑表达式 25 位运算符 用于int short long byte和char数据类型 P53例程3 4 26 赋值运算符 一次可以为多个变量赋值 如 inta 20000 intp q r s p q r s a 右结合包括扩展赋值运算符 p55表3 7 赋值运算符 用于为变量赋值 27 三元运算符 三元运算符 可以替代if else结构 classTernaryOp publicstaticvoidmain Stringargs intsalary daysPresent 30 salary daysPresent 20 2000 3000 System out println 您本月薪资为 salary P55例程3 5 28 Instanceof运算符 classInstanceOfDemo publicstaticvoidmain Stringargs InstanceOfDemot newInstanceOfDemo if tinstanceofInstanceOfDemo System out println T是InstanceOfDemo的实例 else System out println T不是InstanceOfDemo的实例 可以确定对象是否属于一个特定的类 29 运算符综述Java的表达式就是用运算符连接起来的符合Java规则的式子 运算符的优先级决定了表达式中运算执行的先后顺序 例如 x y z相当于 x y z 运算符的结合性决定了并列的相同级别的运算符的先后顺序 例如 8 5 3相当于 8 5 3 x相当于 x 30 运算符综述 注意运算的优先级 p56表3 8 Instanceof检测对象是否属于一个指定类或其子类 是则返回true 否则返回false 如 右边是对象时 它把其引用赋给左边 而不是建副本 举例 OperationApp java 31 java lang包2 1 该包中包含的类是Java编程语言设计的基础其中比较重要的类包括 Object封装类 类体系结构的根 封装基本数据类型 为基本数据类型建立对象表达式 32 java lang包2 2 Math类String和StringBufferSystem 提供一些常用的数学运算的方法 提供常用的字符串运算 提供 系统操作 33 java lang包详解 Object类提供的主要方法 相等 publicbooleanequals Objectob 检测对象是否含相同信息 myCar yourCar 析构化 protectedvoidfinalize throwsThrowable 回收JVM以外申请的资源如 protectedvoidfinalize throwsThrowable super finalize ALWAYSdothisinafinalizemethod 34 java lang包详解 System类 系统输入输出流 publicstaticInputStreaminpublicstaticPrintStreamoutpublicstaticPrintStreamerr获得当前时间 publicstaticlongcurrentTimeMillis 举例TimeGet 35 java lang包详解 对象封装类 许多java类愿意处理对象而不是基本数据类型 此类提供了基本数据类型的对象版本 还提供了方法将字符串转换成各种数据类型 如 类Character 构造方法 publicCharacter charvalue 获得其中的字符值 publiccharcharValue 对字符分类 isDigit Anumericdigitbetween0 9 isJavaLetterOrDigit Aletter digit or 数字和字符相互转换 publicstaticintdigit charch intradix 返回指定基数的数字publicstaticcharforDigit intdigit intradix 36 java lang包详解 对象封装类 类Number int long float等的对象封装都是该类的子类 即该类中的方法在Integer Float等封装中都可用 可将数字转化为基本类型 publicbytebyteValue publicshortshortValue publicabstractintintValue publicabstractlonglongValue publicabstractfloatfloatValue publicabstractdoubledoubleValue 37 java lang包详解 对象封装类 类Integer 表示数据类型int的对象封装 构造函数 publicInteger intvalue publicInteger Strings 转换字符串为整数 publicstaticintparseInt Strings intradix 区别在返回类型publicstaticIntegervalueOf Strings intradix 指定基数 类Long 类Byte 类Float和类Double等与上近似 38 java lang Math2 1 java lang Math类中可用的staticpublicstaticfinaldoubleE 定义常量E和PIpublicstaticfinaldoublePI static方法有 abs 返回参数的绝对值ceil 返回大于或等于参数的最小整数random 返回类型为double且介于0 0和1 0之间的随机数 39 java lang Math2 2 floor 返回小于或等于参数的最大整数max 返回两个参数值中的大者min 返回两个参数值中的小者round 返回双精度浮点数参数四舍五入后的整数或长整数如 Math ceil 8 02 9 0Math ceil 1 3 1Math floor 1 3 2 40 语句 语句概述Java里的语句有多种类型 如 1 方法调用语句 如 System out println hello 2 表达式语句 由一个表达式构成一个语句 典型如赋值语句 X 23 一个表达式的最后加上一个分号就构成了一个语句 分号是语句不可缺少的部分 3 复合语句 可以用 把一些语句括起来构成复合语句 如 z 23 x System out println hello 4 控制语句 5 package语句和import语句 41 控制结构 选择if elseswitch循环whiledo whilefor Java支持下列控制结构 选择 循环 跳转 跳转breakcontinue 42 if else选择语句 if else结构的语法为 if 条件 语句1 else语句2 if 条件 语句组 else 语句组 if和else块中只有一条语句 if和else块中有多条语句 43 if else选择语句 条件语句if语句if语句的一般形式 if 表达式 若干语句 else 若干语句 44 if后面 内的表达式的值必须是boolean型的 注 1 if和else后面的复合语句里如果只有一个语句 可以省略不写 但为了增强程序的可读性最好不要省略 2 有时为了编程的需要 else或if后面的大括号里可以没有语句 if语句的扩充形式为 if 表达式1 语句1elseif 表达式 语句2 elseif 表达式n 语句n 例程4 1 p61 45 switch选择语句 switch结构的语法为 switch 表达式 case 常量值1 语句 组 break case 常量值2 语句 组 break case 常量值N 语句 组 break default 语句 组 表达式必须为byte short int或char类型 常量值必须是与表达式类型兼容的特定的一个常量不允许有重复的case值 46 switch语句中表达式的值必须是简单数据类型 常量值1到常量值n必须与表达式类型一致 Switch语句首先计算表达式的值 如果表达式的值和某个case后面的常量值相同 就执行该case里的若干个语句直到break语句为止 若没有一个常量与表达式的值相同 则执行default后面的若干个语句 Default是可有可无的 如果它不存在 并且所有的常量值都和表达式的值不相同 那么switch语句就不会进行任何处理 在同一个switch语句中 case后的常量值必须互不相同 p63说明 如 示例4 2 p62 再举例example1 2 47 循环 while循环while 条件 语句组 do while循环do 语句组 while 条件 for循环for 变量初始化 条件 递增或递减变量的值 语句组 48 循环语句 for循环语句for语句格式如下 for 表达式1 表达式2 表达式3 若干语句 循环体注 表达式1负责完成变量的初始化 表达式2是值为boolean型的表达式 称为循环条件 表达式3用来修整变量 改变循环条件 for语句的执行过程是这样的 首先计算表达式1 完成必要的初始化工作 再判断表达式2的值 若表达式2的值为true 则执行循环体 执行完循环体之后紧接着计算表达式3 以便改变循环条件 这样一轮循环就结束了 第二轮计算从计算表达式2开始 若表达式2的值仍为true则继续循环 否则跳出整个for语句执行后面的语句 如 示例4 3 p65 49 50 break和continue语句 break语句在循环中用于立即从当前循环终止控制 遇到break语句时 将跳出当前循环 continue语句则是从其调用处跳至循环的开始处 continue语句之后的语句将不再执行 举例 example1 6 java StatementApp1 java 51 控制语句 续 break语句 格式2 break标号名 功能 使程序直接跳出标号所在的块 如 first loop for intI 1 I 100 I for intj 2 j I j if I j 0 breakfirst loop System out println I 举例 例程4 7 p70 52 控制语句 续

温馨提示

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

评论

0/150

提交评论