CH2Java语言基础-肖磊的教材.ppt_第1页
CH2Java语言基础-肖磊的教材.ppt_第2页
CH2Java语言基础-肖磊的教材.ppt_第3页
CH2Java语言基础-肖磊的教材.ppt_第4页
CH2Java语言基础-肖磊的教材.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第2章 基本数据类型与基本操作,本章学习目的:了解和掌握Java语言的基本数据类型及相关内容,包括变量、常量、数据类型和表达式,掌握如何利用基本数据类型、输入输出及运算表达式来编写程序。,2.1 标识符,什么是标识符: 日常工作和生活中碰到的每个实体都有一个名字,便于人们区别和使用这些实体。程序中的每个元素也需要通过命名去识别和使用。程序设计语言使用标识符命名程序中的元素,如类、方法、变量、常量和包等。 Java语言命名标识符的规则如下: 标识符是由字母、数字、下划线(_)和美元符($)构成的字符序列。 标识符的第1个字符必须是字母、划线(_)或美元符($),不能是数字。 标识符不能与关键字相同。 标识符不能是true、false和null。 标识符可以有任意长度。 e.g. $123、WelcomeToJava、area、showInputDialog都是合法的标识符,而2A、d+123、test-01是非法标识符。 注意:Java的标识符的大小写敏感,即A和a是两个不同的标识符。,关键字:特殊的含义标识符。 e.g.,2.1 标识符,2.1 标识符:命名习惯,(1)变量和方法通常使用小写字母命名,如果名字包括多个词,则连接在一起,使第一个词的字母小写而其它词的首字母大写,通常变量为名词或名词短语,而方法为动词或运行短语。 e.g. radius、area、circleCenter、print、howInputDialog (2)类通常使用名词或名词短语命名,构成类名的每个单词的首字母均大写。 e.g.Math、ArrayList (3)常量中的字母都大写,单词之间用下划线连接。 e.g.PI和MAX_VALUE,2.2 基本数据类型,1. 整数类型,程序中的整数类型数据能够进行精确的数据存储与计算,就是说数据的表示和运算都是准确的,不会产生误差。使用整数类型时,应该根据要描述的数值大小选择恰当地整数类型,应用最多的是int类型,数据值很大情况下选择long,byte和short通常用于文件读写处理等,从而有效控制存储空间利用率。,2. 浮点类型,浮点类型的数值在存储和运算过程中会产生误差,表示通常所说的实数,其数值由整数部分和小数部分构成。两种浮点类型除存储位数不同外,其精度也不同。float类型的有效数字为67位,double类型的有效数字为15位。,3. 字符类型,字符类型在程序中用于表示单个字符。高级语言的字符类型能够表示的字符范围由使用的字符集决定。为了适应计算机应用的全球化发展,Java选用了Unicode编码字符集。Unicode是一种16位编码,最大可以容纳65535个字符,除传统的西方字符外,也容纳了中文、日文和韩文等亚洲文字。随着更多的语言文字试图加入Unicode编码,原有的16位编码也很快不够用了,因此又扩展了32位的编码。 e.g. IE-“查看”-“编码”,4. 布尔类型,布尔类型是一种用于表示逻辑判断结果的数据类型,它只有两个值:表示“真”的true和表示“假”的false。,2.3 直接量与常量,定义: 直接量是源程序代码中直接出现的各种数据类型的数值。常量是指在程序中使用标识符进行命名且数值不能改变的量。它们的共同特点是在程序运行过程中数值大小不同发生改变。,2.3.1 直接量,整型直接量 浮点型直接量 字符型直接量 布尔型直接量 字符串直接量,整型直接量,Java语言的整型直接量有3种:十进制、八进制和十六进制。 十进制整数由数字09和正号(+)、负号()构成,如:1234、-78、0均为十进制直接量; 八进制整数由数字07和正号(+)、负号()构成。八进制整数必须用数字“0”开始,如:027、-0123均为八进制直接量。 十六进制整数由数字09、字母AF(可以小写)和正号(+)、负号()构成。十六进制整数必须用“0x”或“0X”开始,如:-0x123、0xFFFF均为十六进制直接量。 整型直接量默认是int类型的,可以通过在直接量的末尾加字母L或l表示其数据类型为long。例如:100表示int型十进制整数,100L表示long型十进制整数。,浮点型直接量,Java语言的浮点类型直接量有两种表示形式:十进制小数点形式和科学记数法。 十进制小数点表示法由整数部分、小数点和小数部分组成,整数部分和小数部分可以省略,但不能同时省略,被省略部分的值为0。例如:3.14、.12、100.、123.4等。 科学计数法也称指数形式,由十进制小数点表示部分和指数部分组成,指数部分用E或e开始,指数必须为整数。例如:1.23E+6、1.0E-10、3.14E5等。 浮点类型直接量默认为double类型,如果要在程序中书写float类型的直接量,则需要在直接末尾添加F或f。例如:1.23F、1.23E+6F表示float的直接量。,字符型直接量,字符型直接量是用单引号括起来的单个字符。由于使用Unicode编码,Java程序中单个汉字也作为字符直接使用。例如:A、$、汉、中都是合法的字符直接量。 Java使用转义字符来表示单引号、双引号和斜线等这些字符的直接量。转义字符由一个“”和控制字符组成。,转义符,布尔型直接量,Java语言的布尔型直接量:true和false,字符串直接量,字符串直接量不属于基本数据类型,是程序设计过程中使用非常多的一种直接量。字符串是指用一对双引号括起来的由零个或多个字符组成的字符序列。 长度:Java语言中,字符序列中字符的个数称为字符串的长度。 e.g“是一个空字符串,其长度为0;“string“是一个长度为6的字符串;“欢迎学习Java语言“的长度为10。,2.3.2 常量,格式: 修饰符 final 数据类型 常量标识符 =常量初始值 举例: static final int MAX_VALUE = 1000; static final double PI = 3.14159; 惯用: 程序中使用常量代替直接量,可以提高程序的可读性和易维护性。在上面例子中如果需要将圆周率的精度提高,则只需要修改常量PI的值即可,而如果没有使用常量,则需要对程序中出现的全部圆周率直接量进行修改。,2.4 变量与赋值运算符,定义: 变量用来存储程序中需要处理的数据。与常量不同,变量的值在程序执行过程中会发生改变。 格式: 数据类型 变量名1 ,变量名2 ,; e.g: int lineWidth, x; double radius, interstRate; char ch; boolean flag;,通知: 为进一步加强教风学风建设,学校将于明天(9月18日)进行 课堂考勤抽查,请各学院通知相关任课教师做好课堂的考勤工作!,关于浮点的补充知识,标准(IEEE 754、IEEE 854) float : 符号为1,尾数23,指数8 double: 符号为1,尾数52,指数11 在Netbeans如何查看?,复习题:,2.12.1 下面哪些是合法的Java标识符?哪些是Java的关键字? applet, Applet, b+, class, -c, public, 5#T, $123, water, int, x, y ?,第四周上机实验课注意事项,学生注册、选择班级、选择教师如(hlchen) 上机过程 1、每个机房门口的机器一般是留给辅导老师使用 2、仅提供实验1 的视频文件 3、学生把实验放置个人的FTP目录(下课后请关机、注销、以免被下一个班的学生随意篡改),项目名字至少出现题号,以便阅读评分 4、辅导老师在哪里? 原因: 因东区机房被水泥墙阻隔,辅导老师无法同一个时刻出现在3个班的学生面前。 解决方案: 1、请把整个项目放置个人FTP下; 2、若辅导老师不在本机房,请移步到其他机房辅导老师; 3、辅导老师可使用FTP可以方便看到该学生的程序并当场作答,变量初始化,定义: 程序中定义变量之后可以通过变量名对存储在该变量内存空间的数据进行访问和修改。可以在定义变量的同时使用赋值运算符“”为变量赋予一个初始值,称为变量的初始化 e.g: double salary = 2000.0; int x = 10, y = 100; boolean flag = true;,赋值,定义: 赋值运算符“”用来将其右边的数值赋予其左边的变量,如果其右边是一个表达式则需要先计算表达式的结果后,再把结果赋值给变量 e.g: double area, radius = 2.0; area = PI * radius * radius; /先计算表达式的结果,再赋值给area,2.5 运算符与表达式,运算符: 运算符 名称 例子 说明 + 加运算 a+b 计算a加b的和 - 减运算 a-b 计算a减b的差 * 乘运算 a*b 计算a乘b的积 / 除运算 a/b 计算a除以b的商 % 模运算 a%b 计算a除以b的余数 表达式: 用运算符连接起来的式子,算术运算,定义: 数值数据之间最常见的是通过算术运算符连接操作数构成算术表达式进行算术运算。算术运算符按操作数个数分为双目运算符和单目运算符两类。双目算术运算符,它们都是左结合的,+、的优先级低于*、/、%。 注意事项: (1)两个整数类型的数据进行算术运算后,结果仍然是整数 类型。例如5/2的结果是2而不是2.5。 (2)模运算求a除以b的余数,结果的符号与被除数a的符号 相同。例如:5%3的结果是2;5%3的结果是2;5% 3的结果是2。,、,+ 自增运算 a+, +a 把a的值加1后再赋值给a - 自减运算 a-, -a 把a的值减1后再赋值给a e.g: int a = 10 , b, c = 10, d; b = +a; /执行完本句,变量b和a的值均为11 d = c+; /执行完本句,变量c的值为11,而d的值为10,关系运算,关系表达式通过关系运算符确定两个数据之间的小于、大于及相等关系,也称比较运算表达式。Java语言提供了6种关系运算符。关系运算符都是双目运算符,是左结合的,优先级规则为:、=的优先级相同且高于=、!=。 关系表达式运算的操作数可以是数值类型和字符类型等,运算结果是布尔类型。例如:1780都是关系表达式。,逻辑运算,逻辑运算符可以对象布尔类型的数据进行运算,结果也是布尔类型。Java语言提供了两个双目逻辑运算符:&(逻辑与)和|(逻辑或)、一个单目逻辑运算符:!(逻辑非),逻辑运算规则见表2-6。双目逻辑运算是左结合的,单目逻辑运算是右结合的,优先级顺序为:!高于&高于|。 结果是布尔类型的变量或表达式通过逻辑运算符可以构成逻辑表达式,可以用于表示较复杂的条件判断。例如逻辑运算score = 70 & score = 80表示判断score的值是否在70到80之间。,复合赋值,说明:a *= b; 等价于 a = a*b;,条件运算,定义: 条件运算符是提供的一个三目运算符,使用它构成的条件运算表达式可以根据一个条件在两个表达式的值中选择一个作为结果。 格式: 条件 ? 表达式1 : 表达式2 e.g: c = ab ? a : b; /a和b的较大值并赋值给变量c,运算符与表达式的计算规则,数据类型的转换,表达式运算过程中,运算符对参与运算的操作数的数据类型都有特定要求。通常要求操作数具有相同的数据类型,但是在程序中经常需要对不同类型的操作数进行运算,这就需要将两个操作数的数据类型转换为同一数据类型再进行运算。 分类 自动类型转换 e.g. 1.0 / 2 强制类型转换 e.g. 5 / (int)2.0,数值型数据之间的转换,规范: (1)如果操作数之一是double类型,则把另一个转换为double类型。 (2)否则,如果操作数之一是float类型,则把另一个转换为float类型。 (3)否则,如果操作数之一是long类型,则把另一个转换为long类型。 (4)否则,把两个操作数都转换为int类型。 e.g: 1/2的结果是0,而1.0/2需要把2转换为double,结果为0.5。 double d = 10.8; float f = (float)d; /将d的数值转换为float类型,精度丢失 int i = (int)f; /将f的数值转换为int类型的10,小数部分被截断。,字符型数据与数值型数据之间的转换,char型数据可以转换为任何数值型数据,反之亦然。一个char型数据转换为数值型数据时,该字符的Unicode编码值被转换为指定的数值类型;一个int整数被转换为char类型时,只保留整数的低16位作为Unicode编码,高位部分被截断;当一个浮点数被转换为char类型时,先将浮点数转换为int类型,再转换成char类型。 e.g: byte b = A; / 正确,A的Unicode编码为65,在1个字节范围内 int i = 0; / 正确 byte b = u0FF4; / 错误,Unicode编码uFF4超出了1个字节范围 byte b = (byte) u0FF4; /正确,字符串与基本数据类型之间的转换,Java中使用预定义的类String表示字符串类型。两个字符串可以通过“+”连接起来,此处的“+”称为连接运算符。如果进行连接运算的只有一个字符串,则Java自动将非字符串操作数转换为字符串,再进行连接运算。 举例: String s1= “Welcome “ + “to “ + “Java.“; String s2= “Chapter“ + 2; int i= 1, j = 2; System.out.println(“i+j=“ + i + j); /输出i+j=12 System.out.println(“i+j=“ + (i + j); /输出i+j=3 int value = Integer.parseInt(intString);/把字符串转为整型 double value = Double.parseDouble(doubleString);/把字符串转为浮点,使用Math类进行数学运算,e.g.,基本输入输出,命令行输入 命令行输出 对话框输入 消

温馨提示

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

评论

0/150

提交评论