java2(Java语言基础).ppt

上传人:max****ui 文档编号:6358025 上传时间:2020-02-23 格式:PPT 页数:69 大小:866.81KB
返回 下载 相关 举报
java2(Java语言基础).ppt_第1页
第1页 / 共69页
java2(Java语言基础).ppt_第2页
第2页 / 共69页
java2(Java语言基础).ppt_第3页
第3页 / 共69页
点击查看更多>>
资源描述
Java语言基础 Lecture2 提纲 Java语言的词法变量和常量简单数据类型操作符和表达式流程控制 Java语言的词法 分号块空白注释标识符关键字 分号 在Java编程语言中 语句是一行由分号 终止的代码 例如totals a b c d e f 与下式相同total a b c d e f 块 一个块 block 或一个复合语句是以上括号和下括号 为边界的语句集合 块语句也被用来组合属于某个类的语句 一个块可被用在一个类的定义中publicclassDate intday intmonth intyear 块 块语句可以被嵌套语句块可被嵌套 HelloWorldApp类由main方法构成 这个方法就是一个语句块 它是一个独立单元 单元本身可作为在类HelloWorldApp块中的一组事务之一 publicclassHelloWorldApp publicstaticvoidmain Stringargs System out println HelloWorld 块 其它一些块语句或组的例子如下 一个语句块 x y 1 y x 1 一个语句嵌套再另一个语句中while i large a a i if a max b b a nestedblockisherea 0 空白 Java程序中允许任意多的空白 在源代码元素之间允许空白 空白的数量不限 空白 包括空格 tabs和新行 可以改善你对源代码的视觉感受 intx x 23 54 intx x 23 54 注释 Java语言提供三种注释方法单行注释 多行注释 文档注释方法 注释的原则注释时以增加代码的清晰度为目的保存注释的简洁在写代码之前先写注释在写注释时不但要写出做什么 还要写出为什么这么做 标识符 在Java编程语言中 标识符是赋予变量 类或方法的名称 变量名的开头可以是任何字母 下划线 或者是货币符号 标识符开始不能是数字不能以关键字作为标识符Java标识符是区分大小写的标识符的长度不受限制 例子 有效标识符如下 identifieruserNameUser name sys varl changeString和string是不同的 abstractdoubleintsuperbooleanelseinterfaceswitchbreakextendslongsynchronizedbytefinalnativethiscasefinallynewthrowcatchfloatpackagethrowscharforprivatetransientclassgoto protectedtryconst ifpublicvoidcontinueimplementsreturnvolatiledefaultimportshortwhiledoinstanceofstatic 关键字 目前Java语言一共定义了48个保留关键字 这些关键字与运算符和分隔符的语法一起构成Java语言的定义 关键字 关键字对Java技术编译器有特殊的含义 它们可标识数据类型名或程序构造 construct 名 以下是有关关键字的重要注意事项 true false和null为小写 而不是象在C 语言中那样为大写 严格地讲 它们不是关键字 而是文字 然而 这种区别是理论上的 无sizeof运算符 所有类型的长度和表示是固定的 不依赖执行 goto和const不是Java编程语言中使用的关键字 常量和变量 常量定义在程序运行过程中 不再发生改变的量称为常量 用保留字final来实现finaltypeSpecifiervarName value varName value 如 finalintNUM 100 常量分类整数常量浮点数常量字符常量布尔常量 十进制常量如100 200注意第一位不能为0八进制常量以0开头如072 065十六进制常量以0 x或0X开头如0XFF长整形常量以L或l结尾缺省情况下为int整形 32位 长整形常量为64位 整数常量 浮点常量 默认情况下浮点型常量是double型的后面带f的为float类型如2e3f3 f4f5 027763e 343 6 字符常量 用单引号包起来英文字母 a A 数字 1 2 转义序列 布尔常量true falsetrue 1 false 0 布尔常量 语法modifier typeid value id value type byte short int long char float double boolean classID interfaceIDvalue constantsorexpressionsofthetypeinitialization Assignment id value Default 0 null modifier static final public protected private abstract native synchronized 变量 作用域 有效范围在一个作用域中声明的变量对于该作用域外定义的代码是不可见的外部作用域中声明的对象在内部作用域是可见的变量进入其作用域时被创建 离开其作用域时被清除 只有离开作用域它就不再保存它们的值了不能重复声明变量 变量作用域例子 DemonstrateblockscopeclassScope publicstaticvoidmain Stringargs intx x 10 if x 10 inty 20 System out println xandy x y x y 2 y 100 System out println xis x 变量作用域例子 ThisisprogramwillnotcompileclassScopeerr publicstaticvoidmain Stringargs intbar 1 intbar 2 Java数据类型 强类型 安全性和鲁棒性 类型分类简单 基本 数据类型 byte short int long char float double boolean复合 引用 数据类型 Array Class Interface 简单数据类型 Type Size Range Default 注意 1 符号 所有的整数都是有符号的 2 C中的整数有符号或无符号intj 定义一个整数 大小由CPU决定 Unicode定义的国际化的字符集能表示迄今为止人类语言的所有字符集 它是几十个字符集的统一 例如拉丁文 希腊语 阿拉伯语 古代斯拉夫语 希伯来语 日文片假名 匈牙利语等等 这也是为了可移植性特点设置的 Unicode 编码 国际化 Unicode 16 ISO Latin 1 8 ASCII 7 表示 没有Unicode字符编辑器ASCII 7 ISO Latin 1 8 Unicode 16 自动转换 1 这2种类型是兼容的 2 目的类型的范围要比来源类型的大 3 基本规律 表示的范围byte int char int char int long float float double 类型转换 强制转换 缩小 1 由大缩小 2 语法 type value 3 例如 double long float int double float 4 instanceof 类型转换 整型 实型 字符型数据可以混合运算 运算中 不同类型的数据先转化为同一类型 然后进行运算 转换从低级到高级 1 bytea 40 b 50 c 100 intd a b c a bisliftedasintbeforedividedbyc 类型转换示例 2 byteb 50 b b 2 3 byteb 42 charc a shorts 1024 inti 50000 floatf 5 67f doubled 1234 f b i c d s float int double double 4 shorts 134 byteb byte s b 122 类型转换示例 classLecture02 publicstaticvoidmain String args doublefv1 fv2 intiv1 123 fv1 iv1 50 fv2 iv1 50 0 System out println fv1 fv1 System out println fv2 fv2 Java操作符 instanceof op Java操作符 操作数的数目划分一元操作符二元操作符三元操作符按照功能划分赋值运算算术运算位运算关系运算条件运算其他 按操作数划分 一元操作符 二元操作符 Op 三元操作符 赋值运算 赋值运算符 及其扩展赋值运算符如 等 例如 i 3 i 3 等效于i i 3 算术运算 算术运算符为如下几种 算术运算 对整数进行 除法运算时 所有的余数要被舍去inti 9 intj 4 求i j的值 a a表示先对a加一 然后对a进行其他的操作 而a a 是先对a进行操作 然后对a进行加一操作 inti 0count 2 i 求i和count的值inti 0count 2 i求i和count的值 位运算 运算符有如下几种 位运算 例如 a 10011101 b 00111001 则有如下结果 a 3 11110011a 3 00010011 a 关系运算 关系运算符为如下几种 关系运算 例如 count 3 i 0 n 1 注意 比较运算符的表达式的值为布尔型 逻辑运算 逻辑运算符的类型有如下几种 逻辑运算 逻辑与或者逻辑或的运算是按照从左向右检测 对于逻辑或 如果第一个表达式为真 那么后面的表达式将不再计算 对于逻辑与 如果第一个表达式为假 那么其后面的表达式将不再计算 例如 classtest publicstaticvoidmain String args inti 0 System out println Test 2 3 0 i System out println i i 条件运算 表示if then else a x y如果a为真 则运行x 否则运行y例如 result sum 0 1 num sum 优先级 优先级是指同一个式子中多个运算符被执行的次序 同一级里的操作符具有相同的优先级 相同优先级的操作符号相遇时 根据结合性决定运算次序由于优先级和结合性都比较难记忆 所以最好用括号括起来指定其优先级 其它 包括分量运算符 下标运算符 实例运算符instanceof内存分配运算符new强制类型转换运算符 类型 方法调用运算符 等例如 System out println helloworld intarray1 newint 4 优先级 1 2 instanceof3 new type 4 5 6 8 9 10 11 12 13 14 15 16 运算符连接变量 常量等构成的一个序列表达式的值由各构成元素共同确定单独的变量和常量也称为表达式例如 a b a a a a方法调用 a b 表达式语句 分支语句 分支语句提供了一种控制机制 使得程序的执行可以跳过某些语句不执行 而转去执行特定的语句 条件语句if elseif 布尔表达式 语句或块 或if 条件为真 语句或块 else 语句或块 例子 intcount count getCount if count 0 System out println Error countvalueisnegative else System out println Therewillbe count peopleforlunchtoday 分支语句 注意在Java编程语言中 if 用的是一个布尔表达式 而不是数字值 这一点与C C 不同 前面已经讲过 布尔类型和数字类型不能相互转换 因而 如果出现下列情况 if x xisint你应该使用下列语句替代 if x 0 全部else部分是选择性的 并且当测试条件为假时如不需做任何事 else部分可被省略 分支语句 switch expression casevalue1 statement1 break casevalue2 statement2 break casevalueN statemendN break default defaultStatement 多分支语句 多分支语句 表达式expression的返回值类型必须是这几种类型之一 int byte char short case子句中的值valueN必须是常量 而且所有case子句中的值应是不同的 default子句是可选的 break语句用来在执行完一个case分支后 使程序跳出switch语句 即终止switch语句的执行 在一些特殊情况下 多个不同的case值要执行一组相同的操作 这时可以不用break 当变量或表达式的值不能与任何case值相匹配时 可选缺省符 default 指出了应该执行的程序代码 如果任一个表达式不能与case值相匹配且没有default子句时 则程序不作任何操作 而是直接跳出switch语句 如果没有break语句作为某一个case代码段的结束句 则程序的执行将继续到下一个case 而不检查case表达式的值 多分支语句 例1switch colorNum case0 setBackground Color red break case1 setBackground Color green break default setBackground Color black break 多分支语句 例2 switch colorNum case0 setBackground Color red case1 setBackground Color green default setBackground Color black break 循环语句 循环语句使语句或块的执行得以重复进行 直到满足终止循环的条件为止 Java编程语言支持三种循环构造类型 while语句do while语句for语句for和while循环可能连一次循环体都未执行 而dowhile将至少执行一次循环体 while语句 while语句while 布尔表达式 语句或块 例如 inti 0 while i 10 System out println Areyoufinishedyet i System out println Finally do while语句 do while语句do 语句或块 while 布尔测试 例如 inti 0 do System out println Areyoufinishedyet i while i 10 System out println Finally for语句 for语句for循环的句法是 for init expr booleantestexpr alter expr statementorblock for语句执行时 首先执行初始化操作 然后判断终止条件是否满足 如果满足 则执行循环体中的语句 最后执行迭代部分 完成一次循环后 重新判断终止条件 初始化 终止以及迭代部分都可以为空语句 但分号不能省 三者均为空的时候 相当于一个无限循环 在初始化部分和迭代部分可以使用逗号语句 来进行多个操作 逗号语句是用逗号分隔的语句序列 for语句 例如 for inti 0 i 10 i System out println Areyoufinishedyet System out println Finally 注意 Java编程语言允许在for 循环结构中使用逗号作为分隔符 例如 for i 0 j 0 j 10 i j 是合法的 它将i值初始化为零 并在每执行完一次循环体后 增加一次它们的值 for i 0 j 10 i j i j 跳转语句 break语句continue语句返回语句return break语句 在switch语中 break语句用来终止switch语句的执行 使程序从switch语句后的第一个语句开始执行 在Java中 可以为每个代码块加一个括号 一个代码块通常是用大括号 括起来的一段代码 加标号的格式如下 BlockLabel codeBlock break语句的第二种使用情况就是跳出它所指定的块 如果没有指定就是跳出当前块 并从紧跟该块的第一条语句处执行 例如 breakBlockLabel break语句 break语句a 标记代码块ab 标记代码块bc 标记代码块cbreakb 此处的语句块不被执行 此处的语句块不被执行 从此处开始执行 例子 Example1 Exitcurrentloop while do while for orswitchinti for i 0 i Objs length i if Objs i null break Example2 Exitouterloop blocksearch for y 0 y Matrix length y for x 0 x Matrix y length x if Matrix y x flag found true breaksearch 例子 booleant true a b c System out println BeforetheBreak if t breakb System out println Thiswon texecute System out println Thiswon texecute System out println Thisisafterb continue continue语句用来结束本次循环 跳过循环体中下面尚未执行的语句 接着进行终止条件的判断 以决定是否继续循环 对于for语句 在进行终止条件的判断前 还要先执行迭代语句 它的格式为 continue 也可以用continue跳转到括号指明的外层循环中 这时的格式为continueouterLable 例子 例如 outer for inti 0 i 10 i 外层循环inner for intj 0 j 10 j 内层循环if i j continueouter 例子 继续当前循环for inti 0 ii System out println i i continueouter System out print i j return 返回语句returnreturn语句从当前方法中退出 返回到调用该方法的语句处 并从紧跟该语句的下一条语句继续程序的执行 返回语句有两种格式 returnexpression return return语句通常用在一个方法体的最后 否则会产生编译错误 除非用在if else语句中 例子 booleant true System out println Beforethereturn return errorshouldbeif t return System out println Thiswon texecute 小节 Java语言的词法注释 关键字和标识符变量和常量变量的作用域简单数据类型类型的转换操作符和表达式操作符的优先级流程控制break和continue的用法
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!