Java 程序设计教程-chapter 2_第1页
Java 程序设计教程-chapter 2_第2页
Java 程序设计教程-chapter 2_第3页
Java 程序设计教程-chapter 2_第4页
Java 程序设计教程-chapter 2_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、Java 程序程序设计设计教程教程Sixth Editionby Lewis & LoftusChapter 2: 数据与表达式数据与表达式2-2数据与表达式数据与表达式 本章重点: 字符串 基本数据类型 变量与赋值 赋值语句 数据转换2-3大大纲纲字符串字符串变量与赋值变量与赋值基本数据类型基本数据类型表达式表达式数据类型转换数据类型转换交互程序交互程序2-4字符串字符串 JAVA以双引号作为字符串的定界符: Examples:This is a string literal.123 Main StreetX 每一字符串在Java作为一个对象存在,由 String 类定义2-5Pri

2、ntln 和和print 方法方法 在第一章的Lincoln 程序, 调用了 println 方法打印字符串 System.out 对象代表一个输出设备 (显示器屏幕)System.out.println (Whatever you are, be a good one.);对象对象方法名方法名传递给方法的信息传递给方法的信息( (参数参数) )2-6print方法方法 System.out 对象还提供了另一个可用的服务 print 方法 类似于 println方法, 区别在于保持光标的当前位置2-7字符串拼接字符串拼接 一个字符串不能跨越多行 字符串拼接运算符 (+) 将两个字符串拼接在一起

3、形成一个长字符串Peanut butter + and jelly 可用于将字符串与数字拼接在一起2-8字符串拼接字符串拼接 + 运算符也表示算术加法运算 + 运算符究竟完成哪种运算取决于操作数的数据类型 如果+ 运算符的两个操作数中至少有一个是字符串,则作字符串拼接操作 + 运算符从左到右依次执行2-9转义转义序列序列 如何打印一个双引号? 下面语句会导致编译器理解错误System.out.println (I said Hello to you.); 一个转义序列用于表示一个可能会引起编译错误的特殊字符 一个转义序列以反斜杠 ()开头System.out.println (I said H

4、ello to you.);2-10转义转义序列序列 Java转义序列:转义序列转义序列btnr意义意义回退回退制表符制表符换行符换行符回车符回车符双引号双引号单引号单引号反斜杠反斜杠2-11大大纲纲字符串字符串变量与赋值变量与赋值基本数据类型基本数据类型表达式表达式数据类型转换数据类型转换交互程序交互程序2-12变量与赋值变量与赋值 变量代表保存数据的内存单元 变量声明由类型说明符以及后续的变量名列表组成int total;int count, temp, result;一行变量声明语句可以同时声明多个具有相同类型的变量一行变量声明语句可以同时声明多个具有相同类型的变量数据类型数据类型变量名

5、变量名2-13赋值语赋值语句句 一个变量可以在定义时赋予一个初始值引用一个变量时,只引用该变量的当前值int sum = 0;int base = 32, max = 149;2-14赋值赋值 赋值语句能够改变一个变量的值 基本赋值语句用赋值运算符 = total = 55;Total变量的内容被改写不允许将一个值赋给一个类型不一致的变量先计算赋值运算符右边的表达式2-15常量常量 常量类似于变量,只是值在它的生命期内一直保持不变 给常量赋予初始值后,若再试图改变该常量值,则编译器会报错 Java 采用final修饰语声明一个常量final int MIN_HEIGHT = 69;2-16常量

6、常量 常量在三种情况下非常有用: 第一:使用常量有清晰的作用和意义 Example:MAX_LOAD 其次:使用常量可避免编写代码时的疏忽性错误 初始化赋值语句是唯一能改变常量值的地方 第三:当常量值需要修改时,只需要修改声明语句2-17Outline字符串字符串变量与赋值变量与赋值基本数据类型基本数据类型表达式表达式数据类型转换数据类型转换交互程序交互程序2-18基本数据类型基本数据类型 Java含有八种基本数据类型 四种整型: byte, short, int, long 两种浮点数类型: float, double 一个字符型: char 一个布尔型: boolean2-19整型与浮点型

7、整型与浮点型 各种数值型的区别在于保存时所占用的内存空间的大小不同类型类型byteshortintlongfloatdouble存储空间存储空间8 bits8 bits16 bits16 bits32 bits32 bits64 bits64 bits32 bits32 bits64 bits64 bits最小值最小值-128-128-32,768-32,768-2,147,483,648-2,147,483,648 -9 x 10 9 x 10 9 x 1018182-20字符型字符型 字符变量可保存一个字符 Java用单引号表示字符常量:a X 7 $ , n Example:char t

8、opGrade = A;char terminator = ;, separator = ; 字符型是Java的基本数据类型,但字符串不是基本类型2-21字符集字符集 字符集由字符按照一定顺序组成的字符列表 Java使用16位Unicode字符集表示字符 Unicode使用16个二进制位表示一个字符,支持65536个不同字符 许多语言的字符和符号都包含在Unicode的定义中2-22字符集字符集ASCII 码字符集历史比Unicode久远,为Unicode的一个子集, 但仍然相当流行 The ASCII 码字符集包括:大写字母大写字母小写字母小写字母标点符号标点符号数字数字特殊符号特殊符号控制

9、符号控制符号A, B, C, A, B, C, a, b, c, a, b, c, ., ;, ., ;, 0, 1, 2, 0, 1, 2, &, |, , &, |, , 回车回车, , 空格空格, ., .2-23布尔型布尔型 一个布尔型变量包含两种有效值:true和false Java中的单词true和false用作表示布尔常量值的保留字boolean done = false;2-24大大纲纲字符串字符串变量与赋值变量与赋值基本数据类型基本数据类型表达式表达式数据类型转换数据类型转换交互程序交互程序2-25表达式表达式 表达式由一个以上的运算符和操作符按照一定规则组合

10、而成 表达式是运算符和操作符组合后用于完成计算:表达式中只要有一个或以上的运算符为浮点数,则结果也为浮点数加加减减乘乘除除求余求余+ +- -* */ /%2-26除法与求余除法与求余 如果(/)的两个操作数都为整数,则结果为整数 (忽略计算结果的小数部分)求余运算 (%) 返回值的符号与被除数的符号一致14 / 3 equalsequals8 / 12 equalsequals4014 % 3 equalsequals8 % 12 equalsequals282-27运算符运算符优优先先级级 运算符可以组合以形成更复杂的表达式result = total + count / max - of

11、fset; 运算符优先级层次结构建立了控制运算的求值顺序规则 乘法、除法、求余运算符具有相同的运算优先级,先于加、减法 具有相同优先级的运算符按照从左到右的顺序执行, 但可以使用括号强制改变运算符优先顺序2-28赋值赋值 赋值运算符的运算优先级比算术运算符的优先级更低首先计算首先计算= =操作符右边的值操作符右边的值计算结果保存到计算结果保存到= =操作符左边表明的变量操作符左边表明的变量answer = sum / 4 + MAX * lowest;14322-29赋值赋值 赋值语句左右边可能出现相同的变量取取countcount的当前值再加的当前值再加1 1将计算结果存回将计算结果存回co

12、untcount变量变量( (改写原有值改写原有值) )count = count + 1;2-30自增和自减运算符自增和自减运算符 自增和自减运算符只需要一个操作数 自增运算符 (+) 将整型和浮点型变量加1 自减运算符(-)将整型和浮点型变量减1 表达式count+;等价于count = count + 1;2-31自增和自减运算符自增和自减运算符 自增和自减运算符可以作用在变量之后:count+ 自增和自减运算符也可以作用在变量之前:+count 自增和自减运算符应用在较复杂的表达式中可能产生不同的计算结果 自增和自减运算符的前缀和后缀形式具有微妙的差异2-32赋值赋值运算符运算符 通常

13、我们会对某变量操作,再将结果存回该变量 Java 提供了组合赋值语句以简化上述过程 Example:num += count;等价于:num = num + count;2-33赋值赋值运算符运算符 Java包含很多组合赋值运算符:运算符运算符+=-=*=/=%=例子例子x += yx -= yx *= yx /= yx %= y等价于等价于x = x + yx = x - yx = x * yx = x / yx = x % y2-34赋值赋值运算符运算符 赋值运算的右边可能包含复杂的计算表达式 所有的组合赋值运算符都是首先计算整个表达式的值,然后将计算结果作为组合赋值运算符的右操作数与左边

14、变量的值进行计算 因此result /= (total-MIN) % num;等价于result = result / (total-MIN) % num);2-35赋值赋值运算符运算符 一些组合赋值运算符执行的具体功能依赖于操作数的类型 如果 += 运算符的操作数是字符串,那么该运算符将执行字符串拼接2-36大大纲纲字符串字符串变量与赋值变量与赋值基本数据类型基本数据类型表达式表达式数据类型转换数据类型转换交互程序交互程序2-37数据类型数据类型转换转换 有时进行数据之间的转换很有必要 数据转换一般不改变数据原有值 扩展类型转换是更安全的类型转换 (例如从 short 转换到 int) 压缩

15、类型转换相对扩展类型转换更容易丢失信息 (例如从int 转换到short) 在Java中, 数据转换的方式有三种: 赋值类型转换 “低级别”类型向“高级别”类型自动转换 强制类型转换2-38赋值类型转换赋值类型转换 将一个类型的值赋给另一种类型的变量时,发生了赋值类型转换 如果 money 是float变量,dollars是int变量, 下列赋值将 dollars值转为floatmoney = dollars 在赋值类型转换时只能执行扩展类型转换 注意 dollars 的数值类型和值没有发生改变2-39数数值值类型类型转换转换 某运算符为了进行运算而需要修改其操作数时,将进行自动类型转换 例如

16、, 如果sum 为float,count 为int, count 的值转换为浮点数,以执行下列计算:result = sum / count;2-40强制强制转换转换 强制类型转换是数据转换中最强大、最危险的转换方式 扩展类型转换和压缩类型转换都可以由显式的强制转换实现 强制转换的格式为 (“类型名”) 变量/数值 例如, 如果total 和count 为整型, 但希望得到一个以浮点数表达的除法结果, 则可以强制转换 total:result = (float) total / count;2-41大大纲纲字符串字符串变量与赋值变量与赋值基本数据类型基本数据类型表达式表达式数据类型转换数据类型

17、转换交互程序交互程序2-42交互程序交互程序 通常程序需要在执行期间交互地从用户输入中读取数据 Scanner 类提供了交互式读取不同类型的输入数据 Scanner 类对象可读取不同来源的数据, 包括用户键盘输入 键盘输入由 System.in 对象表示2-43读读取取输输入入 下列语句创建了一个读取键盘输入的scanner对象:Scanner scan = new Scanner (System.in); new 操作符创建了Scanner对象 一旦创建, Scanner对象可用于调用不同的输入方法, 例如:answer = scan.nextLine();2-44读读取取输输入入 Scan

18、ner 类为java.util 类库的一部分, 在使用前必须先import nextLine 方法读取所有的输入直至行结束符 对象创建和类库的引用将在第三章详细讨论2-45输输入数据入数据项项 除非特别说明,Scanner对象假定空白字符用于分离输入数据流中的各个数据项 空白字符包括空格符、制表符和换行符 Scanner类的next方法将下一个输入数据项作为字符串读入并返回该字符串 nextInt 和nextDouble方法读取特定类型的数据 See GasMileage.java 2-46图图形形 一幅保存在计算机的图形必须数字化 将信息分解为元素并用编码来表示元素 保存每个像素颜色值以保存

19、完整图形 表示图形所用的像素点数称为图形分辨率 黑白图形的每像素点用1位二进制位表示2-47坐坐标标系系统统 传统的笛卡尔坐标系有两个在原点相交的坐标轴 Java程序设计语言设置一套相对简单的坐标系统,所有的可见坐标值都为正值 Java绘图区的左上角坐标为(0,0) X轴坐标值向右增大 Y轴坐标值向下增大2-48颜颜色表示方法色表示方法 Java采用三个数表示颜色值,即RGB值 RGB值中每个基色值代表该基色的大小 用一个字节(8位)保存一个基色值, 取值范围在0255 每种基色的亮度级的合成决定像素点颜色 Java采用Color类定义和管理颜色 Color类的每个对象代表一种颜色2-49Java applet Java程序有两种:程序有两种:Java小小应应用程序(用程序(Java applet)和)和Java应应用程序用程序 Java Applet的源代的源代码编辑码编辑与字与字节码节码的的编译编译生成生成过过程与程与Java Application 相同,但它相同,但它不是可以独立运行的程序,它的字不是可以独立运行的程序,它的字节码节码文件文件必必须须

温馨提示

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

评论

0/150

提交评论