Java程序设计-第02章 Java基础语法_第1页
Java程序设计-第02章 Java基础语法_第2页
Java程序设计-第02章 Java基础语法_第3页
Java程序设计-第02章 Java基础语法_第4页
Java程序设计-第02章 Java基础语法_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

第二章Java基础语法 图形图像研究所计算机科学与技术 软件学院浙江工业大学 高飞 陆佳炜等 Java程序设计实用教程 北京 清华大学出版社 2013 ISBN 978 7 302 31695 4 高飞 赵小敏等 Java程序设计实用教程习题集 北京 清华大学出版社 2013 ISBN 978 7 302 32051 7 高飞教授 博士生导师Tel 0571 85290535URL 前言 本章的目的 标识符 4种字符 字母 数字 首字符 字母 关键字 8种基本数据类型 boolean char byte short int long float double 运算符 流程控制 结构化程序设计 5种参数输入方式 回顾关键词 程序设计语言的发展 Java语言的发展史 Java开发环境的配置 常用开发工具 记事本 JCreator Eclipse 小节安排 JAVA基础语法 2 1 标识符和关键字 2 2 基本数据类型 2 3 变量和常量 2 4 运算符 2 5 语句 2 6 输入参数方式 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具有特殊用途 不能作为变量名 方法名和类名 小节安排 JAVA基础语法 2 1 标识符和关键字 2 2 基本数据类型 2 3 变量和常量 2 4 运算符 2 5 语句 2 6 输入参数方式 2 2数据类型 基本数据类型 数据类型转换 用变量 常量赋值给另一个变量时 两者的数据类型必须一致 如不一致 则要进行数据的类型转换类型转换有隐式转换 自动类型转换 和显式转换 强制类型转换 两种 数据类型转换 基本数据类型强弱关系图 隐式类型转换 当占用比特位较少的类型转换为占有比特位数较多的数据时 使用隐式类型转换转换过程由Java编译器自动进行例 将短格式整型数据赋值为长格式整型数据 不会出现错误 如 inti 123 longj i 若反过来 将长格式赋值给短格式整数 如 longj 25L inti j 将出现编译错误 显示类型转换 当长格式数据赋值给短格式整型变量 双精度数据给单精度类型赋值 浮点型数据给整型变量赋值时 均要进行显示类型转换 即强制类型转换强制类型转换用圆括号进行转换 目标数据类型 变量名例如 inta 260 byteb b byte a 小节安排 JAVA基础语法 2 1 标识符和关键字 2 2 基本数据类型 2 3 变量和常量 2 4 运算符 2 5 语句 2 6 输入参数方式 2 3变量和常量 变量在计算机内部对应着一个存储单元 而且总是具有某种数据类型 基本数据类型或引用数据类型变量总是具有与其数据类型相对应的值每个变量均具有 名字 类型 一定大小的存储单元以及值 变量的四个要素 变量名 程序通过变量名访问变量的值 对应变量在内存的位置 变量类型 变量类型由程序员显式地声明 类型决定了变量对应存储区域的大小以及如何解释存储在其中的二进制串 存储单元 一个变量与内存中某一区域相关联 存储单元即指该区域的起始地址 值 变量对应的内存区域中存放的数据即为变量的值 在程序运行的不同时刻 变量的值可能不同 名字 类型 值 存储单元 变量在内存中的存储方式 intID 42889 Strings newString HelloWorld Java变量必须属于某种类型 变量值也必须与变量类型相匹配例如 intstudentNumber 声明单个变量doublevelocity distance 声明多个变量studentNumber 30 给变量赋以整数30intstudentNumber 30 声明变量 并赋初值 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 小节安排 JAVA基础语法 2 1 标识符和关键字 2 2 基本数据类型 2 3 变量和常量 2 4 运算符 2 5 语句 2 6 输入参数方式 2 4运算符 对基本数据类型的常量与变量进行加工的过程称为运算 表示各种不同运算的符号称为运算符 参与运算的数据称为操作数 Java语言的运算符分成以下几类 一元 二元或三元运算符 按操作数的个数 前缀或中缀或后缀运算符 按运算符与操作数的位置关系 Java运算符 算术运算符关系运算符布尔逻辑运算符位运算符赋值类运算符条件运算符其他运算符 1 算术运算符 算术运算符包括 没有指数运算Math pow 2 0 3 0 2 03 0整数除法 截去余数7 5结果为1取模 返回余数7 5结果为2 1 算术运算符 publicclassIncrementDecrement publicstaticvoidmain String args inti 0 System out println i System out println i System out println i System out println i 1 算术运算符 publicclassIncrementDecrement2 publicstaticvoidmain String args inti 0 i System out println i i System out println i i System out println i i System out println i 问题 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 关系运算符的注意事项 只能用来比较两个数值类型数据的大小不能用于String boolean array或其他类型 若有两个变量x与y要比较是否相等 应该是写成x y 而不是写成x y 后者的作用是将y的值指定给x 而不是比较x与y是否相等 对于对象来说 两个对象参考之间使用 作比较时 是比较其名称是否参考至同一对象 而不是比较其内容 关系运算符的注意事项 Stringstr1 newString welcome 创建一个对象 初始化Stringstr2 newString welcome 创建一个对象 初始化Stringstr3 str1 创建一个对象 并利用对象str1的地址赋值 str1 str2 falsestr1 str3 true 3 布尔逻辑运算符 六个布尔逻辑运算符 逻辑与 AND 逻辑或 OR 逻辑异或 XOR 逻辑非 NOT 短路与 AND 短路或 OR 3 布尔逻辑运算符 短路示例 例如 下面的程序语句说明了短路逻辑运算符的优点 用它来防止被0除的错误 if denom 0这里 使用标准AND运算符 单个的 来保证不论c是否等于1 e都被自增量 4 位运算符 位运算符包括 和 带符号右移 不带符号右移移位操作是 先将整数写成二进制形式 然后按位操作 最后产生一个新的数注意 只用于整数 5 赋值类运算符 赋值类运算符包括 5 赋值类运算符 6 条件运算符 条件运算符 的表达式形式为 op1 op2 op3 op1 布尔表达式 op1值为true 条件运算结果取op2的值 op1值为false 条件运算结果取op3的值 例如 inti 5 intk i 0 1 1 得出k值为1 7 其他运算符 其他运算符包括 类型 instanceof和new例如 Stringstr1 newString welcome charc char a 运算符优先级 一元后缀 一元前缀 创建和强制类型转换new type 倍数 增量 移位 关系 小节安排 JAVA基础语法 2 1 标识符和关键字 2 2 基本数据类型 2 3 变量和常量 2 4 运算符 2 5 语句 2 6 输入参数方式 2 5语句 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 Else 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 intnum 0 num 1000 num 一段代码 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 inti 1 sum 0 i 100 i sum i System out println i i sum sum 错误 for语句不写大括号 System out println中的i会出现编译错误修改后 for inti 1 sum 0 i 100 i sum i System out println i i sum sum 或者在for外部定义变量 inti for语句常见的错误 错误二 利用浮点类型的 或 运算作为条件表达式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 E 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 true false return语句 return语句的作用是终止当前方法的执行 返回到这个方法的调用者 所有非void方法必须包含一个return语句作为方法最后执行的语句 该语句停止方法的执行 并返回指定类型的值 语法如下 return expression expression的类型应与方法的返回类型一致 小节安排 JAVA基础语法 2 1 标识符和关键字 2 2 基本数据类型 2 3 变量和常量 2 4 运算符 2 5 语句 2 6 输入参数方式 2 6输入参数方式 通过main方法来输入参数在main方法内直接设置参数使用JOptionPane类进行输入使用输入流进行输入使用Scanner类来输入 2 6输入参数方式 通过main方法来输入参数 程序2 21 JHelloWorld2 javapublicclassJHelloWorld2 publicstaticvoidmain String args System out println 第一个参数 args 0 第二个参数 args 1 第三个参数 args 2 2 6输入参数方式 在main方法内直接设置参数 程序2 22 JHelloWorld3 javapublicclassJHelloWorld3 publicstaticvoidmain String args String array abc d ef System out println 第一个参数 array 0 第二个参数 array 1 第三个参数 array 2 2 6输入参数方式 使用JOptionPane类进行输入 程序2 23 JHelloWorld4 javaimportjavax swing JOptionPane 导入JOptionPane类publicclassJHelloWorld4 publicstaticvoidmain String args Stringss JOptionPane showInputDialog 请输入一个数 System out println 输入参数为 ss 2 6输入参数方式 使用输入流进行输入 程序2 24 JSysteminReadTest javaimportjava

温馨提示

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

最新文档

评论

0/150

提交评论