Java02Java程序设计基础.ppt

上传人:xin****828 文档编号:6232754 上传时间:2020-02-20 格式:PPT 页数:56 大小:495KB
返回 下载 相关 举报
Java02Java程序设计基础.ppt_第1页
第1页 / 共56页
Java02Java程序设计基础.ppt_第2页
第2页 / 共56页
Java02Java程序设计基础.ppt_第3页
第3页 / 共56页
点击查看更多>>
资源描述
第二章Java程序设计基础 信息类专业课程 西北农林科技大学 主要内容 1 标识符和关键字 2 数据类型 3 变量和常量 4 数据类型转换 5 运算符 6 程序流程控制语句 7 结构化程序设计 2 1标识符和关键字 Java中的标识符 可以用来标识变量名 类名 类中的方法名和文件名等 标识符组成 1 字母 2 数字 3 下划线 和 4 美元符号 首字符必须是 1 字母 2 下划线 和 3 美元符号 所有标识符是区分大小写的 除去关键字 false true和null 问题 是 不是标识符 myVariable9pinsMYVARIABLEia ctesting1 2 3 myvariablejava umlMyVariable myvariable 9pinsIt s猫 标识符的习惯命名 能表达明确意义的英文单词命名 并采用规范的单词缩写形式与单词分隔形式 表示常量时标识符全部用大写字母和下划线表示 如PI SALES TAX 表示类名或接口名时 标识符用大写字母开头 如CreditCard 表示变量名和方法名 以小写字母开头 单词之间不要有分隔符 第二及后面单词第一个字符用大写字母 如authorName Java关键字 具有特殊含义的字符序列例如 public static和class具有特殊用途 不能作为变量名 方法名和类名 2 2数据类型 基本数据类型 2 3变量和常量 变量在计算机内部对应着一个存储单元 而且总是具有某种数据类型 基本数据类型或引用数据类型变量总是具有与其数据类型相对应的值每个变量均具有 名字 类型 一定大小的存储单元以及值变量名对应内存的位置 Java变量必须属于某种类型 变量值也必须与变量类型相匹配例如 intstudentNumber 声明单个变量doublevelocity distance 声明多个变量studentNumber 30 给变量赋以整数30intstudentNumber 30 声明变量 并赋初值 变量在内存中的存储方式 intID 42889 Strings HelloWorld 常量 赋值后不能更改的值使用关键final使常量不能改变如finaldoubleSALES TAX 6 5 如果试图改变常量的值 编译器将发出一条出错信息 Java常量 Java常量包括基本数据类型常量 字符串 String 常量和null布尔 boolean 常量只有两个 true和false c u0061 u0051 和 u005a 是char常量 34是int常量1 5 45 6 76 4E8和 32 0是double常量34L是long常量 1 5F 45 6f 76 4E8F和 32 0F是float常量 HelloWorld 是String常量null是引用数据类型的常量任意引用数据类型的常量 null 2 4数据类型转换 用变量 常量赋值给另一个变量时 两者的数据类型必须一致 如不一致 则要进行数据的类型转换类型转换有隐式转换 自动类型转换 和显式转换 强制类型转换 两种 隐式类型转换 当占用比特位较少的类型转换为占有比特位数较多的数据时 使用隐式类型转换转换过程由Java编译器自动进行例 将短格式整型数据赋值为长格式整型数据 不会出现错误 如 inti 123 longj i 若反过来 将长格式赋值给短格式整数 如 longj 25L inti j 以及将双精度数据赋值为单精度变量 如 floata 2 5 将出现编译错误 显示类型转换 当长格式数据赋值给短格式整型变量 双精度数据给单精度类型赋值 浮点型数据给整型变量赋值时 均要进行显示类型转换 即强制类型转换强制类型转换的格式为 目标数据类型 变量名例如 inta 260 byteb b byte a 2 5运算符 对基本数据类型的常量与变量进行加工的过程成为运算 表示各种不同运算的符号称为运算符 参与运算的数据称为操作数 Java语言的运算符分成以下几类 一元运算符二元或三元运算符前缀或中缀或后缀运算符 Java运算符 算术运算符关系运算符布尔逻辑运算符位运算符赋值类运算符条件运算符其他运算符 1 算术运算符 算术运算符包括 没有指数运算Math pow 2 0 3 0 2 03 0整数除法 截去余数7 5结果为1取模 返回余数7 5结果为2 问题 7 5 7 5 7 5 7 0 5 7 5 0 7 5 0 7 5 0 1 22 1 4 1 42 0 2 0 2 关系运算符 六个关系运算符 和 例如 1 2 false3 5 1 true51 5 23 0 true540 654 true24 3 8 truebooleanisEqual 10 10 isEqual false 关系运算符的注意事项 只能用来比较两个数值类型数据 numbers含characters 的大小不能用于Strings booleans arrays或其他类型 3 布尔逻辑运算符 六个布尔逻辑运算符 逻辑与AND 逻辑或OR 逻辑异或XOR 逻辑非NOT 单目运算符 即只有一个操作数 条件与AND 条件或OR 4 位运算符 位运算符包括 和 带符号右移 不带符号右移越晦涩难懂的 越会被SCJP考到 移位操作是 先将整数写成二进制形式 然后按位操作 最后产生一个新的数注意 只用于整数 5 赋值类运算符 赋值类运算符包括 6 条件运算符 条件运算符 的表达式形式为 op1 op2 op3 op1 布尔表达式例如 intk i 0 1 1 7 其他运算符 其他运算符包括 类型 instanceof和new例如 inta 51 charc char a 运算符优先级 一元后缀 一元前缀 创建和强制类型转换new type 倍数 增量 移位 关系 2 6程序流程控制语句 if elseif elsewhiledo whileforswitchcasebreakcontinue if else语句 if else语句根据判定条件的真假来执行两种操作中的一种 它的形式如下 if 布尔表达式 语句1 else 语句2 其中 用 括起的else部分是可选的 即可有可无的 若无else部分 if语句的流程如下图 无else部分的if语句的流程图 true false 语句1 布尔表达式 后续语句 若有else部分 if语句的流程如图 true false 语句1 布尔表达式 后续语句 语句2 注意 else子句不能作为语句单独使用 它必须是if语句的一部分 与if配对使用 例 判断成绩是否优秀 classIf NoElse publicstaticvoidmain String args intscoreOfMark 89 if scoreOfMark 90 System out println 祝贺你 你的成绩优秀 else System out println 你的成绩未达到优秀 请继续努力 while语句 while语句的语法形式为 while 布尔表达式 语句 while语句用于在布尔表达式 即测试条件 的值保持为真 true 时反复地执行其中的内嵌语句 一般叫做循环体 while语句的流程图 True false 例 用while语句求1 2 10的和 publicclassWhileOfSum publicstaticvoidmain String args inti sum sum 0 累加器清0i 1 i的初始值为1while i 10 sum i i System out println sum sum do while语句 Java还提供了另一个与while语句类似的语句 do while语句 do while语句的语法形式如下 do 语句 while 布尔表达式 do while语句的流程图 true false for语句 for语句是循环的另一种表示形式 for语句的语法形式为 for 表达式1 表达式2 表达式3 语句 例如要使循环执行某一段代码1000次 可以表达为 for intnumber 0 number 1000 number 一段代码 for语句的流程图 例 用for语句求1 2 10的和 publicclassForOfSum publicstaticvoidmain String args inti sum sum 0 累加器清0for i 1 i 10 i sum i System out println sum sum for语句常见的错误 错误一 for语句不写大括号 for inti 1 sum 0 i 100 i sum I System out println i i sum sum 错误二 利用浮点类型的 或 运算作为条件表达式for doublex 0 1 x 1 0 x 0 1 System out println x switch语句 switch语句根据表达式的结果来执行多个操作中的一个 它的语法形式如下 switch 表达式 case常量1 语句1 break case常量2 语句2 break case常量n 语句n break default 缺省处理语句break switch语句的流程图 表达式 break 语句1 break 语句2 break 语句n break 缺省处理语句 后续语句 常量1 常量2 常量n default switch语句的注意点 1 1 使用switch语句时 要注意表达式必须是符合byte char short int类型的表达式 而不能使用浮点类型或long类型 也不能为一个字符串 2 switch语句将表达式的值依次与每个case子句中的常量值相比较 如果匹配成功 则执行该case子句中常量值后的语句 直到遇到break语句为止 3 case子句中常量的类型必须与表达式的类型相容 而且每个case子句中常量的值必须是不同的 4 default子句是可选的 当表达式的值与任一case子句中的值都不匹配时 就执行default后的语句 switch语句的注意点 2 5 break语句在执行完一个case分支后 使程序跳出switch语句 执行switch语句的后续语句 6 在一些特殊的情况下 例如多个不同的case值要执行一组相同的操作 可以写成如下形式 case常量n case常量n 1 语句 break switch语句的注意点 3 7 case分支中包括多个执行语句时 可以不用花括号 括起 8 通过if else语句可以实现switch语句所有的功能 但通常使用switch语句更简练 且可读性强 程序的执行效率也高 9 if else语句可以基于一个范围内的值或一个条件来进行不同的操作 但switch语句中的每个case子句都必须对应一个单值 例 用switch语句实现学生成绩的百分制到等级制的转换 classSwitchDemo publicstaticvoidmain String args inttestScore 88 chargrade switch testScore 10 两个整型数相除的结果还是整型case10 此处没有使用breakcase9 grade A break 值为10和9时的操作是相同的case8 grade B break case7 grade C break case6 grade D break default grade F break System out println gradeis grade break语句 对于Java中的三种类型的循环 while do while for来说 正常的退出循环的方法是当测试条件变为false时 但有时即使测试的条件为true 也希望循环立即终止 这时可以用break语句实现此功能 break语句的一般语法格式为 break 标号 break语句不能用于循环语句和switch语句之外的任何其它语句中 例 break语句的例子 publicclassBreakDemo publicstaticvoidmain String args intindex 0 while index 100 index 10 if index 40 break 当index的值大于100时 循环将终止 但有一种特殊的情况 如果index的值等于40 循环也将立即终止 System out println Theindexis index 输出结果 Theindexis10Theindexis20Theindexis30 true false continue语句 Continue语句只能在循环中使用 它和break语句的区别是continue语句只结束本次循环 而不是终止整个循环的执行 而break语句则是结束整个循环语句的执行 continue语句的一般格式为 continue 标号 例 continue语句的例子 publicclassContinueDemo publicstaticvoidmain String args intindex 0 while index 99 index 10 当index的值等于40时 使循环回到while语句处 而不像正常处理那样去执行后面的输出语句 if index 40 continue System out println Theindexis index ture false 学生成绩查询系统 案例1 打印某学生某一学期所有课程的成绩和等级 优 良 中 及格和不及格 并给出平均成绩 publicclassPringStuScore publicstaticStringscoreLevel intscore if score 90 return 优 elseif score 80 return 良 elseif score 70 return 中 elseif score 60 return 及格 else return 不及格 publicstaticvoidmain String args intjavaScore 90 intdatabaseScore 75 intenglishScore 85 intavrScore javaScore databaseScore englishScore 3 System out println Java课程成绩 javaScore scoreLevel javaScore System out println 数据库课程成绩 databaseScore scoreLevel databaseScore System out println 英语课程成绩 englishScore scoreLevel englishScore System out println 平均成绩 avrScore 作业 2 1 编写一个程序 打印100 200之间的素数 要求每行按10个数 数与数之间有一个空格间隔 的形式对其输出 2 2 编写一个编程 给定一个t的值按下式计算y值并输出 要求分别用if和switch语句来实现 t2 10 t 1t3 2 t 21 t 3y t2 t sin t 3 t 5t 15 t 7t 1其它提示 开平方方法 Math sqrt n 计算sin t 方法 Math sin t ThankYou Any
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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