版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2 2章章 基本数据类型基本数据类型 本章导读 1. 1. 标识符和关键字标识符和关键字 2. 2. 数据类型数据类型 3. 3. 基本数据类型的转换基本数据类型的转换 4. 4. 数据的输入与输出数据的输入与输出 2.1 2.1 标识符和关键字标识符和关键字 1标识符定义规则标识符定义规则 由字母、下划线(由字母、下划线(_ _)、美元符号)、美元符号($)($)和数字组和数字组 成成 长度无限制长度无限制 不能是不能是JavaJava中的保留关键字中的保留关键字 不能是不能是truetrue、falsefalse和和nullnull 标识符中的标识符中的 2.1 2.1 标识符和关键字
2、标识符和关键字 v 问题:下列标识符是问题:下列标识符是合法的标识符吗?合法的标识符吗? IdentifierIdentifier classclass userNameuserName 2mail2mail User_NameUser_Name _sys_val_sys_val $change$change $_$_中文中文imeime room# room# 2.1 2.1 标识符和关键字标识符和关键字 1标识符定义规则标识符定义规则 由由字母字母、下划线(、下划线(_ _)、美元符号)、美元符号($)($)和数字组和数字组 成成 长度无限制长度无限制 不能是不能是JavaJava中的保留
3、关键字中的保留关键字 不能是不能是truetrue、falsefalse和和nullnull 标识符中的标识符中的 JavaJava使用使用UnicodeUnicode标准字符集表,可以识别标准字符集表,可以识别6553665536个字符个字符 Java编程规范 v 包名:包名:包名是全小写的名词,中间可以由点分隔开,包名是全小写的名词,中间可以由点分隔开, 例如:例如:java.awt.event; java.io.java.awt.event; java.io.* *; ; com.mycompany.db com.mycompany.db v 类名、接口名:类名、接口名:首字母大写,通常
4、由多个单词合成一个首字母大写,通常由多个单词合成一个 类名,要求每个单词的首字母也要大写,类名,要求每个单词的首字母也要大写, 例如:例如:class HelloWorld; interface ICollectionclass HelloWorld; interface ICollection v 方法名:方法名:往往由多个单词合成,第一个单词通常为动词,往往由多个单词合成,第一个单词通常为动词, 首字母小写,中间的每个单词的首字母都要大写,首字母小写,中间的每个单词的首字母都要大写, 例如:例如:setNamesetName,getUserName;getUserName; Java编程规
5、范 v 变量名:变量名:全小写,一般为名词,例如:全小写,一般为名词,例如:length;length; v 常量名:常量名:基本数据类型的常量名为全大写,如果是由多基本数据类型的常量名为全大写,如果是由多 个单词构成,可以用个单词构成,可以用下划线下划线隔开,例如:隔开,例如:int YEAR, int int YEAR, int WEEK_OF_MONTHWEEK_OF_MONTH。 2. 2. 关键字关键字 v JavaJava中共有中共有5050个保留的关键字个保留的关键字 abstractbooleanbreakbytecasecatch charclassconstcontinue
6、defaultdo doubleelseextendsfinalfinallyfloat forgotoifimplementsimportinstanceof intinterfacelongnativenewpackage privateprotectedpublicreturnshortstatic strictfpsuperswitchsynchronizedthisthrow throwstransienttryvoidvolatilewhile assertenum 2. 2. 关键字关键字 v被赋予特定意义的一些单词,有着不同的用途,不可被赋予特定意义的一些单词,有着不同的用途,
7、不可 以把关键词作为名字来用。以把关键词作为名字来用。 v数据类型说明符与修饰符数据类型说明符与修饰符 abstractabstract, intint, shortshort, bytebyte,booleanboolean, longlong, floatfloat, charchar,doubledouble, classclass, interfaceinterface v访问说明符访问说明符 privateprivate,protectedprotected,publicpublic v语句与标号语句与标号 casecase, switchswitch, break, continu
8、ebreak, continue,defaultdefault, trytry, catchcatch, finallyfinally, throwthrow,throwsthrows, while, dowhile, do, forfor,ifif, returnreturn, elseelse 2. 2. 关键字关键字 v运算符及逻辑值运算符及逻辑值 newnew, instanceofinstanceof, falsefalse, truetrue, lengthlength, nullnull v存储类型说明符存储类型说明符 finalfinal, staticstatic, nati
9、venative, transienttransient, v方法修饰及其它方法修饰及其它 voidvoid, synchronizedsynchronized,importimport,implementsimplements, extendsextends, packagepackage, supersuper,thisthis, v javajava语言中的语言中的保留字均用小写字母表示保留字均用小写字母表示。 变量的声明和赋值变量的声明和赋值 v声明变量的规则声明变量的规则 变量必须有一个变量必须有一个名字名字 变量必须有一个变量必须有一个类型类型 数据类型数据类型 变量名变量名= =
10、数值数值 ; ; 例如:例如: int money=1000;int money=1000; 数据类型数据类型 变量名变量名 ; ; 例如:例如: int money; int money; 变量名变量名= =数值数值 ; ; 例如:例如: money=1000;money=1000; 类型类型 名称名称 2.2 2.2 数据类型数据类型 数据类型 8 种基本数据类型 引用数据类型 整数类型(byte, short int, long) 浮点类型(float, double) 数值型 字符型(char) 布尔型(boolean) 非数值型 类(class) 接口(interface) 数组 2
11、.2 2.2 数据类型数据类型 v基本数据类型基本数据类型 布尔布尔类型类型(LogicalLogical):booleanboolean 整数类型整数类型(IntegerInteger): byte(1byte(1字节字节) )、short(2)short(2)、int(4)int(4)、long(8)long(8) 字符类型字符类型(TextualTextual):charchar 浮点类型浮点类型(FloatingFloating):floatfloat、doubledouble v复合数据类型:复合数据类型:classclass、interfaceinterface、数组、数组、 St
12、ringString 常量和变量常量和变量 v 常量:用保留字常量:用保留字finalfinal来实现来实现 final typeSpecifier final typeSpecifier varName=value,varName=value; varName=value,varName=value; 如:如:final int NUM=100;final int NUM=100; v 变量:是变量:是java java 程序中的基本存储单元,定义包括变量名、程序中的基本存储单元,定义包括变量名、 变量类型和作用域几个部分。变量类型和作用域几个部分。 格式:格式:typeSpecifier
13、typeSpecifier varName=value,varName=valuevarName=value,varName=value如:如:int count; int count; char c=a;char c=a; 变量的作用域:声明一个变量的同时也就指明了变量的变量的作用域:声明一个变量的同时也就指明了变量的 作用域。局部变量、类变量、方法参数和例外处理参数。作用域。局部变量、类变量、方法参数和例外处理参数。 2.2 2.2 基本数据类型基本数据类型 1 1逻辑类型逻辑类型 常量:常量:true true ,falsefalse。 变量的定义:使用关键字变量的定义:使用关键字boo
14、leanboolean来定义逻辑变来定义逻辑变 量,定义时也可以赋给初值。量,定义时也可以赋给初值。boolean boolean x,ok=true;x,ok=true; 注意:不允许数值类型和逻辑类型间互相转换,注意:不允许数值类型和逻辑类型间互相转换, 不能用不能用0 0,1 1代替代替 false, true false, true 2.2 2.2 基本数据类型基本数据类型 2 2整数类型整数类型 常量:常量: 1212,6060(十进制),(十进制),0 077(77(八进制八进制) ),0 x0 x3ABC(3ABC(十六进制十六进制) ), 0b0b00110010 001100
15、10 0B0B00110010 (00110010 (二进制二进制) ) 。 变量的定义分为变量的定义分为4 4种:种: intint、bytebyte、shortshort、longlong 长整形值应该在数字后面跟上长整形值应该在数字后面跟上 l l 或或 LL标示标示 可以在数值类型的变量里添加可以在数值类型的变量里添加下滑线下滑线,多个连续的下划线,多个连续的下划线 与一个下划线等效与一个下划线等效, ,除了以下的几个地方不能添加:除了以下的几个地方不能添加: 数字的开头和结尾数字的开头和结尾 小数点前后小数点前后 F F或者或者L L前前 在需要字符串数字的地方在需要字符串数字的地方
16、 2.2 2.2 基本数据类型基本数据类型 (1 1)int int 型型 关键字关键字intint,定义时也可以赋给初值,例如:,定义时也可以赋给初值,例如:int xint x, 平均平均=9898=9898; 内存分配给内存分配给4 4个字节,占个字节,占3232位。位。 取值范围是:取值范围是: -2-231 312 231 31-1 -1。 (2 2)byte byte 型型 关键字:关键字:byte-byte-字节型字节型 内存分配给内存分配给1 1个字节,占个字节,占8 8位(有符号的)位(有符号的) 取值范围是取值范围是-2-27 72 27 7-1-1。 2.2 2.2 基本
17、数据类型基本数据类型 (3 3)short short 型型 关键字:关键字:shortshort。 内存分配给内存分配给2 2个字节,个字节,shortshort型变量的取值范围是型变量的取值范围是 -2-215 15 2 215 15-1 -1。 (4 4)long long 型型 关键字:关键字:longlong 内存分配给内存分配给8 8个字节,个字节,longlong型变量的取值范围是型变量的取值范围是 -2-263 63 2 263 63-1 -1。 2.2 2.2 基本数据类型基本数据类型 3 3浮点类型:浮点类型: floatfloat、doubledouble (1 1)fl
18、oat float 型型 常量:常量:453.5439453.5439f f,21379.98721379.987F F,2e122e12f f(或(或2e2e1212f f, 表示表示 2 2乘乘1010的的1212次方,科学计数法)次方,科学计数法) 变量:关键字变量:关键字floatfloat。 对于对于floatfloat型变量,内存分配给型变量,内存分配给4 4个字节,其取值范围是个字节,其取值范围是 1010-38 -38 101038 38和 和-10-1038 38 -10-10-38 -38。 。 2.2 2.2 基本数据类型基本数据类型 (2 2)double double
19、 型型 常量:常量:21389.5439d21389.5439d(d d可以省略可以省略),), 23189908.98723189908.987,123.0123.0,6e-146e-14。 变量:关键字变量:关键字doubledouble。 doubledouble型变量,内存分配给型变量,内存分配给8 8个字节,个字节, doubledouble型变量的取值范围大约是型变量的取值范围大约是1010-308 -308 1010308 308 和和-10-10308 308 -10-10-308 -308。 。 v直接在程序中书写的浮点数默认为直接在程序中书写的浮点数默认为 dobuledo
20、bule类型。类型。 v直接表示一个直接表示一个float float 类型的值类型的值必须必须在数字后跟在数字后跟 f f 或或FF v直接表示一个直接表示一个double double 类型的值可以在数字后跟类型的值可以在数字后跟 d d 或或DD v可以用科学计数法表示,如:可以用科学计数法表示,如:123.456123.456e e3 3或或 123.456123.456E E3 3 2.2 2.2 基本数据类型基本数据类型 4 4字符类型字符类型 v常量常量:UnicodeUnicode表中的字符就是一个字符常量,表中的字符就是一个字符常量,必须用必须用 单引号单引号括起来括起来如如
21、AA,?,99,好好, 等。等。 vcharchar型变量,内存分配给型变量,内存分配给2 2个字节,占个字节,占1616位,最高位不位,最高位不 是符号位,没有负数的是符号位,没有负数的charchar v取值范围是取值范围是065535065535 v变量变量:charchar x=A x=A,漂亮,漂亮=假假, jiafei=u263ajiafei=u263a; vuxxxxuxxxx(unicodeunicode转义序列转义序列) :xxxxxxxx是由是由4 4位十六位十六 进制数字组成的序列进制数字组成的序列 v JavaJava中常用的转义字符如表中常用的转义字符如表 转义字符转
22、义字符说说 明明 b 退格符退格符 n 换行符换行符 r 回车符回车符 t 制表符制表符 单引号单引号 双引号双引号 反斜杠反斜杠 2.2 2.2 基本数据类型基本数据类型 v可以把可以把charchar类型数据当作整数数据来操作类型数据当作整数数据来操作 v要观察一个字符在要观察一个字符在unicodeunicode表中的顺序位置,表中的顺序位置, 必须使用必须使用intint类型显式转换,例类型显式转换,例: (int)a。 v下面的下面的例子例子1 1中,分别用显示转换来显示一些中,分别用显示转换来显示一些 字符在字符在UnicodeUnicode表中的位置,以及某些位置上表中的位置,以
23、及某些位置上 的字符。的字符。 问题问题? ? v int int 和和 float float 都占都占4 4个字节,为什么取值范围不同?个字节,为什么取值范围不同? v floatfloat并不是单纯的并不是单纯的101010101010这样存储,是把这样存储,是把4 4个字节划个字节划 分为符号位,指数位,尾数位。分为符号位,指数位,尾数位。3 3个部分固定的,因为个部分固定的,因为 有指数,存储的范围当然比有指数,存储的范围当然比intint大了。大了。 返回 基本数据类型间的转换基本数据类型间的转换 v自动类型转换自动类型转换( (隐含转换隐含转换) ) 容量小的数据类型可以自动转换
24、成容量大的容量小的数据类型可以自动转换成容量大的 数据类型数据类型 byteshortintlongfloatdoublebyteshortintlongfloatdouble v强制类型转换强制类型转换( (显式转换显式转换) ) 容量大的数据类型转换成容量小的数据类型容量大的数据类型转换成容量小的数据类型 时,要加上强制转换符时,要加上强制转换符 显示转换的格式:显示转换的格式: (类型名类型名)要转换的值;)要转换的值; char byte short int double float long v 说明:说明: v 在本图中,顺着箭头方向的类型在本图中,顺着箭头方向的类型 转换可以自动
25、进行转换可以自动进行 逆箭头方向的转换或无箭头类型逆箭头方向的转换或无箭头类型 之间的转换必须强制转换。之间的转换必须强制转换。 1.1. 能将能将A A类型变量自动转换成类型变量自动转换成B B类型类型 变量的前提条件是这种转换不会变量的前提条件是这种转换不会 造成数据和精度的丢失,即造成数据和精度的丢失,即A A类型类型 的取值范围是的取值范围是B B类型的取值范围的类型的取值范围的 子集。子集。 2.3 2.3 基本数据类型的转换基本数据类型的转换 v例如例如 int x=(int)34.89;int x=(int)34.89;输出输出x x将是将是3434,强制,强制 转换运算可能导致
26、精度的损失。转换运算可能导致精度的损失。 v当把一个整数赋值给一个当把一个整数赋值给一个bytebyte、shortshort、intint或或 longlong型变量时,不可以超出这些变量的取值范围,型变量时,不可以超出这些变量的取值范围, 否则必须进行类型转换运算。否则必须进行类型转换运算。 v下面我们看一个下面我们看一个例子例子: 返回 注意注意 v 当一个数字类型用于一个赋值表达式时,而此赋值或表达式当一个数字类型用于一个赋值表达式时,而此赋值或表达式 中涉及到一个有更大范围的类型,那么前者将被提升为更大中涉及到一个有更大范围的类型,那么前者将被提升为更大 的类型。的类型。 int k
27、 = 9.0-2;() int k = (int) (9.0-2); int k = (int)9.0-2; double k = 9.0-2; v 数字值绝对不能赋给一个范围更小的类型,如果要赋值必须数字值绝对不能赋给一个范围更小的类型,如果要赋值必须 作显式强制转换作显式强制转换 v 将浮点数转换为整数总是需要一个显式的强制转换,这是因将浮点数转换为整数总是需要一个显式的强制转换,这是因 为很可能损失精度为很可能损失精度 数据类型的默认值 2.4 2.4 数据的输入与输出数据的输入与输出 vC C语言提供了许多用来输入、输出数据的函数,例语言提供了许多用来输入、输出数据的函数,例 如如pr
28、intf printf 、scanfscanf等。等。JavaJava不象不象C C,提供在命令行,提供在命令行 进行数据输入、输出的功能不多。进行数据输入、输出的功能不多。 vJavaJava在命令行窗口(例如,在命令行窗口(例如,MS-DOSMS-DOS窗口)输出数据。窗口)输出数据。 SunSun公司新推出的公司新推出的SDK1.5SDK1.5又新增了一些在命令行进又新增了一些在命令行进 行数据输入、输出的功能。行数据输入、输出的功能。 1 1数据输出数据输出 2 2数据输入数据输入 2.4 2.4 数据的输入与输出数据的输入与输出 1 1数据输出:数据输出: System.out.pr
29、intlnSystem.out.println; System.out.printf:System.out.printf:完全类似完全类似C C语言中的语言中的printfprintf 函数。函数。 printfprintf的一般格式:的一般格式: printf(printf(格式控制部分,表达式格式控制部分,表达式1 1,表达式表达式n);n); 格式控制部分格式控制部分:%d %c %f %s %md %-md %m.nf:%d %c %f %s %md %-md %m.nf 看一个看一个例子例子 2.4 2.4 数据的输入与输出数据的输入与输出 2 2数据的输入:数据的输入:ScannerScanner Scanner Scanner是是SDK1.5SDK1.5新增的一个类,可以使用该类新增的一个类,可以使用该类 创建一个对象:创建一个对象: Scanner reader=new Scanner(Scanner reader=new
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春人文学院《中国近代政治思想史》2025-2026学年期末试卷
- 运城幼儿师范高等专科学校《人体运动学》2025-2026学年期末试卷
- 长春大学《法律逻辑学补充》2025-2026学年期末试卷
- 阳泉职业技术学院《口腔组织病理学》2025-2026学年期末试卷
- 2024年河中石兽教学课件(16篇)
- 2024年全国中级会计职称之中级会计财务管理考试黑金试卷附答案
- 2024年信息技术20教研研修计划
- 2023年青海省建筑安全员-C证(专职安全员)考试题库
- 天津基础冬季施工方案(3篇)
- 幕墙的实际施工方案(3篇)
- 银行金库人员管理制度
- 中国资源循环集团有限公司招聘考试真题2024
- T-ZNZ 302-2024 绿色食品结球甘蓝生产技术规范
- Unit 6 Earth First Using Language Dealing with Global Warming 说课稿-2024-2025学年高中英语外研版(2019)必修第二册
- 复盘四步法及画布
- 波音公司质量管理综述
- 幼儿园大班成语故事《水中捞月》课件
- 2023年重庆理工大学应届生招聘科研助理考试真题
- (幻灯片)湘教版七年级下册地理复习课件
- 介绍辽宁阜新的PPT模板
- 剑桥少儿英语预备级下册B-Unit16复习进程课件
评论
0/150
提交评论