JAVA语言的基本语法1.ppt_第1页
JAVA语言的基本语法1.ppt_第2页
JAVA语言的基本语法1.ppt_第3页
JAVA语言的基本语法1.ppt_第4页
JAVA语言的基本语法1.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

Java实用教程 第2章Java语言的基本语法 1 第2章Java开发基础 2 1标识符和关键字2 2常量与变量2 3数据类型2 4运算符2 5字符串2 6数组2 7常用类和方法 2 2 1标识符和关键字 Java语言中的类名 对象名 方法名 常量名和变量名统称为标识符 标识符由程序员定义 可以由字母 数字 下划线 和 符号组成 但是标识符的第一个字符不允许为数字 只允许为字母 下划线 或 符号 在Java语言中还定义了一些专有词汇 统称为关键字 例如public class int等 它们都具有一种特定的含义 只能用于特定的位置 不能作为标识符使用 3 Java关键字 在定义标识符时 不允许定义为表中列出的任一关键字 4 Java标识符命名规则 为了提高程序的可读性 在定义标识符时 要尽量遵循 见其名知其意 的原则 Java标识符的具体命名规则如下 一个标识符可以由几个单词连接而成 以表明它的意思 对于类名 每个单词的首字母都要大写 其他字母则小写 例如RecordInfo 对于方法名和变量名 与类名有些相似 除了第一个单词的首字母小写外 其他单词的首字母都要大写 例如getRecordName 5 Java标识符命名规则 对于常量名 每个单词的每个字母都要大写 如果由多个单词组成 通常情况下单词之间用下划线 分隔 例如MAX VALUE 对于包名 每个单词的每个字母都要小写 例如com frame 注意 Java语言是区分字母大小写的 即Java不等于java 6 2 2常量与变量 常量和变量在程序代码中随处可见 下面就具体讲解常量和变量的概念及使用要点 从而达到区别常量和变量的目的 7 2 2 1常量的概念及使用要点 所谓常量 就是值永远不允许被改变的量 如果要声明一个常量 就必须用关键字final修饰 声明常量的具体方式如下 final常量类型常量标识符 例如 finalintYOUTH AGE 声明一个int型常量finalfloatPIE 声明一个float型常量注意 按照Java命名规则 常量标识符所有的字符都要大写 各个单词之间用下划线 分隔 8 常量 在声明常量时 通常情况下立即为其赋值 即立即对常量进行初始化 声明并初始化常量的具体方式如下 final常量类型常量标识符 常量值 例如 finalintYOUTH AGE 18 声明int型常量 初始化为18finalfloatPIE 3 14F 声明float型常量 初始化为3 14说明 为float型常量赋值时 需要在数值的后面加上一个字母 F 或 f 9 常量 声明多个同一类型的常量 可以采用下面的形式 final常量类型常量1 常量值1 常量2 常量值2 例如 finalintNUM1 14 NUM2 25 NUM3 36 注意 如果在声明常量时已经对其进行了初始化 则常量的值不允许再被修改 10 2 2 2变量的概念及使用要点 所谓变量 就是值可以被改变的量 声明变量的具体方式如下 变量类型变量标识符 例如 注意 定义变量名时 按照Java的命名规则 第一个单词的首字母小写 其他单词的首字母大写 例如 partyMemberAge 举例 1 20之间数据累加求和 定义1个常量和1个变量 Stringname 声明String型变量intpartyMemberAge 声明int型变量 11 2 3数据类型 Java语言中的数据类型划分为两大类 分别是基本数据类型和引用数据类型 其中基本数据类型由Java语言定义 不可以再进行划分 基本数据类型的数据占用内存的大小固定 在内存中存入的是数值本身 引用数据类型在内存中存入的是引用数据的存放地址 并不是数据本身 Java语言中的数据类型分类情况如下图所示 12 数据类型 2 3 2引用数据类型 引用数据类型包括类引用 接口引用以及数组引用 下面的代码分别声明一个java lang Object类的引用 java util List接口的引用和一个int型数组的引用 说明 将引用数据类型的常量或变量初始化为null时 表示引用数据类型的常量或变量不引用任何对象 Objectobject null 声明一个Object类的引用变量Listlist null 声明一个List接口的引用变量int months null 声明一个int型数组的引用变量 14 2 3 3数据类型的转换 当多个不同类型数据进行混合运算时 首先须要转换为统一的数据类型 然后才能运算 1 自动数据类型转换Java语言会自动完成从低级类型向高级类型的转换 计算的结果为表达式中数据类型相对最高的数据类型 2 强制类型转换对于数据类型为byte short int long float和double型的变量 可以将数据类型相对较小的数据或变量 直接赋值给数据类型相对较大的变量 如果需要把数据类型相对较高的数据或变量赋值给数据类型相对较低的变量 就必须进行强制类型转换 注意 强制类型转换可能导致数据溢出或精度降低 Stringstr Iamacollegestudent Stringstr2 str 20 Byteb 10 floatx b charc a inti 100 inty c i Longl 888Ldoublez x y floatf 0 5fb byte i doubled 1 234 i int d 2 4运算符 Java语言中的运算符主要包括 赋值运算符 算术运算符 关系运算符 区别 逻辑运算符 位运算符 18 2 4 6对象运算符 instanceof 对象运算符用来判断对象是否为某一类型 运算结果为boolean型 如果是则返回true 否则返回false 对象运算符的关键字为 instanceof 它的用法为 对象标识符instanceof类型标识符例如 java util Datedate newjava util Date System out println dateinstanceofjava util Date System out println dateinstanceofjava sql Date 19 2 4 7其他运算符 20 2 4 8运算符优先级及结合性 参照PP40表3 4 2 5字符串 在Java语言中 提供了一个专门用来操作字符串的类java lang String 在本节将学习该类的使用方法 22 2 5 1创建字符串对象 声明并初始化字符串的常用语法如下 在初始化字符串对象时 可以将字符串对象初始化为空值 也可以初始化为具体的字符串 例如下面的代码 String字符串变量 字符串 StringaStr null 初始化为空值StringbStr 初始化为空字符串StringcStr 初始化为 2 5 2连接字符串 连接字符串可以通过运算符 实现 与算术运算中的意义是不同的 这里的 符号意思是将多个字符串合并到一起生成一个新的字符串 对于 运算符 如果有一个操作元为String类型 则为字符串连接运算符 将生成新的字符串 Stringlove 耐心 真心 StringaStr 单价 5元 单价 5元 StringbStr 15 15 1515 24 2 5 3字符串操作 在使用字符串时 经常需要对字符串进行处理 以满足一定的要求 常用的字符串操作包括 比较字符串获取字符串的长度字符串的大小写转换查找字符串截取子字符串去掉字符串的首尾空格替换字符串中的字符或子串分割字符串 25 比较字符串 String类定义了几个用于比较字符串的方法 这些方法包括 equals 方法equalsIgnoreCase 方法startsWith 方法和endsWith 方法compareTo 方法 26 比较字符串equals 方法 由于字符串是对象类型 所以不能简单地用 双等号 判断两个字符串是否相等 所以String类定义了equals 方法用于比较两个字符串是否相等 equals 方法的定义如下 str参数是要比较的字符串对象 该方法的返回值为boolean型 publicbooleanequals Stringstr 28 例如比较字符串 A 和字符串 a 是否相等 注意 equals 方法在比较两个字符串时区分字母大小写 Stringstr A booleanb str equals a 比较结果b为false Stringstr1 hello Stringstr2 hello Stringstr3 newString hello Stringstr4 newString hello System out println str1 str2 System out println str2 str3 System out println str3 str4 System out println str3 equals str4 比较字符串equalsIgnoreCase 方法 这个方法也用来比较两个字符串 不过它与equals 方法是有区别的 equalsIgnoreCase 方法在比较两个字符串时不区分大小写 该方法的定义如下 下面用equalsIgnoreCase 方法比较字符串 A 和字符串 a 是否相等 注意 equalsIgnoreCase 方法不区分字母大小写 publicbooleanequalsIgnoreCase Stringstr Stringstr A booleanb str equalsIgnoreCase a 30 比较字符串startsWith 和endsWith 方法 这两方法分别用于判断字符串是否以指定的字符串开始或结束 它们的定义如下 参数prefix和suffix为欲比较的字符串对象 该方法的返回值为boolean型 publicbooleanstartsWith Stringprefix publicbooleanendsWith Stringsuffix 31 例如分别判断字符串 ABCDE 是否以字符串 a 开始以及以字符串 DE 结束 32 Stringstr ABCDE booleanbs str startsWith a booleanbe str endsWith DE startsWith 还有一个重载方法 可以指定索引位置开始是否为指定的字符串 重载方法定义如下 方法的第二个参数toffset是比较字符串的索引位置 例如下面的代码判断字符串 ABCDE 从索引位置2开始是否为字符串 CD 上面代码的判断结果为true 即字符串 ABCDE 从索引位置2开始是字符串 CD publicbooleanstartsWith Stringprefix inttoffset Stringstr ABCDE booleanb str startsWith CD 2 获取字符串的长度 字符串是一个对象 在这个对象中包含length属性 它是该字符串的长度 使用String类中的length 方法可以获取该属性值 例如获取字符串 MingRiSoft 长度的代码如下 StringnameStr MingRiSoft inti nameStr length 获得字符串的长度为10 34 字符串的大小写转换 在String类中提供了两个用来实现字母大小写转换的方法toLowerCase 和toUpperCase 它们的返回值均为转换后的字符串 其中方法toLowerCase 用来将字符串中的所有大写字母改为小写字母 方法toUpperCase 用来将字符串中的小写字母改为大写字母 字符串 AbCDefGh 分别转换为大写和小写 Stringstr AbCDefGh StringlStr str toLowerCase 结果为 abcdefgh StringuStr str toUpperCase 结果为 ABCDEFGH 35 查找字符串 String类提供了两种查找字符串的方法 它们允许在字符串中搜索指定的字符或字符串 其中indexOf 方法用于搜索字符或字符串首次出现的位置 lastIndexOf 方法用于搜索字符或字符串最后一次出现的位置 这两种方法均有多个重载方法 它们的返回值均为字符或字符串被发现的索引位置 如果未搜索到字符串则返回 1 下面将介绍这些重载的方法 36 查找字符串 indexOf intch 获取指定字符在原字符串中第一次出现的索引 lastIndexOf intch 获取指定字符在原字符串中最后一次出现的索引 indexOf Stringstr 获取指定字符串在原字符串中第一次出现的索引 lastIndexOf Stringstr 获取指定字符在原字符串中最后一次出现的索引 37 indexOf intch intstartIndex 用于获取指定字符在原字符串中指定索引位置开始第一次出现的索引 lastIndexOf intch intstartIndex 用于获取指定字符在原字符串中指定索引位置开始最后一次出现的索引 反向搜 indexOf Stringstr intstartIndex 用于获取指定字符串在原字符串中指定索引位置开始第一次出现的索引 lastIndexOf Stringstr intstartIndex 用于获取指定字符在原字符串中指定索引位置开始最后一次出现的索引 查找字符串 Stringstr mingrikeji inti str indexOf i System out println 字符i第一次出现在索引 i 索引值是1i str lastIndexOf i System out println 字符i最后一次出现在索引 i 索引值是9i str lastIndexOf ri System out println 字符串ing第一次出现在索引 i 索引值是4i str lastIndexOf ri System out println 字符串ing最后一次出现在索引 i 索引值是4i str lastIndexOf i 4 System out println 从第5个字符开始 字符i第一次出现在索引 i 索引值是1 截取子字符串 通过String类的substring 方法 可以从现有字符串中截取子字符串 有两个重载方法 具体定义如下 方法substring intbeginIndex 用来截取从指定索引位置到最后的子字符串 截取得到的字符串包含指定索引位置的字符 publicStringsubstring intbeginIndex publicStringsubstring intbeginIndex intendIndex 截取子字符串 例如下面的代码截取字符串 ABCDEF 从索引位置3到最后得到的子串为 DEF 在子串 DEF 中包含字符串 ABCDEF 中索引为3的字符D Stringstr ABCDEF System out println str substring 3 截取得到的子串为 DEF 41 截取子字符串 方法substring intbeginIndex intendIndex 用来截取从起始索引位置beginIndex到终止索引位置endIndex的子字符串 截取得到的字符串包含起始索引位置beginIndex对应的字符 但是不包含终止索引位置endIndex对应的字符 例如下面的代码截取字符串 ABCDEF 从起始索引位置2到终止索引位置4得到的子串为 CD 在子串 CD 中包含字符串 ABCDEF 中索引为2的字符C 但是不包含字符串 ABCDEF 中索引为4的字符E Stringstr ABCDEF System out println str substring 2 4 42 去掉字符串的首尾空格 通过String类的trim 方法 可以通过去掉字符串的首尾空格得到一个新的字符串 该方法的具体定义如下 publicStringtrim 43 例如通过去掉字符串 ABC 中的首尾空格将得到一个新的字符串 ABC 例如下面的代码分别输出字符串的长度为5和3 44 Stringstr ABC 定义一个字符串 首尾均有空格System out println str length 输出字符串的长度为5Stringstr2 str trim 去掉字符串的首尾空格System out println str2 length 输出字符串的长度为3 替换字符串中的字符或子串 通过String类的replace 方法 可以将原字符串中的某个字符替换为指定的字符 并得到一个新的字符串 该方法的具体定义如下 例如将字符串 NBA NBA NBA 中的字符 N 替换为字符 M 将得到一个新的字符串 MBA MBA MBA 具体代码如下 publicStringreplace charoldChar charnewChar Stringstr NBA NBA NBA System out println str replace N M 输出 MBA MBA MBA 45 替换字符串中的字符或子串 如果想替换掉原字符串中的指定子串 可以通过String类的replaceAll 方法 该方法的具体定义如下 例如将字符串 NBA NBA NBA 中的子串 NB 替换为字符串 AA 将得到一个新的字符串 AAA AAA AAA 具体代码如下 publicStringreplaceAll Stringregex Stringreplacement Stringstr NBA NBA NBA System out println str replaceAll NB AA 输出的新字符串为 AAA AAA AAA 46 替换字符串中的字符或子串 如果只需要替换原字符串中的第一个子串 可以通过String类的replaceFirst 方法 该方法的具体定义如下 例如将字符串 NBA NBA NBA 中的第一个子串 NB 替换为字符串 AA 将得到一个新的字符串 AAA NBA NBA 具体代码如下 publicStringreplaceFirst Stringregex Stringreplacement Stringstr NBA NBA NBA System out println str replaceFirst NB AA 输出的新字符串为AAA NBA NBA 47 分割字符串 在String类中提供了两个重载的split 方法 用来将字符串按照指定的规则进行分割 并以String型数组的方式返回 分割得到的子串在数组中的顺序按照它们在字符串中的顺序排列 方法的具体定义如下 publicString split Stringregex intlimit 48 分割字符串举例 Stringstr javasplitdemohelloworld String space str split for inti 0 i space length i System out println space i 2 6数组 数组是一种最为常见的数据结构 通过数组可以保存一组相同数据类型的数据 数组一旦创建 它的长度就固定了 数组的类型可以为基本数据类型 也可以为引用数据类型 可以是一维数据 二维数据 甚至是多维数据 50 2 6 1一维数组 声明一维数组的方式如下 这两种声明数组格式的作用是相同的 创建数组实质上就是在内存中为数组分配相应的存储空间 有两种方式可以创建数组 一种是通过new关键字创建 另一种是通过 创建 例如 数组类型 数组标识符 数组类型数组标识符 int months newint 12 months的长度为12boolean members false true true false members的长度为4 51 一维数组 在访问数组中的元素时 需要同时指定数组标识符和元素在数组中的索引 例如访问上面代码中创建的数组 输出索引位置为2的元素 具体代码如下 执行这段代码 输出的内容为 0 和 true 在通过new关键字创建数组时 得到的数组并没有被初始化 int型数组默认数组元素均为0 而通过 创建数组的同时就初始化了数组 System out println months 2 System out println members 2 52 一维数组 如果需要为数组中的某个元素赋值 方式如下 如果需要获得一维数组的长度 可以通过下面的方式 months 2 68 members 2 false System out println months length 输出值为12System out println members length 输出值为4 53 2 6 2二维数组 Java语言中的二维数组是一种特殊的一维数组 即数组的每个元素又是一个一维数组 Java语言并不直接支持二维数组 声明二维数组的方式如下 例如分别声明一个int型和boolean型二维数组 具体代码如下 数组类型 数组标识符 或数组类型数组标识符 int days booleanholidays 54 二维数组 创建数组实质上就是在内存中为数组分配相应的存储空间 有两种方式可以创建数组 一种是通过new关键字创建 另一种是通过 创建 例如 int days newint 2 3 booleanholidays true false true false true false 55 56 二维数组可以看做一个表格 数组days看成一个2行3列的表格 数组holidays看成2行3列的表格 二维数组 在访问数组中的元素时 需要同时指定数组标识符和元素在数组中的索引 例如访问上面代码中创建的数组 具体代码如下 System out println days 1 2 System out println holidays 1 2 57 58 如果是通过下面的方式获得二维数组的长度 得到的是二维数组的行数 如果需要获得二维数组的列数 可以通过下面的方

温馨提示

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

最新文档

评论

0/150

提交评论