版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言基础-Java语言词法 第第2章章 Java 语言基础语言基础 Java语言基础-Java语言词法 2.1 Java语言词法语言词法 pUnicode字符集字符集 p标记标记 n关键字关键字 n标识符标识符 n运算符运算符 n分隔符分隔符 n字面常量字面常量 p空白空白 p注释注释 Java语言基础-Java语言词法 2.1.1 关键字关键字 p关关键字是由系统定义的一些词,它们在程序里代表特定的键字是由系统定义的一些词,它们在程序里代表特定的 含义。含义。 Java语言基础-Java语言词法 2.1.2 标识符标识符 p标识符:在程序中给各种程序元素的命名,来标识这些元标识符:在
2、程序中给各种程序元素的命名,来标识这些元 素,如变量、方法、类素,如变量、方法、类 p标识符命名规则:标识符命名规则: n采用基本符号集采用基本符号集Unicode字符集字符集 (1)Java标识符是一个由字母、数字、下划线(标识符是一个由字母、数字、下划线( _ ) 或美元符号(或美元符号($)构成的字符序列,而开头的字符必须)构成的字符序列,而开头的字符必须 是字母、下划线(是字母、下划线( _ )或美元符号()或美元符号($)。)。 (2)Java标识符不能与关键字相同(也不能是标识符不能与关键字相同(也不能是true、 false和和null常量)。常量)。 (3)Java标识符长度没
3、有限制。标识符长度没有限制。 (4)Java标识符区分大小写字母。标识符区分大小写字母。 Java语言基础-Java语言词法 pJava字母字母 (1)方法)方法Character.isJavaIdentifierStart(待测字符待测字符)。 测试是否可以为首字符。测试是否可以为首字符。 (2)方法)方法Character.isJavaIdentifierPart(待测字符待测字符)。 测试是否可以为除首字符以外的其他成分。测试是否可以为除首字符以外的其他成分。 我们国家的汉字也属于我们国家的汉字也属于Java字母范围,可以作为标志符的起始或内部成字母范围,可以作为标志符的起始或内部成 分
4、。分。 p命名建议命名建议 n应有意义应有意义 n中间单词首字母大写中间单词首字母大写 如:如: 下列标识符为合法的标识符:下列标识符为合法的标识符: aaa $abc 年龄年龄 a5 _s a我我 下列标识符为不合法的标识符:下列标识符为不合法的标识符: 5s *$ a-5 Java语言基础-Java语言词法 2.1.3 运算符运算符 p特殊符号,表示运算特殊符号,表示运算 p如:如: * / 等等 Java语言基础-Java语言词法 2.1.4 分隔符分隔符 p特殊符号特殊符号:构造程序结构构造程序结构 p如:如:() ; , . Java语言基础-Java语言词法 2.1.5 字面常量字
5、面常量 p程序中直接出现的数据值。程序中直接出现的数据值。 Java语言基础-Java语言词法 2.1.6 空白符空白符 p特殊符号:分离标记特殊符号:分离标记 p如:空格、水平制表、行结束符等如:空格、水平制表、行结束符等 p多个空白与一个空白作用相同多个空白与一个空白作用相同 Java语言基础-Java语言词法 2.1.7 注释注释 p程序中的说明性文字,程序的非执行部分程序中的说明性文字,程序的非执行部分 p语法意义同空白符语法意义同空白符 注释形式注释形式说明说明 / 单行注单行注 释释 由由/开始到行末的内开始到行末的内 容均为注释,这种容均为注释,这种 形式的注释只能为形式的注释只
6、能为 一行。一行。 /* 这是一这是一 段注释,段注释, 它跨越了它跨越了 多个行多个行 */ /*和和*/之间的所有字之间的所有字 符均为注释,这种符均为注释,这种 形式的注释可以扩形式的注释可以扩 展到多行,但不能展到多行,但不能 嵌套。嵌套。 /* 这也是这也是 多行注多行注 释,释, 但有特殊但有特殊 用途用途 */ /*和和*/之间的所有字之间的所有字 符均为注释,这种符均为注释,这种 形式的注释一般出形式的注释一般出 现在各种声明之前,现在各种声明之前, 作为声明项目的描作为声明项目的描 述。述。JDK的的 javadoc工具能根工具能根 据这种注释信息自据这种注释信息自 动生成帮
7、助文档。动生成帮助文档。 详见附录。详见附录。 Java语言基础-Java语言词法 2.2 基本数据类型基本数据类型 程序是对数据的处理程序是对数据的处理 (1)数据类型确定了此类数据支持的操作。)数据类型确定了此类数据支持的操作。 (2)数据类型确定此类数据在内存中所占的存储空间大小,采取的)数据类型确定此类数据在内存中所占的存储空间大小,采取的 存储形式,支持的取值范围。存储形式,支持的取值范围。 数据类型数据类型 基本类型基本类型 引用类型引用类型 整型整型 布尔型布尔型 字符型字符型 浮点型浮点型 类类 接口接口 数组数组 基本类型基本类型 分类分类 具体的数据类型具体的数据类型 (关
8、键字)(关键字) 整型整型byte、short、int、 long 字符型字符型char 浮点型浮点型double、float 布尔型布尔型boolean Java语言基础-Java语言词法 2.2.1 整型整型 p整型整型byte、short、int、long n有符号整数有符号整数 数据类型数据类型所占位数所占位数取值的范围取值的范围 byte8(1字节)字节)-2727-1128127 short16(2字节)字节)-215215int32(4字节)字节)-231231-1-21474836482147483647 long64(8字节)字节)-263263-1
9、 92233728 92233727 内存表示:二进制补码内存表示:二进制补码 特点:字节数固定,不支持无符号整数类型特点:字节数固定,不支持无符号整数类型 Java语言基础-Java语言词法 2.2.2 浮点型浮点型 p浮点型浮点型float,double n浮点型数据浮点型数据 内存表示:浮点数在机器中的存储格式内存表示:浮点数在机器中的存储格式IEEE754 数据数据 类型类型 所占所占 字节数字节数 取值范围取值范围 (正值的范围)(正值的范围) 有效数字位数有效数字位数 float 单精度单精度 41.40e-45 3.4028235e38(10进制)进制) 0.000002P-12
10、61.fffffeP+127(16进制)进制) 10进制约进制约7位位 (2进制进制23位)位) double 双精度双精度 84.9e-324 1.7976931348623157e308(10进制)进制) 0 x0.01P-1022 0 x1.fffffffffffffP+1023(16进制)进制) 10进制约进制约15位位 (2进制进制52位)位) 由于浮点数在内存中的二进制表示方式,以及浮点型的位数限制问题,由于浮点数在内存中的二进制表示方式,以及浮点型的位数限制问题, 一个一个10进制浮点数有时不能精确表示出来。进制浮点数有时不能精确表示出来。 Java语言基础-Java语言词法 2
11、.2.3 字符型字符型 p字符类型字符类型char nunicode字符集字符集 n内存表示:(内存表示:(2个字节)个字节) Unicode编码编码 n取值范围:(取值范围:(065535个字符)个字符) n与与ASCII码兼容码兼容 Java语言基础-Java语言词法 2.2.4 布尔型布尔型 p布尔型布尔型boolean n内存表示:内存表示:1字节字节 n取值范围:取值范围: p真:真:true p假:假:false Java语言基础-Java语言词法 2.3 常量与变量常量与变量 p程序中,数据的两种表示方法程序中,数据的两种表示方法 n常量常量 n变量变量 Java语言基础-Jav
12、a语言词法 2.3.1 常量常量 p程序运行期间其值保持不变的量程序运行期间其值保持不变的量 n字面常量字面常量 n标识符常量标识符常量 p根据数据类型分根据数据类型分 n整型常量整型常量 n浮点型常量浮点型常量 n布尔型常量布尔型常量 n字符型常量字符型常量 n字符串常量字符串常量 Java语言基础-Java语言词法 p整型常量整型常量 常量表示(三种形式)常量表示(三种形式) 十进制十进制 2 八进制八进制 077 十六进制十六进制 0 xBABE (缺省为(缺省为int类型,后加类型,后加l或或L为为long型)型) p浮点型常量浮点型常量 常量表示(两种形式)常量表示(两种形式) 小数
13、形式小数形式: 123.5, .123, 0.123 由数字和小数点组成,且必须有小数点。由数字和小数点组成,且必须有小数点。 指数形式指数形式: 1.23e3或或123E-3 其中其中e或或E之前必须有数字,且之前必须有数字,且e或或E后面的指数必须为整数。后面的指数必须为整数。 (缺省为(缺省为double,5.0 5.0d 5.0D 加加f或或F为为float 5.0f 5.0F) Java语言基础-Java语言词法 p布尔型常量(布尔型常量(boolean) true false p字符型常量(字符型常量(char) 字符集:字符集:Unicode字符集(字符集(65536个字符)个字
14、符) 字符常量表示(三种表示方式)字符常量表示(三种表示方式) 1)单引号括起单个字符)单引号括起单个字符 : a 2)转义序列)转义序列 单引号括起转义字符单引号括起转义字符 :t (tab键)键) 单引号括起单引号括起8进制转义序列:进制转义序列:ddd (ddd是是13位位8进制数,只能表示进制数,只能表示Unicode码中的码中的0255之间之间 字符)字符) Java语言基础-Java语言词法 转义序列转义序列字符字符字符对应的字符对应的UnicodeUnicode码值(十码值(十 六进制)六进制) b b 退格退格Ox0008 Ox0008 t t 水平制表水平制表Ox0009 O
15、x0009 n n 换行换行Ox000a Ox000a f f 换页换页Ox000cOx000c r r 回车回车Ox000d Ox000d 双引号双引号Ox0022 Ox0022 单引号单引号Ox0027 Ox0027 反斜线反斜线Ox005c Ox005c dddddd 八进制转义序列八进制转义序列 Ox0000 Ox0000 Ox00ffOx00ff 3)单引号括起)单引号括起Unicode码:码:uxxxx (xxxx是是4位位16进制数字,字符的进制数字,字符的Unicode码)码) 必须必须4位位 u0045 E Java语言基础-Java语言词法 p字符串常量(字符串常量(Str
16、ing) pnull常量常量 空引用(引用类型常量)空引用(引用类型常量) 双引号括起的双引号括起的0个或多个字符:个或多个字符:“hello”(在一行内写(在一行内写 完)完) 其中可以包含转义字符其中可以包含转义字符 字符串连接符字符串连接符+ “This is a”+ “two-line string” Java语言基础-Java语言词法 2.3.2变量变量 p用一个标识符表示一个特定类型的值,这个值在程序执行期间可变。用一个标识符表示一个特定类型的值,这个值在程序执行期间可变。 p变量三个要素:变量三个要素: n名字:代表变量在内存中的位置名字:代表变量在内存中的位置 n类型:表示变量
17、在内存中的长度类型:表示变量在内存中的长度 n值:变量在内存中存放的数据(可变)值:变量在内存中存放的数据(可变) pJava中变量遵从先声明后使用原则中变量遵从先声明后使用原则 p变量声明变量声明 n类型类型 变量名变量名1,变量名,变量名2,; p变量使用变量使用 n变量赋值变量赋值 p变量名值;(类型相容的值)变量名值;(类型相容的值) p也可以在说明的同时初始化其值也可以在说明的同时初始化其值 类型类型 变量名变量名1值值1,变量名,变量名2值值2; n使用变量的值使用变量的值 在在Java程序中的变程序中的变 量,在使用之前,量,在使用之前, 需要初始化(赋需要初始化(赋 值)。值)
18、。 任何变量都不能没任何变量都不能没 有初始值(否则无有初始值(否则无 法通过编译)。法通过编译)。 int a,b,c=5; a=3; b=a; Java语言基础-Java语言词法 输出语句介绍(输出语句介绍(1) p字符串常量输出:字符串常量输出: System.out.prinntln(hello world); p基本类型的任何数据(常量、变量)都可以在输出语句中基本类型的任何数据(常量、变量)都可以在输出语句中 直接使用,输出其值。直接使用,输出其值。 public class Test public static void main(String args) int a = 10;
19、 double b = 100.45; boolean c=true; System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(好好); Java语言基础-Java语言词法 2.4 运算符与表达式运算符与表达式 l运算符:运算符: l算术、关系、逻辑、位、赋值、条件运算符。算术、关系、逻辑、位、赋值、条件运算符。 l操作数:参与运算的数据。操作数:参与运算的数据。 l变量、常量、对象、对象方法调用等变量、常量、对象、对象方法调用等 l表达式:表达式: l由运算符和操作数组成由
20、运算符和操作数组成 l对操作数进行运算符指定的操作对操作数进行运算符指定的操作 l并得出一个值(表达式的值)并得出一个值(表达式的值) l定义定义 l常量或变量是表达式常量或变量是表达式 l表达式的值可以作为操作数继续参与运算,形成复杂的表达式表达式的值可以作为操作数继续参与运算,形成复杂的表达式 l小括号括起的表达式仍然是表达式。小括号括起的表达式仍然是表达式。 Java语言基础-Java语言词法 l表达式的运算表达式的运算 l运算符优先级:优先级高的运算符优先执行运算符优先级:优先级高的运算符优先执行 l运算符结合性(同优先级运算符)运算符结合性(同优先级运算符) l左结合:运算顺序为从左
21、向右。左结合:运算顺序为从左向右。 l右结合:运算顺序为从右向左。右结合:运算顺序为从右向左。 l():改变运算顺序,提高子表达式的优先级():改变运算顺序,提高子表达式的优先级 Java语言基础-Java语言词法 2.4.1 运算符运算符 l算术运算符算术运算符 l位运算符位运算符 l赋值运算符赋值运算符 l自加自减运算符自加自减运算符 l关系运算符关系运算符 l逻辑运算符逻辑运算符 l条件运算符条件运算符 Java语言基础-Java语言词法 1 算术运算符算术运算符 l算术运算符算术运算符 单目:单目:+、 双目:、双目:、*、/、% l操作数:数值类型操作数:数值类型 l结果:计算结果(
22、数值结果:计算结果(数值 ) 数值类型:整型、浮点型、字符型数值类型:整型、浮点型、字符型 (1)/:若是两个整数相除,值为整数(小数舍弃):若是两个整数相除,值为整数(小数舍弃) (2):相除取余。也支持浮点数操作。):相除取余。也支持浮点数操作。 (3)浮点数除法和取余运算符会产生精度问题)浮点数除法和取余运算符会产生精度问题 Java语言基础-Java语言词法 2 位运算符位运算符 l位运算符:对数据的二进制位进行操作位运算符:对数据的二进制位进行操作 (位反)(位反) 、 Java语言基础-Java语言词法 二进制形式二进制形式十进制值十进制值 前前16位位后后16位位 a00 0 0
23、 0 0 0 0 0 0 0 0 0 1 0 1 1 022 a31 1 1 11 补符号位补符号位1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1(0 0 1)-3 -2330 0 0 11 补补0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1(0 0 1)536870909 0 x1FFFFFFD :带符号右移(算术右移):按位右移,高位补符号位(:带符号右移(算术右移):按位右移,高位补符号位(/2) :无符号右移(逻辑右移):按位右移,高位补:无符号右移(逻辑右移):按位右移,高位补0 (负数会改变符(负数会改变符 号)号) 移位运算符会约减右侧的操
24、作数,移位运算符会约减右侧的操作数, 若左侧是若左侧是int型,右侧以型,右侧以32取模取模 若左侧是若左侧是long型,右侧以型,右侧以64取模取模 Java语言基础-Java语言词法 3 赋值运算符赋值运算符 l赋值运算符赋值运算符 = l左操作数:变量左操作数:变量 l右操作数:值(表达式)右操作数:值(表达式) l结果:左操作数结果:左操作数 l复合赋值运算符复合赋值运算符 、 d=3.5; int a=5; a+=5; a=a+5; 注:复合赋值运算符右侧为一注:复合赋值运算符右侧为一 个整体个整体 a*20+30 a=a*(20+30) Java语言基础-Java语言词法 4 自加
25、自减运算符自加自减运算符 int i = 5; +i i+ 作为单独的语句,二者效果一样,都是作为单独的语句,二者效果一样,都是 i i 1 作为表达式、语句的一部分有区别:作为表达式、语句的一部分有区别: i:i 值加值加1,再参与运算,再参与运算 i:i 值参与运算,再加值参与运算,再加1 例:例: System.out.print(+i); System.out.print(i+); +i+5 i+5 int a; a=+i; a =i +; l对变量进行加对变量进行加1或减或减1操作操作 l两种使用形式两种使用形式 l前缀形式前缀形式 l后缀形式后缀形式 Java语言基础-Java语言词法 5 关系运算符关系运算符 l关系运算符关系运算符 、=、0) 一个字符变量,若是大写转换为小写,否则不转换。一个字符变量,若是大写转换为小写,否则不转换。 char c=f; c=(c=A) float a=0.5;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省淄博市2023-2024学年高一下学期7月期末考试地理
- 工程索赔的计算
- 语文一轮复习高考三帮全国版试题专题五古代诗歌鉴赏(考题帮语文)
- 江西省部分学校2023-2024学年高一下学期6月期末考试生物
- 小学二年级下册数学奥数知识点讲解第6课《七座桥问题》试题附答案
- 2019-2020学年八年级上学期期末考试常考题汇编(首字母填空)学生版
- 五年级上册体育教案(人教版)
- 住宅装修绿化工程协议
- 婚庆策划居间合同样本
- 4S店装修项目封面样板
- 白酒营销策划方案参考范文二
- 2024-2025学年苏教版小学四年级上学期期中英语试题及解答参考
- 广东省佛山市南海区2024年七年级上学期期中数学试题【附参考答案】
- 供水工程水源部分竣工环保验收监测调查报告
- 道法友谊的真谛课件-2024-2025学年统编版道德与法治七年级上册
- 小红书2024年家装行业月报(9月)
- 生猪屠宰兽医卫生检验人员理论考试题及答案
- 部编版(2024)一年级语文上册《语文园地四》精美课件
- 2024年银行考试-兴业银行笔试参考题库含答案
- 小学各年级“红领巾奖章”获章标准
- 小学智力七巧板低中高各年级比赛试题
评论
0/150
提交评论